Abstract
This paper presents results from a comparative evaluation of five combination strategies. Combination strategies are test case selection methods that combine “interesting” values of the input parameters of a test subject to form test cases. This research comparatively evaluated five combination strategies; the All Combination strategy (AC), the Each Choice strategy (EC), the Base Choice strategy (BC), Orthogonal Arrays (OA) and the algorithm from the Automatic Efficient Test Generator (AETG). AC satisfies n-wise coverage, EC and BC satisfy 1-wise coverage, and OA and AETG satisfy pair-wise coverage. The All Combinations strategy was used as a “gold standard” strategy; it subsumes the others but is usually too expensive for practical use. The others were used in an experiment that used five programs seeded with 128 faults. The combination strategies were evaluated with respect to the number of test cases, the number of faults found, failure size, and number of decisions covered. The strategy that requires the least number of tests, Each Choice, found the smallest number of faults. Although the Base Choice strategy requires fewer test cases than Orthogonal Arrays and AETG, it found as many faults. Analysis also shows some properties of the combination strategies that appear significant. The two most important results are that the Each Choice strategy is unpredictable in terms of which faults will be revealed, possibly indicating that faults are found by chance, and that the Base Choice and the pair-wise combination strategies to some extent target different types of faults.
Similar content being viewed by others
References
Ammann P, Offutt AJ (1994) Using formal methods to derive test frames in category-partition testing. Proceedings of the Ninth Annual Conference on Computer Assurance (COMPASS’94), Gaithersburg MD, IEEE Computer Society Press, pp 69–80
Anderson T, Avizienis A, Carter W, Costes A, Christian F, Koga Y, Kopetz H, Lala J, Laprie J, Meyer, J Randell B, Robinson A (1994) Dependability: basic concepts and terminology. Technical report, IFIP. WG 10.4
Archibald R (1992) Managing high-technology programs and projects. John Wiley and Sons, Inc.
Bache R (1997) The effect of fault size on testing. The Journal of Software Testing, Verification, and Reliability 7: 139–152
Basili VR, Rombach HD (1988) The TAME project: Towards improvement-oriented software environments. IEEE Transactions on Software Engineering SE-14(6): 758–773
Basili V, Selby R (1987) Comparing the effectiveness of software testing strategies. IEEE Transactions on Software Engineering SE-13(12): 1278–1296
Basili V, Shull F, Lanubile F (1999) Using experiments to build a body of knowledge. Perspectives of System Informatics, Third International Andrei Ershov Memorial Conference (PSI 99). Akademgorodok, Novosibirsk, Russia, 6-9 July 1999, Proceedings, pp 265–282
Briand L, Pfahl D (1999) Using simulation for assessing the real impact of test coverage on defect coverage. Proceedings of the International Conference on Software Maintenance (ICSM99), Oxford, The UK, 30th of Aug - 3rd Sept 1999, pp 475–482
Brownlie R, Prowse J, Phadke M (1992) Robust testing of AT&T PMX/StarMAIL using OATS. AT&T technical Journal 71(3): 41–47
Burr K, Young W (1998) Combinatorial test techniques: Table-based automation, test generation and code coverage. Proceedings of the International Conference on Software Testing, Analysis, and Review (STAR’98). San Diego, CA, USA, pp 26–28
Cohen D, Dalal S, Kajla A, Patton G (1994) The automatic efficient test generator (AETG) system. Proceedings of Fifth International Symposium on Software Reliability Engineering (ISSRE’94), Los Alamitos, California, USA, 6-9 November 1994, IEEE Computer Society, pp 303–309
Cohen D, Dalal S, Parelius J, Patton G (1996) The combinatorial design approach to automatic test generation. IEEE Software 13(5): 83–89
Cohen D, Dalal S, Fredman M, Patton G (1997) The AETG System: An approach to testing based on combinatorial design. IEEE Transactions on Software Engineering 23(7): 437–444
Cohen M, Gibbons P, Mugridge W, Colburn C (2003) Constructing test cases for interaction testing, Proceedings of the 25th International Conference on Software Engineering, (ICSE’03), Portland, Oregon, USA, 3-10 May 2003, IEEE Computer Society, pp 38–48
Dalal S, Mallows C (1998) Factor-covering designs for testing software. Technometrics 50(3): 234–243
Dunietz I, Ehrlich W, Szablak B, Mallows C, Iannino A (1997) Applying design of experiments to software testing. Proceedings of 19th International Conference on Software Engineering (ICSE’97). Boston, MA, USA 1997, ACM, pp 205–215
Frankl P, Hamlet R, Littlewood B, Stringini L (1998) Evaluating testing methods by delivered reliability. IEEE Transactions on Software Engineering 24: 586–601
Grindal M, Lindström B, Offutt AJ, Andler SF (2003) An evaluation of combination strategies for test case selection. Technical Report. Technical Report HS-IDA-TR-03-001. Department of Computer Science, University of Skövde
Grindal M, Offutt AJ, Andler SF (2005) Combination testing strategies: A survey. Software Testing, Verification, and Reliability 15(3): 167–199
Harman M, Hierons R, Holocombe M, Jones B, Reid S, Roper M, Woodward, M (1999) Towards a maturity model for empirical studies of software testing. Proceedings of the 5th Workshop on Empirical Studies of Software Maintenance (WESS’99). Keble College, Oxford, UK
Kamsties E, Lott C (1995a) An empirical evaluation of three defect detection techniques. Technical Report ISERN 95-02. Dept of Computer Science, University of Kaiserslauten
Kamsties E, Lott C (1995b) An empirical evaluation of three defect detection techniques. Proceedings of the 5th European Software Engineering Conference (ESEC95). Sitges, Barcelona, Spain, 25-28 September 1995
Kropp N, Koopman P, Siewiorek D (1998) Automated robustness testing of off-the-shelf software components. Proceedings of FTCS’98: Fault Tolerant Computing Symposium, 23–25 June 1998 Munich, Germany. IEEE, pp 230–239
Lei Y, Tai K (1998) In-parameter-order: A test generation strategy for pair-wise testing. Proceedings of the third IEEE High Assurance Systems Engineering Symposium, IEEE, pp 254–261
Lei Y, Tai K (2001) A test generation strategy for pairwise testing. Technical Report TR-2001-03. Department of Computer Science, North Carolina State University, Raleigh
Lindström B, Grindal M, Offutt J (2004) Using an existing suite of test objects: Experience from a testing experiment. Workshop on Empirical Research in Software Testing, ACM SIGFOST Software Engineering Notes. Boston, MA, USA
Lott C (n.d.) A repeatable software experiment. URL:www.chris-lott.org/work/exp/
Lott C, Rombach H (1996) Repeatable software engineering experiments for comparing defect-detection techniques. Journal of Empirical Software Engineering 1(3): 241–277
Mandl R (1985) Orthogonal latin squares: An application of experiment design to compiler testing. Communications of the ACM 28(10): 1054–1058
Miller J, Roper M, Wood M, Brooks A (1995) Towards a benchmark for the evaluation of software testing techniques. Information and Software Technology 37(1): 5–13
Musa J (1993) Operational profiles in software-reliability engineering. IEEE Software 10: 14–32
Myers G (1979) The Art of Software Testing, John Wiley and Sons
Ntafos SC (1984) On required element testing. IEEE Transactions on Software Engineering SE-10: 795–803
Offutt AJ, Hayes JH (1996) A semantic model of program faults. Proceedings of the 1996 International Symposium on Software Testing, and Analysis. ACM Press, San Diego, CA, pp 195–200
Offutt AJ, Xiong Y, Liu S (1999) Criteria for generating specification-based tests. Fifth IEEE International Conference on Engineering of Complex Systems (ICECCS’99). Las Vegas NV, IEEE, pp 119–129
Ostrand T, Balcer M (1988) The category-partition method for specifying and generating functional tests. Communications of the ACM 31(6): 676–686
Piwowarski P, Ohba M, Caruso, J (1993) Coverge measure experience during function test. Proceedings of 14th International Conference on Software Engineering (ICSE’93). Los Alamitos, CA, USA 1993, ACM, pp 287–301
Reid S (1997) An empirical analysis of equivalence partitioning, boundary value analysis and random testing. Proceedings of the 4th International Software Metrics Symposium (METRICS’97), Albaquerque, New Mexico, USA, 5–7 Nov 1997, IEEE, pp 64–73
Shiba T, Tsuchiya T, Kikuno T ( 2004) Using artificial life techniques to generate test cases for combinatorial testing. Proceedings of 28th Annual International Computer Software and Applications Conference (COMPSAC’04) 2004. Hong Kong, China, IEEE Computer Society, 28–30 September 2004, pp 72–77
So S, Cha S, Shimeall T, Kwon Y (2002) An empirical evaluation of six methods to detect faults in software. Software Testing, Verification and Reliability 12(3): 155–171
Wallace DR, Kuhn D (2001) Failure modes in medical device software: An analysis of 15 years of recall data. International Journal of Reliability, Quality, and Safety Engineering 8(4): 351–371
Williams A (2000) Determination of test configurations for pair-wise interaction coverage. Proceedings of the 13th International Conference on the Testing of Communicating Systems (TestCom 2000). Ottawa, Canada, August 2000, pp 59–74
Williams A, Probert R (1996) A practical strategy for testing pair-wise coverage of network interfaces. Proceedings of the 7th International Symposium on Software Reliability Engineering (ISSREt’96). White Plains, New York, USA, Oct 30 – Nov 2 1996, pp 246–254
Wood M, Roper M, Brooks A, Miller J (1997) Comparing and combining software defect detection techniques: A replicated study. Proceedings of the Sixth European Software Engineerng Conference (ESEC/FSE 97). Lecture Notes in Computer Science Nr. 1013, Springer Verlag, pp 262–277
Woodward MR, Al-Khanjari ZA (2000) Testability, fault size and the domain-to-range ratio: An eternal triangle. Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis (ISSTA ’00). ACM Press, Portland, Oregon, USA, pp 168–172
Yin H, Lebne-Dengel Z, Malaiya Y (1997) Automatic test generation using checkpoint encoding and antirandom testing. Technical Report CS-97-116. Colorado State University
Zweben S, Heym W (1992) Systematic Testing of Data Abstractions Based on Software Specifications. Journal of Software Testing, Verification, and Reliability 1(4): 39–55
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Grindal, M., Lindström, B., Offutt, J. et al. An evaluation of combination strategies for test case selection. Empir Software Eng 11, 583–611 (2006). https://doi.org/10.1007/s10664-006-9024-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-006-9024-2