Classification Tree Method: Difference between revisions

Content deleted Content added
OMPwiki (talk | contribs)
m Versions: Eclipse 4.5 is used in TESTONA 5.1
Citation bot (talk | contribs)
m Alter: isbn, template type. Add: isbn, series, volume, date. | You can use this bot yourself. Report bugs here. | User-activated.
Line 1:
{{About|a software testing methodology|decision trees and prediction modeling using them (known as Classification tree)|Decision tree|and|Classification tree}}
 
The '''Classification Tree Method''' is a method for test design,<ref>{{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}}</ref> as it is used in different areas of [[software development]].<ref name=advStest>{{cite book|last=Hass|first=Anne Mette Jonassen|title=Guide to advanced software testing|year=2008|publisher=Artech House|___location=Boston|isbn=1596932864978-1596932869|pages=179–186}}</ref>
It was developed by Grimm and Grochtmann in 1993.<ref name=GG>{{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}}</ref>
Classification Trees in terms of the Classification Tree Method must not be confused with [[decision tree]]s.
 
The classification tree method consists of two major steps:<ref name=lkk>{{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=1466552298978-1466552296|pages=76–81}}</ref><ref name=pierre>{{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}}</ref>
# Identification of test relevant aspects (so called ''classifications'') and their corresponding values (called ''classes'') as well as
# Combination of different classes from all classifications into [[test case]]s.
Line 21:
The CTM is a [[black-box testing]] method and supports any type of system under test. This includes (but is not limited to) [[Computer hardware|hardware systems]], integrated hardware-software systems, plain [[software system]]s, including [[embedded software]], [[user interface]]s, [[operating system]]s, [[parser]]s, and others (or [[subsystem]]s of mentioned systems).
 
With a selected system under test, the first step of the classification tree method is the identification of test relevant aspects.<ref name=lkk>{{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=1466552298978-1466552296|pages=76–81}}</ref>
Any system under test can be described by a set of classifications, holding both input and output parameters.
(Input parameters can also include [[Environment (systems)|environment]]s states, [[pre-condition]]s and other, rather uncommon parameters).<ref name=advStest>{{cite book|last=Hass|first=Anne Mette Jonassen|title=Guide to advanced software testing|year=2008|publisher=Artech House|___location=Boston|isbn=1596932864978-1596932869|pages=179–186}}</ref>
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.<ref name=pierre>{{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}}</ref>
Line 87:
=== Test Sequence Generation ===
 
With the addition of valid transitions between individual classes of a classification, classifications can be interpreted as a [[Finite-state machine|state machine]], and therefore the whole classification tree as a [[Statechart#Harel statechart|Statechart]]. This defines an allowed order of class usages in test steps and allows to automatically create test sequences.<ref name="seqgen">{{cite journalbook|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}}</ref> Different coverage levels are available, such as [[Code coverage#Basic coverage criteria|state coverage]], transitions coverage and coverage of state pairs and transition pairs.
 
=== Numerical Constraints ===
 
In addition to Boolean dependency rules referring to classes of the classification tree, Numerical Constraints allow to specify [[formula]]s with classifications as variables, which will evaluate to the selected class in a test case.<ref name="numdeb">{{cite journalbook|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}}</ref>
 
== Classification Tree Editor ==
The '''Classification Tree Editor''' (CTE) is a software tool for test design that implements the classification tree method.<ref name=vehicleElectronics>{{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=076801543X978-0768015430|pages=305–306}}</ref><ref name=behave>{{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=160566751X978-1605667515|page=386}}</ref><ref name=justyna>{{cite book|last=[edited by] Zander|first=Justyna|title=Model-based testing for embedded systems|publisher=CRC Press|___location=Boca Raton|isbn=1439818452978-1439818459 |author2=Schieferdecker, Ina |author3=Mosterman, Pieter J.|page=10|date=2011-09-15}}</ref><ref name=model2>{{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=1605660078978-1605660073|page=101}}</ref>
 
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.
Line 112:
=== CTE XL ===
 
In 2000, Lehmann and Wegener introduced Dependency Rules with their incarnation of the CTE, the CTE XL (eXtended Logics).<ref name=LW /><ref name=vehicleElectronics /><ref name=model2 /><ref name=rob>{{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}}</ref> Further features include the automated generation of [[test suite]]s using combinatorial test design (e.g. [[all-pairs testing]]).<ref>{{cite journalbook|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}}</ref>
 
Development was performed by [[DaimlerChrysler]]. CTE XL was written in [[Java (programming language)|Java]] and was supported on win32 systems.
Line 186:
* When test design with the classification tree method is performed without proper test decomposition, classification trees can get large and cumbersome.
* New users tend to include too many (esp. irrelevant) test aspects resulting in too many test cases.
* There is no algorithm or strict guidance for selection of test relevant aspects.<ref>{{cite journalbook|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-32}}</ref>
 
== References ==