ISCAS OpenIR  > 中科院软件所  > 中科院软件所
软件测试的自动分析工具
王晓旭
Major计算机软件与理论
2001
Degree Grantor中国科学院软件研究所
Degree Level博士
Place of Degree Grantor中国科学院软件研究所
Keyword静态分析 路径覆盖 前置条件 不可行路径 测试数据生成 约束求解 扩展的有限状态自动机
English Abstract随着软件技术的发展,程序的规模逐渐增大,复杂度也逐渐增加。在软件的开发过程中,完全依靠人力进行分析测试效率太低,而且不能保证软件质量。测试过程中的一个主要问题是生成具有一定覆盖度的测试数据。如果有一种工具能自动地分析程序并且生成测试数据,将大大地提高软件的可靠性并且节约大量的人力。目前自动生成测试数据的工具已有很多,但是大多数都有一定的局限性,不能完全自动地生成测试数据,所能处理的数据类型也有限。采用路径覆盖的方法生成程序的测试实例时,自动生成的路径大部分是不可执行的,不仅占用了大量的资源,而且大在降低了自动工具的实际应用价值。利用约束求解的工具可以排除不可行路径,最终求出的输入数据能够使程序沿着一条路径正常执行。本文中的主要工作有:1.工具PAT的实现;工具PAT能够自动的求出一条路径的前置条件。通过求解前置条件可以判断路径的可执行性,还可以求出使程序沿着该条路径运行的输入数据。数组一直是同类问题中的难点,本文中提出了两种处理数组的方法,能够很好的分析含有有限大小数组的程序。2.工具EFAT的实现;EFAT在扩展的有限状态机(EFSM)的基础上自动生成程序中的所有可行路径,求出一组路径覆盖的测试数据。PAT和EFAT能接受多种数据类型,包括整型、布尔型、浮点型、枚举型变量和有限大小的数组。
AbstractWith the rapid development of software technology, programs become large and more complex. During software development process, most programmers analyze and test programs manually. This is time consuming and cannot ensure good quality of software product. If there is a tool that can analyze program and generate test cases automatically, the reliability of software will be improved dramatically and considerable resources will be saved. For that purpose many tools have been developed. However, few of them can really generate test cases "automatically". Moreover, the variable types they can handle are quite limited. Most of the paths generated to satisfy path coverage are infeasible. Those infeasible paths not only take up a lot of resources, but also make the tool unpractical. We eliminate all the infeasible paths with a constraint solver. For a feasible path, values of input variables can be found such that the program is executed along that path. The main work of this thesis include: 1. Implementation of tool PAT PAT can deduce the predicates of a path automatically. By solving predicates the feasibility of a path can be decided and the input data making the program follow this path will be generated. This thesis also introduces two kinds of methods for dealing with fixed-size arrays, which is quite challenging. 2. Implementation of tool EFAT EFAT, which is based on extended finite state machines(EFSM), can automatically generate feasible paths and a suite of test cases under path coverage. PAT and EFAT accept several data types, such as integers, Booleans, floats, enumerates and fixed-size arrays.
Pages60
Language中文
Content Type学位论文
URIhttp://ir.iscas.ac.cn/handle/311060/5736
Collection中科院软件所_中科院软件所
Recommended Citation
GB/T 7714
王晓旭. 软件测试的自动分析工具[D]. 中国科学院软件研究所. 中国科学院软件研究所,2001.
Files in This Item:
File Name/Size DocType Version Access License
LW004469.pdf(1792KB) 限制开放--Application Full Text
Related Services
Recommend this item
Bookmark
Usage statistics
Export to Endnote
Google Scholar
Similar articles in Google Scholar
[王晓旭]'s Articles
Baidu academic
Similar articles in Baidu academic
[王晓旭]'s Articles
Bing Scholar
Similar articles in Bing Scholar
[王晓旭]'s Articles
Terms of Use
No data!
Social Bookmark/Share
All comments (0)
No comment.
 

Items in the repository are protected by copyright, with all rights reserved, unless otherwise indicated.