Choices, Choices: Comparing between CHOC’LATE and the Classification-Tree Methodology

  • Pak-Lok Poon
  • Tsong Yueh Chen
  • T. H. Tse
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7308)


Two popular specification-based test case generation methods are the choice relation framework and the classification-tree methodology. Both of them come with associated tools and have been used in different applications with success. Since both methods are based on the idea of partition testing, they are similar in many aspects. Because of their similarities, software testers often find it difficult to decide which method to be used in a given testing scenario. This paper aims to provide a solution by first contrasting the strengths and weaknesses of both methods, followed by suggesting practical selection guidelines to cater for different testing scenarios.


Choice relation framework classification-tree methodology software testing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amla, N., Ammann, P.E.: Using Z Specifications in Category Partition Testing. In: Systems Integrity, Software Safety, and Process Security: Building the Right System Right: Proceedings of the 7th Annual IEEE Conference on Computer Assurance (COMPASS 1992), pp. 3–10. IEEE Computer Society, Los Alamitos (1992)Google Scholar
  2. 2.
    Briand, L.C., Labiche, Y., Bawar, Z., Spido, N.T.: Using Machine Learning to Refine Category-Partition Test Specifications and Test Suites. Information and Software Technology 51(11), 1551–1564 (2009)CrossRefGoogle Scholar
  3. 3.
    Chan, E.Y.K., Chan, W.K., Poon, P.-L., Yu, Y.T.: An Empirical Evaluation of Several Test-a-Few Strategies for Testing Particular Conditions. Software: Practice and Experience (2011), doi:10.1002/spe.1098Google Scholar
  4. 4.
    Chen, T.Y., Poon, P.-L., Tang, S.-F., Tse, T.H.: On the Identification of Categories and Choices for Specification-Based Test Case Generation. Information and Software Technology 46(13), 887–898 (2004)CrossRefGoogle Scholar
  5. 5.
    Chen, T.Y., Poon, P.-L., Tang, S.-F., Tse, T.H.: DESSERT: a DividE-and-conquer methodology for identifying categorieS, choiceS, and choicE Relations for Test case generation. IEEE Transactions on Software Engineering (2011), doi:10.1109/TSE.2011.69Google Scholar
  6. 6.
    Chen, T.Y., Poon, P.-L., Tse, T.H.: An Integrated Classification-Tree Methodology for Test Case Generation. International Journal of Software Engineering and Knowledge Engineering 10(6), 647–679 (2000)zbMATHCrossRefGoogle Scholar
  7. 7.
    Chen, T.Y., Poon, P.-L., Tse, T.H.: A Choice Relation Framework for Supporting Category-Partition Test Case Generation. IEEE Transactions on Software Engineering 29(7), 577–593 (2003)CrossRefGoogle Scholar
  8. 8.
    Chusho, T.: Test Data Selection and Quality Estimation Based on the Concept of Essential Branches for Path Testing. IEEE Transactions on Software Engineering 13(5), 509–517 (1987)CrossRefGoogle Scholar
  9. 9.
    Foreman, L.M., Zweben, S.H.: A Study of the Effectiveness of Control and Data Flow Testing Strategies. Journal of Systems and Software 21(3), 215–228 (1993)CrossRefGoogle Scholar
  10. 10.
    Grochtmann, M., Grimm, K.: Classification Trees for Partition Testing. Software Testing, Verification and Reliability 3(2), 63–82 (1993)CrossRefGoogle Scholar
  11. 11.
    Hierons, R.M., Harman, M., Fox, C., Ouarbya, L., Daoudi, M.: Conditioned Slicing Supports Partition Testing. Software Testing, Verification and Reliability 12(1), 23–28 (2002)CrossRefGoogle Scholar
  12. 12.
    Hierons, R.M., Harman, M., Singh, H.: Automatically Generating Information from a Z Specification to Support the Classification Tree Method. In: Bert, D., Bowen, J.P., King, S., Waldén, M. (eds.) ZB 2003. LNCS, vol. 2651, pp. 388–407. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Jiang, B., Tse, T.H., Grieskamp, W., Kicillof, N., Cao, Y., Li, X., Chan, W.K.: Assuring the Model Evolution of Protocol Software Specifications by Regression Testing Process Improvement. Software: Practice and Experience 41(10), 1073–1103 (2011)Google Scholar
  14. 14.
    Kansomkeat, S., Thiket, P., Offutt, J.: Generating Test Cases from UML Activity Diagrams Using the Condition-Classification Tree Method. In: Proceedings of the 2nd International Conference on Software Technology and Engineering (ICSTE 2010), pp. V1-62–V1-66. IEEE Computer Society, Los Alamitos (2010)Google Scholar
  15. 15.
    Lemos, O.A.L., Vincenzi, A.M.R., Maldonado, J.C., Masiero, P.C.: Control and Data Flow Structural Testing Criteria for Aspect-Oriented Programs. Journal of Systems and Software 80(6), 862–882 (2007)CrossRefGoogle Scholar
  16. 16.
    Myers, G.J.: The Art of Software Testing. Wiley, Hoboken (2004)Google Scholar
  17. 17.
    Ostrand, T.J., Balcer, M.J.: The Category-Partition Method for Specifying and Generating Functional Tests. Communications of the ACM 31(6), 676–686 (1988)CrossRefGoogle Scholar
  18. 18.
    Poon, P.-L., Tang, S.-F., Tse, T.H., Chen, T.Y.: CHOC’LATE: a Framework for Specification-Based Testing. Communications of the ACM 53(4), 113–118 (2010)CrossRefGoogle Scholar
  19. 19.
    Poon, P.-L., Tse, T.H., Tang, S.-F., Kuo, F.-C.: Contributions of Tester Experience and a Checklist Guideline to the Identification of Categories and Choices for Software Testing. Software Quality Journal 19(1), 141–163 (2011)CrossRefGoogle Scholar
  20. 20.
    Richardson, D.J., O’Malley, O., Tittle, C.: Approaches to Specification-Based Testing. In: Proceedings of the ACM SIGSOFT 3rd Symposium on Software Testing, Analysis, and Verification (TAV 3), pp. 86–96. ACM, New York (1989)CrossRefGoogle Scholar
  21. 21.
    Shepard, T., Lamb, M., Kelly, D.: More Testing should be Taught. Communications of the ACM 44(6), 103–108 (2001)CrossRefGoogle Scholar
  22. 22.
    Singh, H., Conrad, M., Sadeghipour, S.: Test Case Design Based on Z and the Classification-Tree Method. In: Proceedings of the 1st IEEE International Conference on Formal Engineering Methods (ICFEM 1997), pp. 81–90. IEEE Computer Society, Los Alamitos (1997)CrossRefGoogle Scholar
  23. 23.
    Subramanian, G.H., Nosek, J., Raghunathan, S.P., Kanitkar, S.S.: A Comparison of the Decision Table and Tree. Communications of the ACM 35(1), 89–94 (1992)CrossRefGoogle Scholar
  24. 24.
    Yu, Y.T., Ng, S.P., Chan, E.Y.K.: Generating, Selecting and Prioritizing Test Cases from Specifications with Tool Support. In: Proceedings of the 3rd International Conference on Quality Software (QSIC 2003), pp. 83–90. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Pak-Lok Poon
    • 1
  • Tsong Yueh Chen
    • 2
  • T. H. Tse
    • 3
  1. 1.School of Accounting and FinanceThe Hong Kong Polytechnic UniversityKowloonHong Kong
  2. 2.Faculty of Information and Communication TechnologiesSwinburne University of TechnologyHawthornAustralia
  3. 3.Department of Computer ScienceThe University of Hong KongPokfulamHong Kong

Personalised recommendations