IBM Software Group Tech Day IBM 28 août 2009 RAT06P4 Test de Modèle avec Rhapsody Animator, Webify, Panel Diagram, Test Conductor, Automatic Test Generator Philippe Leblanc, IT Specialist, philippe.leblanc@fr.ibm.com 2009 IBM Corporation
Disclaimer Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 2
Les développeurs ne devraient faire que du développement 80% des coûts de développement sont passés à détecter les anomalies et les corriger Induced Errors Costs of Design Change Time Requirements Design Implementation Test $80/defect During the requirements phase $240/defect During the design & construction phase $960/defect During the QA/Testing phase $7,600/defect Once released as a product Source: 2008 GBS Industry standard study Defect cost derived in assuming it takes 8 hrs to find, fix and repair a defect when found in code and unit test. Defect FFR cost for other phases calculated by using the multiplier on a blended rate of $80/hr 3
Fonctions principales de Rhapsody Graphical Modeling with UML & SysML Team Collaboration and Support of Processes Adaptation to Domain- Specific Modeling Languages Code Generation and Deployment Model Testing: Interactive GUI and Automation 4
Le Workflow de Test dans une Approche MDD avec les Outils de Rhapsody ❶ Mise au point des Modèles UML ❸ Exécution des Tests Test sur Hôte Programmes de test Modèle applicatif et modèle de test Scénarios de test Développement des Tests ❷ Scénarios auto-générés Test sur Cible Analyse de couverture 5
Phase ❶: Mise au point du modèle par animation Avoid errors and help reduce development cost Enhanced communication of intended behavior to customer 6
Phase : Maquettage avec Webify ❶ Web-based collaborative debugging Rapid prototyping 7
Phase ❶: Mise au point avec des Panel Diagrams 8
❷ Phase : Développement des Tests avec UML Testing Profile Le plan de test est un modèle développé en utilisant le UML Testing Profile (UML-TP) Profil standardisé par l OMG sur UML 2 Permet de décrire complètement un plan de test Architecture du banc de test Scénarios de test Résultats attendus Il peut être développé à partir du modèle de conception Réutilisation de nombreux éléments de conception Test Conductor automatise cette partie 9
Phase : Description de l architecture de test ❷ UML 2 Testing Profile Create a Test Architecture Manually Automatic 10
Phase : Description des jeux de test ❷ UML 2 Testing Profile Create a Test Architecture Manually Automatic Create Test Cases Test Cases can be written: Via Sequence Diagrams 11
Phase : Description des jeux de test ❷ UML 2 Testing Profile Create a Test Architecture Manually Automatic Create Test Cases Test Cases can be written: Via Sequence Diagrams Via Flow Charts [i1==1] i1=this->itscashregister.isnomoreproducts(); this->itscashregister.addproduct( new Product(1234,"apple",100)); [else] RTC_ASSERT_NAME("check_ 2.1, Initialization failed", 0); i2=this->itscashregister.isnomoreproducts(); RTC_ASSERT_NAME("check_2.2, Product succesfully added", i2==0); 12
Phase : Description des jeux de test ❷ UML 2 Testing Profile Create a Test Architecture Manually Automatic Create Test Cases Test Cases can be written: Via Sequence Diagrams Via Flow Charts Manually via code 13
❷ Phase : Enrichissement du plan de test avec ATG ATG (Automatic Test Generation) offers Model-Driven Test Generation Generates test cases with high coverage of the model Covers states, transitions, operations, generation of events Covers all relevant combinations of inputs for MC/DC analysis Model and MC/DC coverage Required for DO178B/ED12B Identifies cases for potentially dead portions of the model Consistent with the UML Testing profile Test Cases can be exported as sequence diagrams to Test Conductor and also exported in XML 14
❷ Phase - ATG : Critères de test et d arrêt Model element coverage activate statechart states fire statechart transitions Generate events Call operations Model code coverage MC/DC coverage of model code in primitive operations, statecharts, activity diagrams, flowcharts ATG termination criteria All test generation coverage goals have been fulfilled and test vectors are generated 15
❷ Phase - ATG : Cas d utilisation Run ATG and discover design flaws. Find undesired and unexpected scenarios as well as unreachable situations which should be reachable Testing requirements with ATG generated test cases. Run ATG and generate test cases, manually review and refine the test cases and link them to requirements. Use these test cases to test your requirements later on Regression testing. Run ATG and generate test cases with high model coverage. The test cases can be used to perform regression testing when ever you modify your model. Even if the test cases are not completely linked to requirements "Golden Device" model. Some OEMs develop Rhapsody models as a Golden Device" (executable specification), and then give it to suppliers. The suppliers develop the SW, while the OEM just develops the golden device. The OEM can run ATG on the golden device and generate test cases. The SW from the supplier must be conform with the test cases. 16
❸ IBM Software Group Rational software Phase : Exécution des Tests face au Modèle de Conception Les tests développés en UML-TP (phase 2) sont exécutés face au modèle En interactif avec le simulateur donnant une vision Boîte-blanche 17
❸ IBM Software Group Rational software Phase : Exécution des Tests face au Modèle de Conception Les tests développés en UML-TP (phase 2) sont exécutés face au modèle En batch dans une vision Boîte-noire Automatisation des tests de non-régression 18
Phase : Exécution des Tests sur cible ❸ Test Conductor ne permet pas d exécuter les tests sur la cible Solution Transformer les jeux de test du modèle de test en code exécutable sur la cible Le connecter au code généré à partir du modèle pour la cible Autre solution dans le cas de l usage d un testeur Transformer les jeux de test du modèle de test en code exécutable sur la cible 19
Conclusion Utilisation d outils de test complémentaires IBM propose une famille d outils pour le MDD et le test de modèle Avec l outil de modélisation Telelogic Rhapsody, vous pouvez construire des modèles de conception suffisamment détaillés pour pouvoir être exécutés et évalués par rapport à un comportement attendu Avec les outils Rhapsody Test Conductor et Automatic Test Generator, vous allez pouvoir construire des plans de test et les exécuter face aux modèles de conception Avec les outils Rational Test RealTime et Telelogic Logiscope, vous pouvez faire de l analyse statique pour valider le code par rapport à des bonnes pratiques de codage et de l analyse dynamique pour la couverture structurelle de test, la détection de fuite mémoire ou l évaluation de performances Rational Test RealTime est en plus capable d exécuter les tests sur cible 20
Conclusion Utilisation d un outil de Gestion des exigences Réinjection des campagnes de non-régression dans la base des exigences Connaissance précise et toujours à jour de l état des livraisons Facilite l analyse d impact de changement Represents the textual requirements Results of pass/fail can be synchronized with RM tool Pass/Fail results will be linked back to the scenario (requirement) Traceability of results to tests maintained in Telelogic Rhapsody 21
http://www.ibm.com/fr/events/rsc/ 22