词条 | Classification Tree Method | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
释义 |
The Classification Tree Method is a method for test design,[1] as it is used in different areas of software development.[2] It was developed by Grimm and Grochtmann in 1993.[3] Classification Trees in terms of the Classification Tree Method must not be confused with decision trees. The classification tree method consists of two major steps:[4][5]
The identification of test relevant aspects usually follows the (functional) specification (e.g. requirements, use cases …) of the system under test. These aspects form the input and output data space of the test object. The second step of test design then follows the principles of combinatorial test design.[4] While the method can be applied using a pen and a paper, the usual way involves the usage of the Classification Tree Editor, a software tool implementing the classification tree method.[7] ApplicationPrerequisites for applying the classification tree method (CTM) is the selection (or definition) of a system under test. The CTM is a black-box testing method and supports any type of system under test. This includes (but is not limited to) hardware systems, integrated hardware-software systems, plain software systems, including embedded software, user interfaces, operating systems, parsers, and others (or subsystems of mentioned systems). With a selected system under test, the first step of the classification tree method is the identification of test relevant aspects.[6] Any system under test can be described by a set of classifications, holding both input and output parameters. (Input parameters can also include environments states, pre-conditions and other, rather uncommon parameters).[7] Each classification can have any number of disjoint classes, describing the occurrence of the parameter. The selection of classes typically follows the principle of equivalence partitioning for abstract test cases and boundary-value analysis for concrete test cases.[8] Together, all classifications form the classification tree. For semantic purpose, classifications can be grouped into compositions. The maximum number of test cases is the Cartesian product of all classes of all classifications in the tree, quickly resulting in large numbers for realistic test problems. The minimum number of test cases is the number of classes in the classification with the most containing classes. In the second step, test cases are composed by selecting exactly one class from every classification of the classification tree. The selection of test cases originally[9] was a manual task to be performed by the test engineer. ExampleFor a database system, test design has to be performed. Applying the classification tree method, the identification of test relevant aspects gives the classifications: User Privilege, Operation and Access Method. For the User Privileges, two classes can be identified: Regular User and Administrator User. There are three Operations: Add, Edit and Delete. For the Access Method, again three classes are identified: Native Tool, Web Browser, API. The Web Browser class is further refined with the test aspect Brand, three possible classes are included here: Internet Explorer, Mozilla Firefox, and Apple Safari. The first step of the classification tree method now is complete. Of course, there are further possible test aspects to include, e.g. access speed of the connection, number of database records present in the database, etc. Using the graphical representation in terms of a tree, the selected aspects and their corresponding values can quickly be reviewed. For the statistics, there are 30 possible test cases in total (2 privileges * 3 operations * 5 access methods). For minimum coverage, 5 test cases are sufficient, as there are 5 access methods (and access method is the classification with the highest number of disjoint classes). In the second step, three test cases have been manually selected:
EnhancementsBackgroundThe CTM introduced the following advantages[2] over the Category Partition Method[10] (CPM) by Olstrad and Balcer:
CPM only offers restrictions to handle this scenario. CTM allows modeling of hierarchical refinements in the classification tree, also called implicit dependencies.
Grochtmann and Wegener presented their tool, the Classification Tree Editor (CTE) which supports both partitioning as well as test case generation.[11] Classification Tree Method for Embedded SystemsThe classification tree method first was intended for the design and specification of abstract test cases. With the classification tree method for embedded systems,[12] test implementation can also be performed. Several additional features are integrated with the method:
The module and unit testing tool Tessy relies on this extension. Dependency Rules and Automated Test Case GenerationOne way of modelling constraints is using the refinement mechanism in the classification tree method. This, however, does not allow for modelling constraints between classes of different classifications. Lehmann and Wegener introduced Dependency Rules based on Boolean expressions with their incarnation of the CTE.[13] Further features include the automated generation of test suites using combinatorial test design (e.g. all-pairs testing). Prioritized Test Case GenerationRecent enhancements to the classification tree method include the prioritized test case generation: It is possible to assign weights to the elements of the classification tree in terms of occurrence and error probability or risk. These weights are then used during test case generation to prioritize test cases.[14][15] Statistical testing is also available (e.g. for wear and fatigue tests) by interpreting the element weights as a discrete probability distribution. Test Sequence GenerationWith the addition of valid transitions between individual classes of a classification, classifications can be interpreted as a state machine, and therefore the whole classification tree as a Statechart. This defines an allowed order of class usages in test steps and allows to automatically create test sequences.[16] Different coverage levels are available, such as state coverage, transitions coverage and coverage of state pairs and transition pairs. Numerical ConstraintsIn addition to Boolean dependency rules referring to classes of the classification tree, Numerical Constraints allow to specify formulas with classifications as variables, which will evaluate to the selected class in a test case.[17] Classification Tree EditorThe Classification Tree Editor (CTE) is a software tool for test design that implements the classification tree method.[18][19][20][21] Over the time, several editions of the CTE tool have appeared, written in several (by that time popular) programming languages and developed by several companies. CTE 1The original version of CTE was developed at Daimler-Benz Industrial Research[11][20] facilities in Berlin. It appeared in 1993 and was written in Pascal. It was only available on Unix systems. CTE 2In 1997 a major re-implementation was performed, leading to CTE 2. Development again was at Daimler-Benz Industrial Research. It was written in C and available for win32 systems. CTE 2 was later licensed to Razorcat for inclusion with the module and unit testing tool Tessy. The classification tree editor for embedded systems[12][19] also based upon this edition. CTE XLIn 2000, Lehmann and Wegener introduced Dependency Rules with their incarnation of the CTE, the CTE XL (eXtended Logics).[13][18][21][22] Further features include the automated generation of test suites using combinatorial test design (e.g. all-pairs testing).[23] Development was performed by DaimlerChrysler. CTE XL was written in Java and was supported on win32 systems. CTE XL was available for download free of charge. In 2008, Berner&Mattner acquired all rights on CTE XL and continued development till CTE XL 1.9.4. CTE XL ProfessionalStarting in 2010, CTE XL Professional was developed by Berner&Mattner.[14] A complete re-implementation was done, again using Java but this time Eclipse-based. CTE XL Professional was available on win32 and win64 systems. New developments included:
TESTONAIn 2014, Berner&Mattner started releasing its classification tree editor under the brand name TESTONA. A free edition of TESTONA is still available for download free of charge, however, with reduced functionality. Versions
Advantages
Limitations
References1. ^{{cite book|last=Bath|first=Graham|author2=McKay, Judy|title=The software test engineer's handbook : a study guide for the ISTQB test analyst and technical test analyst advanced level certificates|year=2008|publisher=Rocky Nook|location=Santa Barbara, CA|isbn=9781933952246|edition=1st}} 2. ^1 2 {{cite book|last=Hass|first=Anne Mette Jonassen|title=Guide to advanced software testing|year=2008|publisher=Artech House|location=Boston|isbn=978-1596932869|pages=179–186}} 3. ^{{cite journal|last=Grochtmann|first=Matthias|author2=Grimm, Klaus|title=Classification Trees for Partition Testing|journal=Software Testing, Verification & Reliability|year=1993|volume=3|issue=2|pages=63–82|doi=10.1002/stvr.4370030203}} 4. ^1 2 {{cite book|last=Kuhn|first=D. Richard|author2=Kacker, Raghu N. |author3=Lei, Yu |title=Introduction to combinatorial testing|year=2013|publisher=Crc Pr Inc|isbn=978-1466552296|pages=76–81}} 5. ^{{cite book|last=Henry|first=Pierre|title=The testing network an integral approach to test activities in large software projects|year=2008|publisher=Springer|location=Berlin|isbn=978-3-540-78504-0|page=87}} 6. ^{{cite book|last=Kuhn|first=D. Richard|author2=Kacker, Raghu N. |author3=Lei, Yu |title=Introduction to combinatorial testing|year=2013|publisher=Crc Pr Inc|isbn=978-1466552296|pages=76–81}} 7. ^{{cite book|last=Hass|first=Anne Mette Jonassen|title=Guide to advanced software testing|year=2008|publisher=Artech House|location=Boston|isbn=978-1596932869|pages=179–186}} 8. ^{{cite book|last=Henry|first=Pierre|title=The testing network an integral approach to test activities in large software projects|year=2008|publisher=Springer|location=Berlin|isbn=978-3-540-78504-0|page=87}} 9. ^{{cite journal|last=Grochtmann|first=Matthias|author2=Grimm, Klaus|title=Classification Trees for Partition Testing|journal=Software Testing, Verification & Reliability|year=1993|volume=3|issue=2|pages=63–82|doi=10.1002/stvr.4370030203}} 10. ^{{cite journal|last=Ostrand|first=T. J.|author2=Balcer, M. J.|title=The category-partition method for specifying and generating functional tests|journal=Communications of the ACM|year=1988|volume=31|issue=6|pages=676–686|doi=10.1145/62959.62964}} 11. ^1 2 3 {{cite journal|last=Grochtmann|first=Matthias|author2=Wegener, Joachim|title=Test Case Design Using Classification Trees and the Classification-Tree Editor CTE|journal=Proceedings of the 8th International Software Quality Week(QW '95), San Francisco, USA|year=1995|url=http://www.systematic-testing.com/documents/qualityweek1995_1.pdf}} 12. ^1 {{cite journal|last=Conrad|first=Mirko|author2=Krupp, Alexander|title=An Extension of the Classification-Tree Method for Embedded Systems for the Description of Events|journal=Electronic Notes in Theoretical Computer Science|date=1 October 2006|volume=164|issue=4|pages=3–11|doi=10.1016/j.entcs.2006.09.002}} 13. ^1 2 {{cite journal|last=Lehmann|first=Eckard|author2=Wegener, Joachim|title=Test Case Design by Means of the CTE XL|journal=Proceedings of the 8th European International Conference on Software Testing, Analysis & Review (EuroSTAR 2000)|year=2000|url=http://www.systematic-testing.com/documents/eurostar2000.pdf}} 14. ^1 2 3 {{cite journal|last=Kruse|first=Peter M.|author2=Luniak, Magdalena|title=Automated Test Case Generation Using Classification Trees|journal=Software Quality Professional|date=December 2010|volume=13|issue=1|pages=4–12}} 15. ^Franke M, Gerke D, Hans C. und andere. Method-Driven Test Case Generation for Functional System Verification. Proceedings ATOS. Delft. 2012. P.36-44. 16. ^1 2 {{cite book|last=Kruse|first=Peter M.|author2=Wegener, Joachim|title=Test Sequence Generation from Classification Trees|journal=Software Testing, Verification and Validation (ICST), 2012 IEEE Fifth International Conference on|date=April 2012|pages=539–548|doi=10.1109/ICST.2012.139|isbn=978-0-7695-4670-4}} 17. ^1 2 {{cite book|last=Kruse|first=Peter M.|author2=Bauer, Jürgen |author3=Wegener, Joachim |title=Numerical Constraints for Combinatorial Interaction Testing|journal=Software Testing, Verification and Validation (ICST), 2012 IEEE Fifth International Conference on|date=April 2012|pages=758–763|doi=10.1109/ICST.2012.170|isbn=978-0-7695-4670-4}} 18. ^1 2 {{cite book|last=International|first=SAE|title=Vehicle electronics to digital mobility : the next generation of convergence ; proceedings of the 2004 International Congress on Transportation Electronics, Convergence 2004, [Cobo Center, Detroit, Michigan, USA, October 18 - 20, 2004]|year=2004|publisher=Society of Automotive Engineers|location=Warrendale, Pa.|isbn=978-0768015430|pages=305–306}} 19. ^1 2 {{cite book|last=[edited by] Gomes|first=Luís|author2=Fernandes, João M.|title=Behavioral modeling for embedded systems and technologies applications for design and implementation|year=2010|publisher=Information Science Reference|location=Hershey, PA|isbn=978-1605667515|page=386}} 20. ^1 2 {{cite book|last=[edited by] Zander|first=Justyna|title=Model-based testing for embedded systems|publisher=CRC Press|location=Boca Raton|isbn=978-1439818459 |author2=Schieferdecker, Ina |author3=Mosterman, Pieter J.|page=10|date=2011-09-15}} 21. ^1 2 {{cite book|last=[edited by] Rech|first=Jörg|author2=Bunse, Christian|title=Model-driven software development integrating quality assurance|year=2009|publisher=Information Science Reference|location=Hershey|isbn=978-1605660073|page=101}} 22. ^1 {{cite book|last=Olejniczak|first=Robert|title=Systematisierung des funktionalen Tests eingebetteter Software|year=2008|publisher=Technical University Munich|location=Doctoral dissertation|pages=61–63|url=http://d-nb.info/988858436/34.pdf|accessdate=10 October 2013}} 23. ^{{cite book|last=Cain|first=Andrew|author2=Chen, Tsong Yueh |author3=Grant, Doug |author4=Poon, Pak-Lok |author5=Tang, Sau-Fun |author6= Tse, TH |title=An Automatic Test Data Generation System Based on the Integrated Classification-Tree Methodology|journal=First International Conference, SERA 2003, San Francisco, CA, USA, June 25–27, 2003, Selected Revised Papers|volume=3026|year=2004|pages=225–238|doi=10.1007/978-3-540-24675-6_18|url=http://hub.hku.hk/bitstream/10722/43692/1/121170.pdf|accessdate=10 October 2013|series=Lecture Notes in Computer Science|isbn=978-3-540-21975-0}} 24. ^Franke, M.; Gerke, D.; Hans, C; and others: Method-Driven Test Case Genera-tion for Functional System Verification, Air Transport and Operations Sym-posium 2012; p.354-365. Proceedings ATOS. Delft 2012. 25. ^{{cite web|last1=Berner&Mattner|title=Press Release: Test Case Implementation with TESTONA 4.3|url=http://www.testona.net/en/media/press-releases/press-release-testona-4.3.html}} 26. ^{{cite book|last=Chen|first=T.Y.|author2=Poon, P.-L.|title=Classification-Hierarchy Table: a methodology for constructing the classification tree|journal=Australian Software Engineering Conference, 1996., Proceedings of 1996|year=1996|pages=93–104|doi=10.1109/ASWEC.1996.534127|isbn=978-0-8186-7635-2}} External links
2 : Software development process|Software testing |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。