Abstract
It is a challenging job for the software industry to release a product with the right quality level at the right time. There are some components within a software system that are more critical to the system’s operation than others. Faults in components with high criticality are responsible directly or indirectly for causing high failure rate of the overall system compared to same faults in components with low criticality. Estimating the criticality of a component at the design level and focusing test effort per component based on the estimated criticality of the component helps to improve the reliability of a system within the available test resources. The objective is to identify the criticality level of a component at the design level and make a better test plan so that the high-critical components would be tested more completely and rigorously than other less-critical components. We first propose a method to estimate the criticality of a component within a system. The criticality estimation method is based upon design documents. We prioritize the components for testing according to their estimated criticality. Then, we present a genetic algorithm-based technique to select test cases out of a large pool of test cases. The intensity with which each component is tested is proportionate to its priority and the test suite is optimal under other constraints. We have conducted experiments to compare our scheme with a related scheme. The experimental results establish that higher reliability can indeed be achieved using our scheme.
Similar content being viewed by others
References
Boehm B, Basili VR (2001) Software defect reduction top 10 list. Computer 34(1):135–137
Briand LC, Daly JW, Wnst JK (1999) A unified framework for coupling measurement in Object-Oriented systems. IEEE Trans Softw Eng 25(01):91–121
Arisholm E, Briand LC, Audun F (2004) Dynamic coupling measurement for Object-Oriented software. IEEE Trans Softw Eng 30:491–506
Musa JD (1993) Operational profiles in software-reliability engineering. IEEE Softw 10(2):14–32
Cobb RH, Mills HD (1990) Engineering software under statistical quality control. IEEE Softw 7(6):44–54
Briand LC, Jürgen W, Daly JW, Porter DV (2000) Exploring the relationship between design measures and software quality in Object-Oriented systems. J Systems Softw 51(3):245–273
Ray M, Kumawat KL, Mohapatra DP (2011) Source code prioritization using forward slicing for exposing critical elements in a program. J Comput Sci Technol 26(2):314–327
Ray M, Mohapatra DP (2010) Reliability improvement based on prioritization of source code. In: Janowski T, Mohanty H (eds.) ICDCIT, volume 5966 of Lecture Notes in Computer Science. Springer, Berlin, pp 212–223
Rothermel G, Untch RH, Chu C, Harrold MJ (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27(10):929–948
Elbaum S, Malishevsky AG, Rothermel G (2002) Test case prioritization: a family of empirical studies. IEEE Trans Softw Eng 28(2):159–182
Elbaum S, Malishevsky A, Rothermel G (2001) Incorporating varying test costs and fault severities into test case prioritization. In: ICSE ’01: Proceedings of the 23rd International Conference on Software Engineering. IEEE Computer Society, Washington, pp 329–338
Jeffrey D, Gupta N (2008) Experiments with test case prioritization using relevant slices. J Systems Softw 81(2):196–221
Bryce RC, Sampath S, Memon AM (Jan. 2011) Developing a single model and test prioritization strategies for Event-Driven software. IEEE Trans Softw Eng 37(1):48–64
Kundu D, Sarma M, Samanta D, Mall R (2009) System testing for Object-Oriented systems with test case prioritization. Softw Test Verif Reliab 19:297–333
Ray M, Mohapatra DP (2013) Risk analysis: a guiding force in the improvement of testing. IET Softw 7(1):29–46
Harrold MJ, Gupta R, Soffa ML (1993) A methodology for controlling the size of a test suite. ACM Trans Softw Eng Methodol 2(3):270–285
Binkley D (1998) The application of program slicing to regression testing. Inf Softw Technol 40(11):583–594
Leon D, Masri W, Podgurski A (2005) An empirical evaluation of test case filtering techniques based on exercising complex information flows. In: International Conference on Software Engineering (ICSE). ACM, New York, pp 412–421
Jeffrey D, Gupta N (2007) Improving fault detection capability by selectively retaining test cases during test suite reduction. IEEE Trans Softw Eng 33(2):108–123
Mall R (2009) Fundamentals of software engineering. Prentice Hall of India, 3rd edition
Horwitz S, Reps T, Binkley D (1988) Interprocedural slicing using dependence graphs. In: PLDI ’88: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation. ACM, New York, pp 35–46
Yacoub SM, Cukic B, Ammar HH (2004) Scenario-based reliability analysis of component-based software. IEEE Trans Reliab 53(04):465–480
Weiser M (July 1984) Program slicing. IEEE Trans Softw Eng 10(4):352–357
Ferrante J, Ottenstein KJ, Warren JD (1987) The program dependence graph and its use in optimization. ACM Trans Program Lang Systems 9(3):319–349
Jacobson I, Christerson M , Jonsson P, Övergaard G (1992) Object-Oriented software engineering—a use case driven approach. Addison-Wesley, Reading, MA
Kumar R, Rockett P (2002) Improved sampling of the pareto-front in multiobjective genetic optimizations by steady-state evolution: a pareto converging genetic algorithm. Evol Comput 10(3):283–314
Fonseca CM, Fleming PJ (1995) An overview of evolutionary algorithm in multi-objective optimization. Evol Comput 3(1):1–16
Krishnamurthy S, Mathur AP (1997) On the estimation of reliability of a software system using reliabilities of its components. In: ISSRE ’97: Proceedings of the Eighth International Symposium on Software Reliability Engineering. IEEE Computer Society, Washington, p 146
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ray, M., Mohapatra, D.P. Multi-objective test prioritization via a genetic algorithm. Innovations Syst Softw Eng 10, 261–270 (2014). https://doi.org/10.1007/s11334-014-0234-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-014-0234-2