T-Way testing with seeding support
Abstract
Software testing is one of the important parts of software development life cycle
in software engineering, but this process is still very labour- intensive and expensive .
Around 50% of project money goes under software testing. Hence, the focus is to find
automatic and cost-effective software testing and debugging techniques to ensure high
quality of released product. Nowdays, research on software testing focuses on test
coverage criterion design, test-data generation problem, test oracle problem, regression
testing problem and fault localization problem. Among these problems test-data
generation problem is an important issue in producing error free software. To solve this
problem, Pairwise strategy (i.e. two-way interaction) has been known as an effective test
data reduction strategy and able to detect from 60 to 80% of the faults. For a typical
software product, it is desired to test all possible combinations of input data in various
configurations, Exhaustive testing is impossible to execute prior to release in the market.
The lack of resources, cost factors and tight deadlines to market are some of the main
factors that prevent this consideration. Another than that, the lack of testing can lead to
disastrous consequences including loss of data, fortunes and even lives if human
resources are not planned and managed effectively. In current practice, usually the testdata are selected and executed randomly. Many useful strategies (2-Way and T- Way
sampling) were developed to generate test-data and facilitate smooth testing process.
Comprehensive test data generation is nondeterministic polynomial hard problem (NPcomplete). Hence, optimization in terms of number of generated test-data and execution time is in demand. However, as t-way test suite generation is NP hard problem, no single existing strategy can claim dominance as far as optimality of test size is concerned. Motivated by the aforementioned challenges, this Final Year Project design and evaluate t-way strategy called TSWS that supports seeding possibilities.