Font Size: a A A

Study On Automatic Software Testing Techniques And Methods

Posted on:2007-03-23Degree:DoctorType:Dissertation
Country:ChinaCandidate:H JinFull Text:PDF
GTID:1118360218462622Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
We never stop to pursue the accuracy of the software after the first computer present itself. Software testing can help us to make certain and assure the quality of the software product, and enhance the confidence of the customer to use the software. At the same time, testing is a hard and complex work. Both the time and the resource of the testing is 50% of the whole project consuming. Thus, testing research is one of the most active areas in software engineering. To improve the capability and efficiency of testing have important value for software engineering research.From 70 years last century, along with the development of software engineering, the research of the systematic testing method and technology are continual. From single defects static testing to dynamic debugging, testing has been a formal and systematic engineering behavior. All kinds of formal testify and validation technologies are used to ensure the accuracy, and the statistics method has also been used for software testing to evaluate the quality and security. Along with software system scale daily expansion, as well as application domain unceasing development, software system test also becomes even more difficult and complex, and the traditional manual test limitation is also more obvious. The software test technology research needs to have the revolutionary development. The automated software test technology has received the close attention under such background, becomes important research direction in recent software testing.Test automation method can overcome many problems in the traditional test technology. What the automated test rely on is a set of integrity, strict test principle and appraisal standard, has the integrity test process. Therefore, it may avoid the test oversight caused by the tester inertia thought, also may reduce human error caused by the boring repetition manually tests. At the same time, the test automation has strictly controlled test steps, easy to realize tracing of error message and the scenario reappearance, and the automated test brings highly effective can give the test analyst enormous convenience. Therefore, the test automation technology has become the important research on increasing test efficiency and assurance of test validity.According to CMM model there was a TMM testing model in Software Testing. Along with the development of automation test, automated testing levels have been realized according to each TMM testing level. Automation test configuration tools, automated test method have been used in the life cycle of the software, enormously enhanced the efficiency, saved testing manpower, and greatly reduced test period. Now, the coalescent of automated test technology fundamental research and the engineering application, has the strong development tendency and the extremely valuable practical significance.The main innovation research results and the contribution from this article are as follows:(1) Proposed automation integrated test framework model oriented the program structure. In the practical software engineering application, as each software test has its own pertinence, it will be very difficulty to form a unified standard for all kinds of test activity. To satisfy the specific test object, we may need to effectively organize many kinds of test activity. All above made the design and realization of this test model become very hard. This automated frame model can be treated as a container to organize and related to each test activity. A well designed test frame model can provide the support to the test activity, and have a better extensibility and compatibility, also this model can adapt to different request of different test object to exert the character and performance of each test activity. The model provided by this dessertation is an automated test model which oriented C and focus on the software structure. Considering the dynamic test strategy, this model has strong adaptability. At the same time this model try to provide the support and realization to many test activity, and can especially supporting for the automation test case generating.(2) Designing a few test cases automated generating methods and technologies according to the different testing strategies. The automation test case building methodology lucubrates. Inside the research of test technology, test cases are the fundamental of a dynamic test, and choose of test case related to the entire test effect, as a result how to chose test cases have been an important research content. At the other hand, during the dynamic testing, test procedure takes test cases as the start point, so the automation test cases generation will directly related to the evaluation of the whole automated test result. This research realized the automated test building technology using the specification rules and decision table technique. In this paper, to ensure the sufficiency and completeness of the functional test, we are using the test condition decision table to resolve the lack of certainly and recognized test standard of the sufficiency.(3) Designing and building the test cases automated generation methods from white-box side. Evolution Computation and Genetic Algorithm have been used in the automated test case generation; it is an object oriented automation testing. To generating test cases that can cover the entire program control path, refer to the static control path, use GA to induct the automatic generation test cases, proved the equivalence partition to the path of the test cases space can be realized. This paper designed fitness function for GA, it can be used to reduce the building of redundant test cases and encourage of generating test cases that could be hard to get.(4) In the white box testing, study the heuristic learning algorithm to direct the automation test of the program statement coverage. This research applied the heuristic learning algorithm of artificial intelligence into the procedure of automation testing; and implemented proper algorithm to induce the automatic resoluting procedure. To detect the code that could not be covered during running time, needs to analysize the dynamic running path. If the reachability of program statement can be expressed as the Constraint Satisfaction Problems about the program branch conditions, then automated test procedure is the automated path resolution of CSP. In this part, the automated path resolution has been designed as a revised Forward Checking algorithm. This new algorithm integrated the boundary test data choose method and breadth first binary searching technique, can complete the search of real number domain and accelerate the resolving procedure.(5) Using finite states machine method in the automated test model. The finite states manchine is the formalized method, may provide the different rank confirmation for the software testing. For testing network protocol security, proposing the whole-process based method for connection monitor and check to improve the secuirity of system, it is one kind of concrete validation model. In the realization of automation testing process, the FSM canbe used in establishing of higher level abstract confirmation model. The research indicated that, the FSM can provide the different level support to the automated test validation.
Keywords/Search Tags:Automatic Software Testing, Automatic Test Cases Generation, Genetic Algorithm, Heuristic Study, Finite State Machine
PDF Full Text Request
Related items