Combining Operational and Debug Testing for Improving Reliability

This paper addresses the challenge of reliability-driven testing, i.e., of testing software systems with the specific objective of increasing its operational reliability. We first examined the most relevant approach oriented toward this goal, namely operational testing. The main issues that in the past hindered its wide-scale adoption and practical application are first discussed, followed by the analysis of its performance under different conditions and configurations. Then, a new approach conceived to overcome the limits of operational testing in delivering high reliability is proposed. The two testing strategies are evaluated probabilistically, and by simulation. Results report on the performance of operational testing when several involved parameters are taken into account, and on the effectiveness of the new proposed approach in achieving better reliability. At a higher level, the findings of the paper also suggest that a different view of the testing for reliability improvement concept may help to devise new testing approaches for high-reliability, demanding systems.

[1]  Kai-Yuan Cai,et al.  Towards a conceptual framework of software run reliability modeling , 2000, Inf. Sci..

[2]  Edward N. Adams,et al.  Optimizing Preventive Service of Software Products , 1984, IBM J. Res. Dev..

[3]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[4]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.

[5]  Kai-Yuan Cai,et al.  Does software reliability growth behavior follow a non-homogeneous Poisson process , 2008, Inf. Softw. Technol..

[6]  Vernon Rego,et al.  Effect of testing techniques on software reliability estimates obtained using a time-domain model , 1995 .

[7]  Ilka Philippow,et al.  UML-Based Statistical Test Case Generation , 2002, NetObjectDays.

[8]  Neeraj Suri,et al.  Profiling the operational behavior of OS device drivers , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[9]  Harlan D. Mills,et al.  Engineering software under statistical quality control , 1990, IEEE Software.

[10]  Phyllis G. Frankl,et al.  Empirical evaluation of the textual differencing regression testing technique , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[11]  Michael R. Lyu,et al.  Optimal testing resource allocation, and sensitivity analysis in software development , 2005, IEEE Transactions on Reliability.

[12]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[13]  Harlan D. Mills,et al.  Correction to 'Certifying the reliability of software' (Jan. 1986 3-11) , 1989 .

[14]  Bev Littlewood,et al.  Guidelines for Statistical Testing , 1997 .

[15]  Victor R. Basili,et al.  Cleanroom Software Development: An Empirical Evaluation , 1987, IEEE Transactions on Software Engineering.

[16]  Bev Littlewood,et al.  Evaluating Testing Methods by Delivered Reliability , 1998, IEEE Trans. Software Eng..

[17]  John A. Clark,et al.  Efficient Software Verification: Statistical Testing Using Automated Search , 2010, IEEE Transactions on Software Engineering.

[18]  Alberto Pasquini,et al.  Sensitivity of reliability growth models to operational profile errors , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[19]  James A. Whittaker,et al.  A Markov Chain Model for Statistical Software Testing , 1994, IEEE Trans. Software Eng..

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

[21]  Michiel van Genuchten,et al.  Using Software Reliability Growth Models in Practice , 2007, IEEE Software.

[22]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[23]  Mario Jino,et al.  Sensitivity of Two Coverage-Based Software Reliability Models to Variations in the Operational Profile , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement.

[24]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[25]  Kai-Yuan Cai,et al.  An experimental study of adaptive testing for software reliability assessment , 2008, J. Syst. Softw..

[26]  Kai-Yuan Cai,et al.  A reliability improvement predictive approach to software testing with Bayesian method , 2010, Proceedings of the 29th Chinese Control Conference.

[27]  Elaine J. Weyuker Comparing the Effectiveness of Testing Techniques , 2008, Formal Methods and Testing.

[28]  Bijamma Thomas,et al.  Software reliability growth models , 2014 .

[29]  Bev Littlewood,et al.  Choosing a Testing Method to Deliver Reliability , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[30]  Richard G. Hamlet Are we testing for true reliability? , 1992, IEEE Software.

[31]  Huai Liu,et al.  Distributing test cases more evenly in adaptive random testing , 2008, J. Syst. Softw..

[32]  John D. Musa,et al.  Software-Reliability-Engineered Testing , 1996, Computer.

[33]  Boris Beizer Soapbox: Cleanroom Process Model: A Critical Examination , 1997, IEEE Softw..

[34]  Hélène Waeselynck,et al.  An investigation of statistical software testing , 1991, Softw. Test. Verification Reliab..

[35]  John D. Musa,et al.  Sensitivity of field failure intensity to operational profile errors , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[36]  Laurence Nigay,et al.  Synchronous testing of multimodal systems: an operational profile-based approach , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[37]  C. Trammell,et al.  Quantifying the reliability of software: statistical testing based on a usage model , 1995, Proceedings of Software Engineering Standards Symposium.

[38]  Kishor S. Trivedi,et al.  Software Reliability and Testing Time Allocation: An Architecture-Based Approach , 2010, IEEE Transactions on Software Engineering.

[39]  Vernon Rego,et al.  A case study to investigate sensitivity of reliability estimates to errors in operational profile , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[40]  Elaine J. Weyuker,et al.  A Formal Analysis of the Fault-Detecting Ability of Testing Methods , 1993, IEEE Trans. Software Eng..

[41]  Harlan D. Mills,et al.  A case study in cleanroom software engineering: the IBM COBOL Structuring Facility , 1988, Proceedings COMPSAC 88: The Twelfth Annual International Computer Software & Applications Conference.

[42]  Phyllis G. Frankl,et al.  Comparison of delivered reliability of branch, data flow and operational testing: A case study , 2000, ISSTA '00.

[43]  Kai-Yuan Cai,et al.  Adaptive software testing with fixed-memory feedback , 2007, J. Syst. Softw..

[44]  Harlan D. Mills,et al.  Certifying the reliability of software , 1986, IEEE Transactions on Software Engineering.

[45]  Huai Liu,et al.  Application of a Failure Driven Test Profile in Random Testing , 2009, IEEE Trans. Reliab..

[46]  Kai-Yuan Cai,et al.  Optimal and adaptive testing for software reliability assessment , 2004, Inf. Softw. Technol..

[47]  Simeon C. Ntafos,et al.  An Evaluation of Random Testing , 1984, IEEE Transactions on Software Engineering.

[48]  Inderpal S. Bhandari,et al.  Orthogonal Defect Classification - A Concept for In-Process Measurements , 1992, IEEE Trans. Software Eng..

[49]  Michael R. Lyu,et al.  Handbook of software reliability engineering , 1996 .

[50]  Jeff Tian,et al.  Measuring and Modeling Usage and Reliability for Statistical Web Testing , 2001, IEEE Trans. Software Eng..

[51]  R. N. Rattihalli,et al.  Failure Size Proportional Models and an Analysis of Failure Detection Abilities of Software Testing Strategies , 2007, IEEE Transactions on Reliability.

[52]  Kai-Yuan Cai,et al.  Optimal software testing and adaptive software testing in the context of software cybernetics , 2002, Inf. Softw. Technol..

[53]  R. Taylor,et al.  Partition testing does not inspire confidence , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.