Exploring together software architecture and software testing: A systematic mapping

Context: Software architecture and software testing have widely contributed to improve the quality of software systems, but they have been sometimes investigated in separated ways. Besides, there is a lack of work that presents an overview on how they can be combined to promote the advantages of each other. Objective: The main contribution of this paper is to characterize the state of the art on how software architecture and software testing have been explored in a complementary way. Method: For this, we conducted a systematic mapping. Results: We identified 27 studies. All of these studies have explored the use of information related to software architecture to support the testing activity. The identified approaches have covered the integration, unit, and regression phases. Moreover, functional and structural techniques were also considered. Conclusion: We observe that there is still a range of open research topics to be explored, in particular, development of new supporting tools also applied in the software industry, what could result in high-quality software systems.

[1]  Henry Muccini Using Model Differencing for Architecture-level Regression Testing , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[2]  Xuemei Ding,et al.  Analyzing Relation between Software Architecture Testing Criteria on Test Sequences , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

[3]  Alexander L. Wolf,et al.  Software testing at the architectural level , 1996, ISAW '96.

[4]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[5]  Michal Young Testing Complex Architectural Conformance Relations , 1998 .

[6]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[7]  Flávio Oquendo,et al.  RAModel: A Reference Model for Reference Architectures , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[8]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  A. Jefferson Offutt,et al.  Deriving tests from software architectures , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[10]  Yang Liu,et al.  Design and Implementation of Automatic Generation of Test Cases Based on Model Driven Architecture , 2010, 2010 Second International Conference on Information Technology and Computer Science.

[11]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[12]  Paul A. Strooper,et al.  Automated Generation of Test Cases Using Model-Driven Architecture , 2007, Second International Workshop on Automation of Software Test (AST '07).

[13]  Malte Lochau,et al.  Delta-oriented model-based integration testing of large-scale systems , 2014, J. Syst. Softw..

[14]  Henry Muccini,et al.  Software architecture-based analysis and testing: a look into achievements and future challenges , 2013, Computing.

[15]  Wu Hao,et al.  Design of a highly adaptive auto-test software platform based on common data interface , 2011, 2011 6th IEEE Conference on Industrial Electronics and Applications.

[16]  Paola Inverardi,et al.  Architecture-based software testing , 1996, ISAW '96.

[17]  Douglas P. Bogia,et al.  Continua Health Alliance and Associated Standards , 2008 .

[18]  Fuqing Wang,et al.  An Automatic Generation Method of Executable Test Case Using Model-Driven Architecture , 2009, 2009 Fourth International Conference on Innovative Computing, Information and Control (ICICIC).

[19]  Wei-Ming Ma,et al.  Architecture Centric Approach to Enhance Software Testing Management , 2008, 2008 Eighth International Conference on Intelligent Systems Design and Applications.

[20]  Hassan Reza,et al.  A method to test concurrent systems using architectural specification , 2006, The Journal of Supercomputing.

[21]  Cecília M. F. Rubira,et al.  Architecting Fault Tolerance with Exception Handling: Verification and Validation , 2009, Journal of Computer Science and Technology.

[22]  Henry Muccini,et al.  Systematic Testing of Software Architectures in the C2 Style , 2004, FASE.

[23]  Paul Pettersson,et al.  A Model-Based Testing Framework for Automotive Embedded Systems , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[24]  David S. Rosenblum Challenges in Exploiting Architectural Models for Software Testing , 1998 .

[25]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[26]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[27]  .. V. Heescha,et al.  A documentation framework for architecture decisions , 2011 .

[28]  Wei-Tek Tsai,et al.  Testability of Software in Service-Oriented Architecture , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[29]  Zhichang Qi,et al.  A Method to Generate Embedded Real-Time System Test Suites Based on Software Architecture Specifications , 2008, 2008 The 9th International Conference for Young Computer Scientists.

[30]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[31]  Antonio Bucchiarone,et al.  An Architecture-Centric Approach for Producing Quality Systems , 2005, QoSA/SOQUA.

[32]  Flavio Oquendo,et al.  Architecture-Based Conformance Testing , 2013, ICSEA 2013.

[33]  Francis G. McCabe,et al.  Reference Architecture for Service Oriented Architecture Version 1.0 , 2008 .

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

[35]  Hassan Reza,et al.  Model Based Testing Using Software Architecture , 2010, 2010 Seventh International Conference on Information Technology: New Generations.

[36]  Richard T. Watson,et al.  Analyzing the Past to Prepare for the Future: Writing a Literature Review , 2002, MIS Q..

[37]  Antonio Bucchiarone,et al.  Model-Checking Plus Testing: From Software Architecture Analysis to Code Testing , 2004, FORTE Workshops.

[38]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[39]  Carsten Magerkurth,et al.  IoT Reference Architecture , 2013 .

[40]  Seonghun Lee,et al.  Test methods of the AUTOSAR application software components , 2009, 2009 ICCAS-SICE.

[41]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[42]  Erik van Veenendaal,et al.  Test Maturity Model integration TMMi , 2012 .

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

[44]  Flávio Oquendo,et al.  Consolidating a Process for the Design, Representation, and Evaluation of Reference Architectures , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[45]  Richard Torkar,et al.  Overcoming the Equivalent Mutant Problem: A Systematic Literature Review and a Comparative Experiment of Second Order Mutation , 2014, IEEE Transactions on Software Engineering.

[46]  Giuseppe Scollo,et al.  Architectural Unit Testing , 2004, MBT.