Classification Tree Method

The classification tree method (English classification tree method) is a widely used in the field of embedded software methodology for determining functional black-box tests. It was originally developed by Grimm and Grochtmann 1993. This is not about classification trees for the purposes of decision trees.

The classification tree method mainly consists of two steps:

The starting point is the functional specification (eg, requirements, use cases, ... ) of the test object. The second step of the method follows the principles of combinatorial test design.

Result is a set of test case specifications that will contain as error -sensitive, but no redundant test case specifications. Due to the methodological procedure is to ensure that the resulting set of test case specifications contains all relevant test cases.

Although the method is applicable with pen and paper, usually the Classification Tree Editor (English Classification Tree Editor ) is used for this.

  • 2.1 origin
  • 2.2 classification tree method for embedded systems
  • 2.3 Specific test data and temporal aspects
  • 2.4 dependency rules and automatic test case generation
  • 2.5 Prioritizing test case generation
  • 2.6 Test sequence generation
  • 2.7 Numerical dependencies
  • 4.1 Visualization of test ideas
  • 4.2 Builds confidence
  • 4.3 Reduce the complexity
  • 4.4 Checks the specification
  • 4.5 Estimation of testing effort

The application of the classification tree method

Requirement for the application of the method is the determination of a test object. The classification-tree method is a method for the black-box test, and supports many different kinds of specimens, such as hardware systems, integrated hardware - software systems, software-only systems, especially embedded systems, user interfaces, operating systems, the parser, as well as subsystems thereof.

After selecting the device under test, the first step now is to determine the test-relevant aspects. Each system can be described as a collection of classifications for all input and output parameters. (Where input parameters can also contain environment variables, Pre- Conditions and other, more unusual parameters. ) Each classification consists of an arbitrary set of disjoint classes, which describe possible manifestations of the parameters. The choice of classes in this case typically follows the principle of equivalence class formation for abstract test cases and the limit analysis for concrete test cases. Together, all classifications and classes the classification tree. In addition, classifications can also be semantically grouped into compositions.

This division of the problem into different aspects that can be refined separately below, reduces the complexity of the original test problem.

An equivalence class can be further classified according to additional aspects. The repeated formation of sub - classifications with the associated classes follows finally the classification tree. Its root is the problem; it grows from top to bottom; Classifications are framed by rectangles; Classes have no frame.

The second major step of the way test cases are then formed in that for each classification in the tree exactly one class is chosen. The selection of the test cases was originally a manual activity of the tester.

The leaves of the classification tree (ie, classes without further classification) form the head of the table combination. A row in the combination table specifies a test case by the leaf classes of the tree are checked, from which a value is used for this test case.

Example

A database system, a test design is to be performed. In applying the classification tree method gives the first definition of the test-relevant aspects in the first step, the classifications: user role, database queries and access type. For the user rolls two classes were identified: Normal user and administrator. There are three types of database queries: Add, Edit and Delete. For access type three classes were found: Natives tool, web browser, API. The browser class is further refined with the test aspect of brand, three possible classes can be found here: Internet Explorer, Mozilla Firefox, and Apple Safari.

The first step of the method is now complete. Of course, there are other potential aspects of the test, such as the speed of the network connection or the number of existing database entries. Due to the graphical representation of aspects of the test in the tree, the selected aspects and the planned values ​​can quickly see.

In the second step, three test cases were manually dialed:

Still a little statistic: There are 30 possible test cases in total (2 user roles * 3 database queries * 5 types of access ). For minimum coverage ranging from 5 test cases, since there are 5 types of access ( access type and the classification with the largest number of classes ).

Extensions

Origin

The classification tree method was developed in the software research laboratory of Daimler -Benz in Berlin and is a further development of the Category Partition Method ( CPM) of the eastern edge and Balcer. Compared to the CPM, it offers the following advantages:

  • Notation: In the CPM, there was only texuelle description as opposed to the graphical tree representation.
  • Refinements allow the specification of conditional test aspects.
  • Tool support: The tool of the eastern edge and Balcer supported only test case generation without determining the aspects of the test.

Classification tree method for embedded systems

The classification tree method was originally intended for the design and specification of abstract test cases. With the classification tree method for embedded systems can also implement tests. Here are some additional information has been provided:

The module testing tool Tessy also uses some of this extension.

Specific test data and temporal aspects

Approaches of classification trees to generate test data were also persecuted.

The method Time Partition Testing ( TPT ) is an extension of the classification tree method for temporal aspects that play a major role in the testing of control and regulation systems. E. Lehmann describes in his thesis, such as classifications based on states and state transitions in the TPT automaton can be mapped, and thus also temporal aspects can be mapped.

Dependency rules and automatic test case generation

The refinement mechanism in the classification tree method can be used for the modeling of dependencies. However, as there are no dependencies between classes of different classifications can be modeled. Lehmann and Wegener have introduced dependency rules based on Boolean algebra for the CTE. They also enabled the automatic generation of test case quantities based on combinatorial test design (eg the pairwise method).

Prioritizing test case generation

Recent extensions to classification tree method concern the prioritized test case generation: With them it is possible to assign elements of the classification tree weights in the form of probability, error probability and risk. These weights can then be used in the generation of test cases to generate test cases in order of priority ( the covered weights ). Statistical testing (for example, for testing of fatigue wear ) is also possible in that the weights assigned to be interpreted as a discrete probability distribution.

Test sequence generation

With the addition of valid transitions between the different classes of a classification, these classifications can be interpreted as a state machine. The totality of all classifications in the tree is to the statechart. This process defines a sequence of allowed uses class in test steps, and thus automatic generation of valid test sequences. Different coverage rates are available as state coverage, transition coverage ( path coverage ) and cover state of transition pairs and pairs.

Numerical dependencies

In addition to Boolean dependencies that make statements on the common occurrence of classes in a test case, also numerical dependencies can be defined that specify a calculation rule, where classifications are interpreted as variables and their assignment results from the used in the test case classes.

Classification Tree Editor CTE

The classification-tree editor CTE support for the draft classification tree as well as the specification of test cases. The CTE has a graphics editor that is specifically designed for the drawing of classification trees. For example, take into account the CTE the prescribed sequence of classification or composition and class and recommends when drawing before the tree each matching element. The test case specifications are created in the combination table and managed by the CTE. They can be summarized in the test sequences that are required for the description of dynamic processes. Documentation, refer to the CTE reports in Excel, Word or generated as a text file. For unit testing tool Tessy test cases created can be exported directly.

Benefits

Visualization of test ideas

A significant advantage of the classification tree method is the visualization of test ideas that are easily communicable thus, for example, during reviews. Reviews are also an effective way when it comes to make sure that no test case specifications are missing.

Builds confidence

If you have created a carefully crafted tree and considered test case specifications, there is a great probability that you will most or maybe even find almost all errors

Reduces the complexity

When you first think about the necessary test cases for a particular problem has mostly numerous ideas and ideas. The challenge is rather to structure the ideas and to identify redundant test cases. The classification tree method reduces the complexity lies in this task, because it allows to isolate individual aspects ( classifications ) and to get specific ideas about the necessary ( and unnecessary! ) Equivalence classes.

Checks the specification

The first step of the classification-tree method is the analysis of the problem specification. This automatically prompts a check on the specification to omissions, contradictions and ambiguities.

Estimation of testing effort

It follows from the classification tree can be used to determine certain extent, eg the minimal number of test cases for a given tree. These and other measures are determined by the CTE tool.

Disadvantages and criticisms

Creating good classification trees is complicated by the mixing of different aspects. While the equivalence class method and the limit analysis initially each size for the decomposition into relevant areas alone is considered, and dependencies between variables are considered only in a second step, both steps in the sense of the classification tree method must be made together. This is necessary, since the tree structure is mainly influenced by relationships between sizes.

Classification trees are clearly in a limited number of classifications, equivalence classes and test cases. For large classification trees it is difficult to keep track.

478535
de