Delta-oriented model-based integration testing of large-scale systems

Software architecture specifications are of growing importance for coping with the complexity of large-scale systems. They provide an abstract view on the high-level structural system entities together with their explicit dependencies and build the basis for ensuring behavioral conformance of component implementations and interactions, e.g., using model-based integration testing. The increasing inherent diversity of such large-scale variant-rich systems further complicates quality assurance. In this article, we present a combination of architecture-driven model-based testing principles and regression-inspired testing strategies for efficient, yet comprehensive variability-aware conformance testing of variant-rich systems. We propose an integrated delta-oriented architectural test modeling and testing approach for component as well as integration testing that allows the generation and reuse of test artifacts among different system variants. Furthermore, an automated derivation of retesting obligations based on accurate delta-oriented architectural change impact analysis is provided. Based on a formal conceptual framework that guarantees stable test coverage for every system variant, we present a sample implementation of our approach and an evaluation of the validity and efficiency by means of a case study from the automotive domain.

[1]  Debra J. Richardson,et al.  A model-based regression test selection technique , 2009, 2009 IEEE International Conference on Software Maintenance.

[2]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[3]  Joseph Robert Horgan,et al.  Incremental regression testing , 1993, 1993 Conference on Software Maintenance.

[4]  Klaus Pohl,et al.  Model-Based System Testing of Software Product Families , 2005, CAiSE.

[5]  Andy Schürr,et al.  A Survey of Model-Based Software Product Lines Testing , 2011, Model-Based Testing for Embedded Systems.

[6]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[7]  Erika Mir Olimpiew,et al.  Model-Based Testing for Software Product Lines , 2008 .

[8]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).

[9]  Lionel C. Briand,et al.  Combining UML Sequence and State Machine Diagrams for Data-Flow Based Integration Testing , 2012, ECMFA.

[10]  Malte Lochau,et al.  Conditioned model slicing of feature-annotated state machines , 2012, FOSD '12.

[11]  Henry Muccini,et al.  Towards software architecture-based regression testing , 2005, ACM SIGSOFT Softw. Eng. Notes.

[12]  Henry Muccini,et al.  Towards Testing Product Line Architectures , 2003, TACoS.

[13]  Rob C. van Ommering Software Reuse in Product Populations , 2005, IEEE Trans. Software Eng..

[14]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[15]  Bernhard Rumpe,et al.  First-class variability modeling in Matlab/Simulink , 2013, VaMoS.

[16]  Vladimir Tosic,et al.  Guidelines for industrially-based multiple case studies in software engineering , 2009, 2009 Third International Conference on Research Challenges in Information Science.

[17]  Malte Lochau,et al.  Feature Interaction Aware Test Case Generation for Embedded Control Systems , 2010, Electron. Notes Theor. Comput. Sci..

[18]  Henry Muccini,et al.  Software architecture-based regression testing , 2006, J. Syst. Softw..

[19]  Bernhard Rumpe,et al.  Delta Modeling for Software Architectures , 2014, MBEES.

[20]  Lionel C. Briand,et al.  Automating regression test selection based on UML designs , 2009, Inf. Softw. Technol..

[21]  Bernhard Rumpe,et al.  Hierarchical Variability Modeling for Software Architectures , 2011, 2011 15th International Software Product Line Conference.

[22]  Henry Muccini,et al.  Formal Methods in Testing Software Architectures , 2003, SFM.

[23]  Malte Lochau,et al.  A Comprehensive Description of a Model-based, Continuous Development Process for AUTOSAR Systems with Integrated Quality Assurance , 2009 .

[24]  Bernhard Rumpe,et al.  Delta-oriented architectural variability using MontiCore , 2011, ECSA '11.

[25]  Malte Lochau,et al.  Delta-oriented model-based SPL regression testing , 2012, 2012 Third International Workshop on Product LinE Approaches in Software Engineering (PLEASE).

[26]  Christoph Treude,et al.  Difference computation of large models , 2007, ESEC-FSE '07.

[27]  Ina Schaefer,et al.  Compositional type-checking for delta-oriented programming , 2011, AOSD '11.

[28]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[29]  Mario Piattini,et al.  Software Product Line Testing - A Systematic Review , 2009, ICSOFT.

[30]  Andy Schürr,et al.  Model-based coverage-driven test suite generation for software product lines , 2011, MODELS'11.

[31]  Rocco De Nicola,et al.  Extensional equivalences for transition systems , 1987, Acta Informatica.

[32]  Per Runeson,et al.  Empirical evaluations of regression test selection techniques: a systematic review , 2008, ESEM '08.

[33]  Malte Lochau,et al.  Incremental Model-Based Testing of Delta-Oriented Software Product Lines , 2012, TAP@TOOLS.

[34]  Gordon Fraser,et al.  Testing with model checkers: a survey , 2009 .

[35]  Malte Lochau,et al.  Delta-oriented Software Product Line Test Models - The Body Comfort System Case Study , 2013 .

[36]  Anca Muscholl,et al.  Message sequence charts: a survey , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[37]  Michiel Helvensteijn,et al.  Abstract delta modeling , 2010, GPCE '10.

[38]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[39]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[40]  Juha Taina,et al.  Product family testing: a survey , 2004, SOEN.

[41]  Jacques Klein,et al.  Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[42]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[43]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[44]  Lidia Fuentes,et al.  Language Support for Managing Variability in Architectural Models , 2008, SC@ETAPS.

[45]  André van der Hoek,et al.  Modeling Product Line Architectures through Change Sets and Relationships , 2007, 29th International Conference on Software Engineering (ICSE'07).

[46]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.

[47]  Goetz Botterweck,et al.  Software diversity: state of the art and perspectives , 2012, International Journal on Software Tools for Technology Transfer.

[48]  Zafar I. Malik,et al.  A Model-Based Regression Testing Approach for Evolving Software Systems with Flexible Tool Support , 2010, 2010 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems.

[49]  Silvio Romero de Lemos Meira,et al.  A Regression Testing Approach for Software Product Lines Architectures , 2010, 2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse.

[50]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[51]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007 .

[52]  Sebastian Oster,et al.  Automated Incremental Pairwise Testing of Software Product Lines , 2010, SPLC.

[53]  Malte Lochau,et al.  MoSo-PoLiTe: tool support for pairwise and model-based software product line testing , 2011, VaMoS '11.

[54]  Mary Jean Harrold Architecture-Based Regression Testing of Evolving Systems , 1998 .

[55]  John D. McGregor,et al.  A systematic mapping study of software product lines testing , 2011, Inf. Softw. Technol..

[56]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[57]  Henry Muccini,et al.  Deriving test plans from architectural descriptions , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[58]  Malte Lochau,et al.  Pairwise feature-interaction testing for SPLs: potentials and limitations , 2011, SPLC '11.

[59]  Udo Kelter,et al.  Comparing state machines , 2008, CVSM '08.

[60]  Andy Schürr,et al.  Model-based pairwise testing for feature interaction coverage in software product line engineering , 2011, Software Quality Journal.

[61]  Rajiv Gupta,et al.  An approach to regression testing using slicing , 1992, Proceedings Conference on Software Maintenance 1992.

[62]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[63]  Jennifer Pérez,et al.  Plastic Partial Components: A solution to support variability in architectural components , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.