Content deleted Content added
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=
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=
# 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=
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=
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
=== 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
== 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=
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
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
== References ==
|