Detailed explanations have been given in Section 5.1 and are valid here. If this is not done, the final goal will never be matched, since there are no uncovered t-tuples that correspond to this interaction. The proposed verification strategy to test distributed automotive embedded software functions has given promising results by providing means to identify test gaps and test redundancies. It helps establish an effective and feasible approach to capture function test coverage information that helps enhance the effectiveness of integration testing of the distributed software functions. It is an adaptation of IPOG where constraint handling is provided via a SAT solver. The greatest contribution are three optimizations that seek to reduce the number of calls of the SAT solver.

- However, we believe that our choice of the set of samples is significant (80) with strengths spanning from 2 to 6.
- In this article, we will discuss a few such tools that are available for free on the internet to generate test configurations.
- This tool has an extremely fast and efficient algorithm and can generate about 15 test cases in 1 second.
- Pre-test effects, Post-test effects, and the Hawthorne effects (due to the participants simply feel stimulated by knowing that they are participating in an innovative experiment) are some of these threats.
- In the second controlled experiment, TTR 1.2 also presents better performance for higher strengths (5, 6) where only in one case it is not superior (in the comparison with IPOG-F).

Most faults detected by 1-way and 2-way tests, with one caused by 4-way interaction. Abstract—Modern passenger cars have a comprehensive embedded distributed system with a huge number of bus devices interlinked in several communication networks. The number of (distributed) features and hence the risk of undesired feature interaction within this distributed system rises significantly.

## All-pairs testing

One of the most commonly used combinatorial testing methods is the pairwise testing technique which involves testing all pairs of input variable values. In this section we present some basic concepts and definitions (Kuhn et al. 2013; Petke et al. 2015; Cohen et al. 2003) related to CIT. A CIT algorithm receives as input a number of parameters (also known as factors), p, which refer to the input variables. Each parameter can assume a number of values (also known as levels) v. Moreover, t is the strength of the coverage of interactions.

Another intuitive tool for performing combinatorial testing is testcover.com where factors, values, and constraints are simply written in the editor, and test configurations are generated. This tool has an extremely fast and efficient algorithm and can generate about 15 test cases in 1 second. Another advantage is the tool’s easy generator requests where we just have to write the factors and values in new lines, that’s it! Computer scientists and mathematicians both work on algorithms to generate pairwise test suites. Numerous exist to generate such test suites as there is no efficient exact solution for every possible input and constraints scenarios.

Using carefully chosen test vectors, this can be done much faster than an exhaustive search of all combinations of all parameters, by “parallelizing” the tests of parameter pairs. Automatic Efficient Test Generator (AETG) (Cohen et al. 1997) is based on algorithms that use ideas of statistical experimental design theory to minimize the number of tests needed for a specific level of test coverage of the input test space. AETG generates test cases by means of Experimental Designs (ED) (Cochran and Cox 1950) which are statistical techniques used for planning experiments so that one can extract the maximum possible information based on as few experiments as possible. It makes use of its greedy algorithms and the test cases are constructed one at a time, i.e. it does not use an initial solution. IPOG-F (Forbes et al. 2008) is an adaptation of the IPOG algorithm (Lei et al. 2007).

Such distributed automotive features pose a huge challenge in terms of efficient testing. Bringing together Combinatorial Testing with Automated Feature-Interaction Testing reduces the testing effort for such features significantly. Full data obtained during the experiments are in (Balera and Santiago Júnior 2017). The concatenation operator, ∙, is such that A∙B is a matrix where a new row (sequence) B is added after the last row of A. Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy.

## IEEE Account

ArXiv is committed to these values and only works with partners that adhere to them.

After calculating the parameters interactions, Φ, the initial solution, and the goals of all test cases of M, Main selects the parameter interaction that has the highest amount of uncovered t-tuples (line 2) and constructs t-tuples so that they can be reallocated. However, they will be reallocated gradually, one by one, as goals are reached (line 4 to 13). The procedure combines the t-tuples with the test cases of M in order to match them. Three versions of the TTR algorithm were developed and implemented in Java. Version 1.0 is the original version of TTR (Balera and Santiago Júnior 2015). In version 1.1 (Balera and Santiago Júnior 2016), we made a change where we do not order the input parameters.

## Combinatorial Interaction Testing with CITLAB

For this experiment, we identified the algorithm/tool for CIT test case generation. The dependent variables allow us to observe the result of manipulation of the independent ones. For this study, we identified the number of generated test cases and the time to generate each set of test cases and we jointly considered them. The main reasoning of TTR 1.1 is to build an MCA M through the reallocation of t-tuples from a matrix Θ to this matrix M, and then each reallocated t-tuple should cover the greatest number of t-tuples not yet covered, considering a parameter called a goal (ζ). Also note that P is the submitted set of parameters, V is the set of values of the parameters, and t is the strength. As we have just pointed out, TTR 1.1 follows the same general 3 steps as we have in TTR 1.0.

Note that for such a study, the possibility of combination of strengths and parameters/values is literally infinite. However, we believe that our choice of the set of samples is significant (80) with strengths spanning from 2 to 6. Also, recall that the samples were determined completely randomly (by combining parameters, values, and strengths), as well as the input order of parameters and values was also random (for the 5 executions addressing nondeterminism).

Through two main steps, horizontal and vertical growths, an MCA is built. The algorithm is supported by two auxiliary matrices which may decrease its performance by demanding more computer memory to use. Moreover, the algorithm performs exhaustive comparisons within each horizontal extension which may cause longer execution. On the other hand, TTR 1.2 only needs one auxiliary matrix to work and it does not generate, at the beginning, the matrix of t-tuples. These features make our solution better for higher strengths (5, 6) even though we did not find statistical difference when we compared TTR 1.2 with our own implementation of IPOG-F (Section 6.4). In this section we present some relevant studies related to greedy algorithms for CIT.

Therefore, even though an unconstrained CIT-derived test case may seem pointless or even somewhat difficult to execute, it may still be interesting to see how the software will behave in the presence of inconsistent inputs. In this section, we will be discussing some easy-to-use, free, and popular combinatorial testing tools. We can’t do exhaustive testing, but the interaction rule says we don’t have to, within reason; we can still provide very strong assurance by testing all 4-way to 6-way combinations. Multiple studies have found 4-way to 6-way combination coverage was able to detect all faults found with exhaustive testing. Thus we can refer to this type of testing as “effectively exhaustive” (within reason).

Thus the steps described above are repeated with the insertion/reallocation of t-tuples into the matrix M. Once an uncovered t-tuple of Θ is included in M and meets the goal, that t-tuple is excluded from Θ (line 7). Note that if t-tuple does not allow the test to which it was combined to reach the goal, it is “unbound” (line 9) from this test case so that it can be combined with the next test case.

As IPOG-C is based on IPOG, it accomplishes exhaustive comparisons in the horizontal growth which may lead to a longer execution. Before going on with the descriptions of the procedures of our algorithm, we need to define the following operators https://www.globalcloudteam.com/ applied to the structures (set, sequence, matrix) we handle. We also present some examples to better illustrate how such operators work. Just like the CAGen tool, Pairwiser too requires one by one entering of all factors and their values.

Efficient test bitstream generation method for verification of HEVC decoders. In Consumer Electronics (ISCE 2014), The 18th IEEE International Symposium on (pp. 1-2). The N-wise testing then would just be, all possible combinations from the above formula. Semantic Scholar is a free, AI-powered research tool for scientific literature, based at the Allen Institute for AI. M. Mehta, R. Philip, Applications of Combinatorial Testing methods for Breakthrough Results in Software Testing, 2nd Intl.