Title: | 软件测试的自动分析工具 |
Author: | 王晓旭
|
Issued Date: | 2001
|
Major: | 计算机软件与理论
|
Degree Grantor: | 中国科学院软件研究所
|
Place of Degree Grantor: | 中国科学院软件研究所
|
Degree Level: | 博士
|
Keyword: | 静态分析
; 路径覆盖
; 前置条件
; 不可行路径
; 测试数据生成
; 约束求解
; 扩展的有限状态自动机
|
Abstract: | 随着软件技术的发展,程序的规模逐渐增大,复杂度也逐渐增加。在软件的开发过程中,完全依靠人力进行分析测试效率太低,而且不能保证软件质量。测试过程中的一个主要问题是生成具有一定覆盖度的测试数据。如果有一种工具能自动地分析程序并且生成测试数据,将大大地提高软件的可靠性并且节约大量的人力。目前自动生成测试数据的工具已有很多,但是大多数都有一定的局限性,不能完全自动地生成测试数据,所能处理的数据类型也有限。采用路径覆盖的方法生成程序的测试实例时,自动生成的路径大部分是不可执行的,不仅占用了大量的资源,而且大在降低了自动工具的实际应用价值。利用约束求解的工具可以排除不可行路径,最终求出的输入数据能够使程序沿着一条路径正常执行。本文中的主要工作有:1.工具PAT的实现;工具PAT能够自动的求出一条路径的前置条件。通过求解前置条件可以判断路径的可执行性,还可以求出使程序沿着该条路径运行的输入数据。数组一直是同类问题中的难点,本文中提出了两种处理数组的方法,能够很好的分析含有有限大小数组的程序。2.工具EFAT的实现;EFAT在扩展的有限状态机(EFSM)的基础上自动生成程序中的所有可行路径,求出一组路径覆盖的测试数据。PAT和EFAT能接受多种数据类型,包括整型、布尔型、浮点型、枚举型变量和有限大小的数组。 |
English Abstract: | With 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. |
Language: | 中文
|
Content Type: | 学位论文
|
URI: | http://ir.iscas.ac.cn/handle/311060/5736
|
Appears in Collections: | 中科院软件所
|
File Name/ File Size |
Content Type |
Version |
Access |
License |
|
LW004469.pdf(1792KB) | -- | -- | 限制开放 | -- | 联系获取全文 |
|
Recommended Citation: |
王晓旭. 软件测试的自动分析工具[D]. 中国科学院软件研究所. 中国科学院软件研究所. 2001-01-01.
|
|
|