Start typing keywords to search the site. Press enter to submit.
Generative AI
Cloud
Testing
Artificial intelligence
Security
The elementary comparison test ( ECT) is a thorough technique for the detailed testing of the functionality. The necessary test basis is pseudo-code or a comparable specification in which the decision points and functional paths are worked out in detail and structurally.
The ECT aims at thorough coverage of the decision points into test cases that run from start to end of a process flow. The coverage is based on combining decision outcomes triggered by different condition values. (This is in contrast to testing process flows with path testing where only the coverage of paths and path combinations is relevant, ECT will result in more test cases than path testing for the same process flow).
ECT is normally used with the test technique Modified Condition Decision Coverage.When the quality risk level is very high, the ECT may be used with the test technique Multiple Condition Coverage.
In this section, the elementary comparison test is explained step by step. In this, the generic steps, see “Introduction” are taken as a starting point. An example is also set out, showing at every step how this technique works.
It is set out per step below how the elementary comparison test is applied to this function:
The test basis consists of pseudo-code or a comparable formal function description which can be copied directly in this step. If not, an extra activity should be carried out in order to convert the existing specifications into pseudo-code.
The decision points in the pseudo-code are provided with unique identification. It is usual to use the codes D1, D2, etc. for this (or D01, D02, etc. if there are many decision points).
For each decision point, the test situations are worked out in detail in a separate table. The rows of the table contain the data or parameters that occur in the conditions of the decision point. A column then indicates which requirements are set on each parameter for the relevant test situation.
NB! In D3, the combination “A = true and B = true” gives a logical contradiction and therefore may not occur in the test situations: Car age should be simultaneously lower than 2 and higher than, or equal to, 5. This contradiction would otherwise show up when the test cases are made physical.
NB! The parameter “Age” occurs in the decision points D1, D2 and D3. This leads to the following mutually exclusive test situations: D2-1 with D3-3; D2-3 with D3-3.
For some testers, the creation of logical test cases is made easier with the aid of a graphic demonstration of the test situations – a Graph.
With this, each decision point and end point is represented by a circle and each test situation by a line that goes from one circle to another.
A logical test case runs through the graph from beginning to end, linking a chain of test situations. The graph also supplies insight into the minimum number of test cases necessary to cover all the test situations. This is determined by the maximum number of parallel lines in the graph.
A test case runs through the functionality from start to end and will come across one or more decision points on its path. With each decision point, the test case will test one of the defined test situations.
The logical test cases are combined with the aid of a matrix. The rows contain the test situations and the columns contain the logical test cases. With each test case, it is indicated by one or more crosses which test situations should be tested by this test case. This matrix simultaneously serves as a check on the complete coverage of test situations.
In order to take account of the nesting of decision points, the columns “Value” and “Next” have been added. These indicate for each test situation what the outcome of the decision is (directly obtainable from the tables in step 2) and to which subsequent decision point (or end process) this leads. This helps to prevent the tester from placing a cross at a test situation where the test case does not go.
Each test situation sets particular requirements on one or more parameters. If a parameter occurs in several decision points, it is possible that a test situation in one decision point sets requirements on that parameter that conflict with the requirements of a test situation in another decision point. For example, test situation D2.1 requires “Age < 25” and test situation D3.3 requires “Age ≥ 70”. These test situations are mutually exclusive.
A logical test case may not contain “mutually exclusive test situations”, for that makes the test case inconsistent and therefore unexecutable. Such a test case will be discovered automatically, as soon as the test case has to be made physical (see next step). The problem can then be simply resolved, by replacing one of the “mutually exclusive test situations” with a non-conflicting test situation. In this connection, it can be advantageous to first translate each logical test case into a physical test case in order to discover possible mutually exclusive test situations, before starting on the following logical test case.
In order to reduce the probability of test cases occurring with mutually exclusive test situations, the optional step of an extra analysis could be carried out in advance:
With a physical test case, all the parameters (data) have to be given concrete substance, so that the relevant test situations are covered by this.
Physical test cases can be handily described with the aid of a matrix that is built up as follows:
An overview of all featured Test Design Techniques can be found here.
Another example you can find in the Syllabus paragraph 7.7.3.
Please insert in this col ‘Sidebar Inserter‘ and select your sidebar(s).
Test design techniques