Model-based Selective Layer-centric Testing

Model-based testing of large systems usually requires decomposition of the model into hierarchical submodels for generating test sequences, which fulfills the goals of module testing, but not those of system testing. System testing requires test sequences be generated from a fully resolved model, which necessitates refining the toplevel model, that is, by replacing its elements with submodels they represent. If the depth of model hierarchy is high, the number of test sequences along with their length increases resulting in high test costs. For solving this conflict, a novel approach is introduced that generates test sequences based on the top-level model and replaces elements of these sequences by corresponding, optimized test sequences generated by the submodels. To compensate the shortcoming at test accuracy, the present approach selects components that have lowering impact on the overall system reliability. The objective is to increase the reliabilities of these critical components by intensive testing and appropriate correction which, as a consequence, also increases the overall reliability at less test effort without losing accuracy. An empirical study based on a large web-based commercial system is performed to validate the approach and analyze its characteristics, and to discuss its strengths and weaknesses.

[1]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[2]  Fevzi Belli,et al.  Are Longer Test Sequences Always Better? - A Reliability Theoretical Analysis , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement Companion.

[3]  Fevzi Belli,et al.  Test minimization for human-computer interaction , 2006, Applied Intelligence.

[4]  Shigeru Yamada,et al.  S-Shaped Reliability Growth Modeling for Software Error Detection , 1983, IEEE Transactions on Reliability.

[5]  Alexandre Petrenko,et al.  Protocol testing: review of methods and relevance for software testing , 1994, ISSTA '94.

[6]  Daniel P. Siewiorek,et al.  A method to automate user interface testing using variable finite state machines , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.

[7]  Swapna S. Gokhale,et al.  Analytical Models for Architecture-Based Software Reliability Prediction: A Unification Framework , 2006, IEEE Transactions on Reliability.

[8]  A. Jefferson Offutt,et al.  Testing Web applications by modeling with FSMs , 2005, Software & Systems Modeling.

[9]  David L. Parnas,et al.  On the use of transition diagrams in the design of a user interface for an interactive computer system , 1969, ACM '69.

[10]  Ming-Wen Shao,et al.  Reliability Evaluation Model of Component-Based Software Based on Complex Network Theory , 2017, Qual. Reliab. Eng. Int..

[11]  Fevzi Belli,et al.  Testing is an Event-Centric Activity , 2012, 2012 IEEE Sixth International Conference on Software Security and Reliability Companion.

[12]  Thomas W. Williams,et al.  Design for Testability - A Survey , 1982, IEEE Trans. Computers.

[13]  Gordon Fraser,et al.  Handling test length bloat , 2013, Softw. Test. Verification Reliab..

[14]  Aditya P. Mathur Foundations of software testing : fundamental algorithms and techniques : an undergraduate and graduate text, a reference for the practicing software engineer , 2008 .

[15]  Krishan K. Sabnani,et al.  A Protocol Test Generation Procedure , 1988, Comput. Networks.

[16]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[17]  J. T. Duane Learning Curve Approach to Reliability Monitoring , 1964, IEEE Transactions on Aerospace.

[18]  Kai Shi,et al.  A Scenario-Based Reliability Analysis Approach for Component-Based Software , 2015, IEICE Trans. Inf. Syst..

[19]  N. Schneidewind A Recommended Practice for Software Reliability , 2022 .

[20]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[21]  F. Belli,et al.  On “ Negative ” Tests of Web Applications , 2007 .

[22]  Nikolai Tillmann,et al.  Modeling and Testing Hierarchical GUIs , 2005, Abstract State Machines.

[23]  Anneliese Amschler Andrews,et al.  Trade-Off Analysis for Selective versus Brute-Force Regression Testing in FSMWeb , 2014, 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering.

[24]  Nina Yevtushenko,et al.  Test Generation Driven by User-defined Fault Models , 1999, IWTCS.

[25]  Amrit L. Goel,et al.  Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures , 1979, IEEE Transactions on Reliability.

[26]  Tadashi Dohi,et al.  Metrics-Based Software Reliability Models Using Non-homogeneous Poisson Processes , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[27]  Glenford J. Myers,et al.  Software Reliability: Principles and Practices , 1976 .

[28]  Osamu Mizuno,et al.  Test Item Prioritizing Metrics for Selective Software Testing , 2004, IEICE Trans. Inf. Syst..

[29]  Alessandro Birolini Reliability Engineering: Theory and Practice , 1999 .

[30]  Leena Suhl,et al.  Optimierungssysteme: Modelle, Verfahren, Software, Anwendungen (Springer-Lehrbuch) , 2007 .

[31]  Alfred V. Aho,et al.  An optimization technique for protocol conformance test generation based on UIO sequences and rural Chinese postman tours , 1991, IEEE Trans. Commun..

[32]  Gregg Rothermel,et al.  An experimental evaluation of selective mutation , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[33]  Arun Sharma,et al.  A rule-based approach for estimating the reliability of component-based systems , 2012, Adv. Eng. Softw..

[34]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

[35]  Dieter Hogrefe,et al.  An introduction to the testing and test control notation (TTCN-3) , 2003, Comput. Networks.

[36]  Lee J. White,et al.  Generating test cases for GUI responsibilities using complete interaction sequences , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[37]  Amrit L. Goel,et al.  Software Reliability Models: Assumptions, Limitations, and Applicability , 1985, IEEE Transactions on Software Engineering.

[38]  Mary Lou Soffa,et al.  Coverage criteria for GUI testing , 2001, ESEC/FSE-9.

[39]  Hassan Reza,et al.  A Model-Based Approach for Testing GUI Using Hierarchical Predicate Transition Nets , 2007, Fourth International Conference on Information Technology (ITNG'07).

[40]  Fevzi Belli,et al.  Finite state testing and analysis of graphical user interfaces , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[41]  Mary Lou Soffa,et al.  Hierarchical GUI Test Case Generation Using Automated Planning , 2001, IEEE Trans. Software Eng..

[42]  Michael Haupt,et al.  Continuous Selective Testing , 2010, XP.

[43]  Anil Kumar Tripathi,et al.  Approach for parameter estimation in Markov model of software reliability for early prediction: a case study , 2015, IET Softw..

[44]  P. Hall,et al.  Software Unit Test Coverage and Adequacy HONG , 1997 .

[45]  Andrea Arcuri,et al.  A Theoretical and Empirical Analysis of the Role of Test Sequence Length in Software Testing for Structural Coverage , 2012, IEEE Transactions on Software Engineering.

[46]  Fevzi Belli,et al.  Does "Depth" Really Matter? On the Role of Model Refinement for Testing and Reliability , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

[47]  Harold W. Thimbleby,et al.  The directed Chinese Postman Problem , 2003, Softw. Pract. Exp..

[48]  Wang Hai-jun Reliability Evaluation Model of Component-based Software , 2009 .

[49]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[50]  Osamu Mizuno,et al.  A selective software testing method based on priorities assigned to functional modules , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[51]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[52]  Fevzi Belli,et al.  Event‐based modelling, analysis and testing of user interactions: approach and case study , 2006, Softw. Test. Verification Reliab..

[53]  Aditya P. Mathur,et al.  On the estimation of reliability of a software system using reliabilities of its components , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[54]  David S. Rosenblum,et al.  TESTTUBE: a system for selective regression testing , 1994, Proceedings of 16th International Conference on Software Engineering.

[55]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[56]  Hasan Ural,et al.  Lower bounds on lengths of checking sequences , 2009, Formal Aspects of Computing.

[57]  Ming Zhao,et al.  On the log-power NHPP software reliability model , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.