Font Size: a A A

Research On Adaptive Random Generation And Prioritization Of Combinatorial Test Cases

Posted on:2014-02-19Degree:DoctorType:Dissertation
Country:ChinaCandidate:R B HuangFull Text:PDF
GTID:1228330425973350Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the increasing complication of the system, the software may be affected by many factors such as system configurations, user inputs, internal events, etc. These factors form an enormous combinatorial space, for one thing, it is very critical to guide how to choose a portion from the combinatorial space in order to test the system. As a fundamental method, random testing has been widely used in the combinatorial space, and it has many advan-tages, for example it is very simple to be manipulated and it has various efficient algorithms. However, its poor failure-detection capability limits its application in the combinatorial s-pace. As a consequence, how to improve the failure-detection capability of random testing seems significantly urgent in the combinatorial space. For another thing, the execution order of test cases in a generated combinatorial test suite plays an important role in the aspect of improving the testing efficiency. Therefore, it is very critical to develop test case prioritiza-tion algorithms for combinatorial test cases.Combinatorial space based adaptive random testing introduces traditional adaptive ran-dom testing into combinatorial space. As an enhancement of random testing, adaptive ran-dom testing not only guarantees the benefits of random testing, but also remedies the short-age of random testing in terms of failure-detection capability. By adopting some similarity measures for categorical data that are widely used in data mining and proposing two new similarity measures, combinatorial space based adaptive random testing can select combi-natorial test cases with more diversity compared with random testing. Combinatorial space based adaptive random testing not only improves the failure detection capability of random testing, but also further enriches the application range of adaptive random testing.When a combinatorial test suite has been generated, the potentially failure-revealing combinatorial test cases that are executed earlier may enable earlier fault characterization and revision, so as to improve testing efficiency. Therefore, the execution order of com-binatorial test cases in the combinatorial test suite (that is, the technique of prioritizing combinatorial test suite) plays a critical role in the whole testing process. Fixed-strength covering array is an important type of combinatorial test suite, and has been widely studied and applied in practice. The prioritization of fixed-strength covering array focuses on how to use more information to guide itself. Using multiple interaction coverage covered by pre-viously selected combinatorial test cases can effectively prioritize the remainder candidates in a given fixed-strength covering array, which can not only improve the rale of covering interaction coverage, but also improve the rate of fault detection.As the generalization of fixed-strength covering array, variable-strength covering ar-ray is really existed in practical systems, and has been popularly used in combinatorial interaction testing. Some special characteristics of variable-strength covering array may present some differences when prioritizing itself. In other words, traditional prioritization techniques used for prioritizing fixed-strength covering arrays may fail to prioritize variable-strength covering arrays. Therefore, it seems increasingly urgent to investigate the priori-tization strategies for variable-strength covering arrays. Given a variable-strength covering array, utilizing its "Main-Strength" can prioritize its candidates so as to cover interaction coverage of "Main-Strength" as soon as possible. After that, utilizing its "Sub-Strength" can prioritize the remainder candidates in order to cover interaction coverage of "Sub-Strength" as early as possible. Therefore, the reasonability and rationality of variable-strength cover-ing array prioritization algorithms are effectively improved.In combinatorial space, a given combinatorial test suite is usually a "general" com-binatorial test suite, and may be not a fixed-strength covering array or a variable-strength covering array. In this case, the current techniques that guide the prioritization of fixed-strength covering arrays or variable-strength covering arrays may face a big challenge, and even fail to be executed. Therefore, the prioritization of "general" combinatorial test suite focuses on how to use self-characteristics of "general" combinatorial test suite to guide itself. Utilizing incremental interaction coverage covered by "general" combinatorial test suite can be available to guide the prioritization process, which may bring at least two advantages:(1) it does not consider of the type of a given combinatorial test suite (that is, universality); and (2) it guarantees the rationality and reasonability of the prioritization.
Keywords/Search Tags:Software testing, Combinatorial space, Adaptive random testing, Covering ar-ray, Variable-strength covering array, "General" combinatorial test suite, Testcase prioritization
PDF Full Text Request
Related items