International Conference «Mathematical and Information Technologies, MIT-2016»

28 August – 5 September 2016

Vrnjacka Banja, Serbia – Budva, Montenegro

Lazić L.   Alashhb M.  

Software Test Case Optimization Applying Design of Experiments Methods

Reporter: Lazić L.

Software  testing  is  an  important  activity  of  the  software  development  process.  Software testing is most efforts consuming phase in software development. Nowadays research and investigations on software testing focuses on test coverage criterion design, test-case generation problem, test oracle problem, regression testing problem and fault  localization  problem. One would like to minimize the effort and maximize the number of faults detected and automate test case generation that contributes to reduce cost and time effort. Hence test case generation may be treated as an optimization problem. Multiple faults in a computer program can interact to form new behaviours in a program that would not be realized if the program were to contain the individual faults. Testing a software system requires the creation of test cases, which contain values for input parameters and the expected results. Exhaustive testing for all of the possible combinations of parameters, in most cases it is not possible, it is not feasible, or the cost is out of the available budget. The main goal of using different methods and techniques of testing is to create a smaller number of combinations of parameters and their values, which will be tested. This paper presents an in-depth study of the effects of the interaction of faults within a program providing extensive mathematical and statistical modelling information. In order to understand how faults interact with each other across real-world programs and how that interaction affects faults detection probability, we conducted the few experiments. The objective of our experiments are to optimize Test case data which are generated automatically using Statistically-Based Test Optimization techniques in order to provide more effective  approach in  terms  of  number  of detected software errors,  number  of  generated test  cases  and  execution  time  compared  to other existing software test strategies. Considering these issues, this paper explores the issues  pertaining  to combinatorial  t-way  software testing  from  pairwise  to  variable strength  interaction  in  order  to  highlight  the  state-of-the-art as well as the current state-of-practice providing few case studies to prove our optimization approach.
In this work our approach is described with Mathematical and Statistical Modelling, presenting quantitative aspects of the few case studies through: 1. Statistically designed experiments for data collection; 2.The statistical analysis method to determine model parameters, and 3.
A mathematical optimization model to optimize the test case design process. According to inputting different combination of conditions so as to produce different impacts, software testing designs a large number of test cases. If the implementation of an overall test, due to the limit of the combination of conditions, it is difficult to carry out. In order to generate high quality test cases as early as possible to improve the efficiency of software testing, it is designed a generation tool of the automatic software testing case on orthogonal experimental design. For the test data, the use of that tool design test cases. The practice shows that a small number of test cases are generated, the error detection ability is strong, and it greatly improves the efficiency of software testing.
The design of tests for software and other engineered products can be as challenging as the initial design of the product itself. A rich variety of test case design methods have evolved for software.
There are many applications in which the input domain is relatively limited. That is, the number of input parameters is small and the values that each of the parameters may take are clearly bounded. When these numbers are very small, it is possible to consider every input permutation and exhaustively text processing of the input domain. However, as the number of input values grows and the number of discrete values for each data item increases, exhaustive testing becomes impractical or impossible.
Orthogonal experimental design can be applied to problems in which the input domain is relatively small but too large to accommodate exhaustive testing. The orthogonal experimental design is particularly useful in finding errors associated with region faults-an error category associated with faulty logic within a software component. Based on the research of orthogonal experimental design method, it considers that to be applied to design test cases.
Through designing an automatically generated tool to generate test cases, it can be effective in reducing the number of test cases, so as to ensure accomplishing software testing in the lower cost and the lower risk. The ultimate aim is to effectively improve testing results and the efficiency of software testing.


To reports list

© 1996-2019, Institute of computational technologies of SB RAS, Novosibirsk