Institutional Repository
| 软件测试的自动分析工具 | |
| 王晓旭 | |
| 专业 | 计算机软件与理论 |
| 2001 | |
| 学位授予单位 | 中国科学院软件研究所 |
| 学位 | 博士 |
| 学位授予地点 | 中国科学院软件研究所 |
| 关键词 | 静态分析 路径覆盖 前置条件 不可行路径 测试数据生成 约束求解 扩展的有限状态自动机 |
| 摘要 | 随着软件技术的发展,程序的规模逐渐增大,复杂度也逐渐增加。在软件的开发过程中,完全依靠人力进行分析测试效率太低,而且不能保证软件质量。测试过程中的一个主要问题是生成具有一定覆盖度的测试数据。如果有一种工具能自动地分析程序并且生成测试数据,将大大地提高软件的可靠性并且节约大量的人力。目前自动生成测试数据的工具已有很多,但是大多数都有一定的局限性,不能完全自动地生成测试数据,所能处理的数据类型也有限。采用路径覆盖的方法生成程序的测试实例时,自动生成的路径大部分是不可执行的,不仅占用了大量的资源,而且大在降低了自动工具的实际应用价值。利用约束求解的工具可以排除不可行路径,最终求出的输入数据能够使程序沿着一条路径正常执行。本文中的主要工作有:1.工具PAT的实现;工具PAT能够自动的求出一条路径的前置条件。通过求解前置条件可以判断路径的可执行性,还可以求出使程序沿着该条路径运行的输入数据。数组一直是同类问题中的难点,本文中提出了两种处理数组的方法,能够很好的分析含有有限大小数组的程序。2.工具EFAT的实现;EFAT在扩展的有限状态机(EFSM)的基础上自动生成程序中的所有可行路径,求出一组路径覆盖的测试数据。PAT和EFAT能接受多种数据类型,包括整型、布尔型、浮点型、枚举型变量和有限大小的数组。 |
| 其他摘要 | 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. |
| 页数 | 60 |
| 语种 | 中文 |
| 内容类型 | 学位论文 |
| URI标识 | http://ir.iscas.ac.cn/handle/311060/5736 |
| 专题 | 中科院软件所_中科院软件所 |
| 推荐引用方式 GB/T 7714 | 王晓旭. 软件测试的自动分析工具[D]. 中国科学院软件研究所. 中国科学院软件研究所,2001. |
| 条目包含的文件 | ||||||
| 文件名称/大小 | 文献类型 | 版本类型 | 开放类型 | 使用许可 | ||
| LW004469.pdf(1792KB) | 限制开放 | -- | 请求全文 | |||
| 个性服务 |
| 推荐该条目 |
| 保存到收藏夹 |
| 查看访问统计 |
| 导出为Endnote文件 |
| 谷歌学术 |
| 谷歌学术中相似的文章 |
| [王晓旭]的文章 |
| 百度学术 |
| 百度学术中相似的文章 |
| [王晓旭]的文章 |
| 必应学术 |
| 必应学术中相似的文章 |
| [王晓旭]的文章 |
| 相关权益政策 |
| 暂无数据 |
| 收藏/分享 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论