Along with the rapid development of software industry, scale and complexity of software has been steadily on the increase. As the key technology of software quality assurance, software testing attracts more and more attention. The emergence and development of automated testing make software testing into a new period, which increases the speed and efficiency of software testing greatly. Automated testing techniques and methods have gradually become the focus of research in academic and industrial area.This paper introduces software testing theory and the development of automated testing technology, then specification-based testing and data-driven testing techniques are discussed in detail, on this basis the paper proposes an automatic testing framework based on UML state diagram, the core of the framework includes the automatic generation of test cases, the generation,management and implementation of test scripts. For the test case generation,ideal of function minimization in code testing is applied, according to border testing criterion, the paper presents ON-OFF search algorithm to generate test data, and adopts the memorize search to generate test cases efficiently, the generated test cases achieve transition coverage criterion. At the same time, a test case generation tool is developed; For the test script generation,management and implementation, this paper proposes a three-layers automatic testing architecture, using modular design and data-driven technique, which achieves the separation of business layer, script layer and data layer, improves the efficiency of the automatic development and reduces the cost of establishing and maintaining scripts; Finally, the test framework is applied in Web applications HDPOS5, which verifies the feasibility and practical value of the framework. |