Font Size: a A A

Optimizing Test Case Generation And Test Case Prioritization Based On Web Applications

Posted on:2016-09-05Degree:MasterType:Thesis
Country:ChinaCandidate:L H ChangFull Text:PDF
GTID:2308330479495432Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The scale and complexity of Web application system make the software errors or defects increase. The software testing as an important means to improve software reliability and quality has become the focus of the researchers. Meanwhile, in order to ensure the efficient execution of the testing and reduce the cost of testing, the work to optimize the test case generation and test case prioritization has become the urgent task.Test case generation based on model checking is an effective and automated approach to software testing. According to the given model and trap properties that defined as the negative of test goals, the model checker will generate the counterexamples as the model violate the trap properties. The counterexamples are suited as the test cases. But with the increasing scale of Web applications, this method tends to cause a large number of redundant test cases, which will increase the testing cost. Therefore, this paper proposes an approach to reduce the trap properties during the test cases generation process. In this method, system under test is modeled by Kripke, and we use the LTL to describe the trap properties. Once a test cases is generated, the SAT solver is called to verify whether the generated test case covers the rest trap properties. If the trap properties are covered by the generated test case, they will be removed before call the model checker to generate test cases. As a result, the test cases set will be reduced and the times of calling model checker will be decreased.After the test cases are generated, the tester should execute the regression test to check whether the system is stable in the iterative development process. With the increase of test cases set, it becomes impractical to execute the total test cases during the regression test. One of regression testing approaches, test case prioritization, aims at sorting and executing test cases in the order of their potential abilities to achieve certain testing objective. This paper presents a test case prioritization method based on history information. And the test case prioritization is initialized based on the amount of errors and the times of unstable execution. During the regression test, we will adjust the sort of test cases according to the execution result, in order to achieve that we execution the test cases as less as possible to defect errors as much as possible.Model for Web applications is the basis for testing. In this paper, we use the UML state diagram to model the Web application. Meanwhile, for project developed by our research group, we model it and generate test cases for it by our method, and optimize the test case prioritization for the regression test. The experiment results show the validity and performability of the optimized methods proposed by us. Based on these, we developed a tool prototype for optimizing test cases generation and a tool prototype to adjust the test case prioritization automatically based on history information.
Keywords/Search Tags:Web application, model checking, test cases generation, regression test, test cast prioritization
PDF Full Text Request
Related items