Softeam’s testing process: a story Cyril Ballagny, SOFTEAM | ModelioSoft The 13th CREST Open Workshop London, England 13th of May 2011 www.modeliosoft.com Introduction to Softeam A French SME (about 230 people) More than 20 years of expertise in OO development and Modeling Consulting, Training, Engineering activities Software Publishing: Modelio and Objecteering Strong R&D efforts since its creation – Innovator since 1989 (Modeling, MDA, UML) – Heavily involved in R&D cooperative projects (FITTEST, MADES, ENOSYS…) – Participates in the OMG standardization efforts since 1996 (UML profiles, SOAML, SysML…) www.modeliosoft.com 2 Introduction to Modelio A CASE tool For UML modeling For MDA application For Code generation (Java, C#, C++…) For documentation generation (HTML, word…) For team work and project sharing And much more (BPMN, SysML, SOAML…)! www.modeliosoft.com 3 Modelio development process Agile development with bootstrapping and continuous integration 20 people involved 1 million LOC (C++/Java) A new release every 6 months www.modeliosoft.com 4 Modelio testing process (1) Code quality management with Sonar: about 500 coding rules Continuous integration with Hudson: report broken build (inconsistent API, missing source in the repository…) Bug tracking with Mantis: everyone from the team can report bugs Specification of test plans with Test Link (natural language): about 2000 procedures Bootstrapping: Modelio is validated by developers www.modeliosoft.com 5 Modelio testing process (2) A test case is either A Mantis bug (bug 2123, bug 9478…) A menu item (create, delete, mask…) A diagram artifact (state, region, activity…) Most test cases are UI-based and derived from general scenarios (e.g. apply command “xxx” to element in {a,b,c…} ) Test case execution is externalized to Eastern Europe www.modeliosoft.com 6 Our issues Specification often changes Writing operational test specification is too time consuming compared with natural language specification Test code must be tested too Mix of languages (C++/Java/Jython) No tools for testing HMI combining Java and C++ www.modeliosoft.com 7 Our expectations (1) Reduce over-testing Detect overlapping sections of test cases Recombine sections to constitute smaller test cases with greater coverage Apply regression tests only on parts of the system that have changed Reduce under-testing Detect system parts that are not covered by the test cases Detect sequences of interactions allowed by the GUI that have not been tested www.modeliosoft.com 8 Our expectations (2) Reduce Time-To-Market Generate test cases instead of specifying them Prioritize: Identify the most used features Identify the most frequent bugs www.modeliosoft.com 9 To sum up We would like a scalable and pragmatic approach whose ROI has been demonstrated www.modeliosoft.com 10 Thank you for your attention! Andrey Sadovykh SOFTEAM | ModelioSoft andrey.sadovykh@softeam.fr SOFTEAM R&D Web Site: http://rd.softeam.com ModelioSoft Web Site: http://www.modeliosoft.com www.modeliosoft.com 11 M o d e l i n g s o l u t i o n s.