|
|
|
|
| |
|
返回 |
| 智能化软件测试工具(ITDG)是一种动态测试工具,它的核心是建立了一套智能化的、高效的测试用例生成策略,可自动生成测试数据。并结合等价类划分、因果图、判定表、边值分析、正交实验设计、状态测试、事务流测试等基于规范的测试技术和控制流测试、数据流测试以及域测试、符号执行、程序插装和变异测试等基于程序的测试技术,实现以下功能:
为指定的程序路径自动生成测试数据;自动完成语句覆盖、分支覆盖测试;黑盒测试、软件的高层测试;面向断言的测试;自动生成能够揭示软件中错误的测试数据;回归测试;面向对象软件的测试等。 |
| 该产品主要工作过程如下: |
(1)
用户通过本产品图形界面提供被测试的程序,指定需要达到的测试点,也可以加入测试需求,即对测试数据在程序的某些执行点的性质的断言。
(2) 测试需求与结果翻译器将用户测试需求转化为面向路径的测试数据生成问题,即根据测试需求构造测试输入空间,并在程序中设定测试路径。
(3) 智能化测试数据生成器根据所有输入条件,采用编译原理中的技术对用户的测试需求进行分析,找出达到测试点的必要条件,对被测试的程序进行改造和插装,生成中间程序,然后进行编译、执行,构造约束系统并进行自动求解测试数据,并将求解结果输出到测试需求/结果翻译器进行翻译,最后输出测试结论。 |
| 本产品作为一种新型智能化的测试工具,具有智能化程度高,生成测试数据的效率高、能力强,易于运行、适用范围广等特点。下面分别论述。 |
| 为指定的程序路径自动生成测试数据,本产品能够自动为用户指定的程序路径W生成测试数据。并且具有以下性质:当W上各谓词函数均为输入变量的线性函数时,迭代一次后,本产品或者能找到所需的测试数据,或者保证W不可行。当W上的谓词函数中含有输入变量的非线性函数时,本产品可能需要迭代多次。 |
自动完成语句覆盖、分支覆盖
本产品能够对用户给定的程序进行分析,先采用随机法自动生成大量测试数据,执行被测试程序,统计语句(分支)覆盖情况。在一定的时间期限后,当随机法产生的测试数据已经很难覆盖某些语句(分支)时,找出这些语句(分支)所在的程序路径,然后自动为这些路径生成测试数据。
黑盒测试、软件的高层测试
本产品所采用的技术能够用于黑盒测试:当用户给出的程序中包含函数调用,并且没有被调用函数的源代码时,本产品仍然能够工作。如果在黑盒测试时,黑盒中包含输入语句,那么用户应提供黑盒的接口规范所规定的黑盒中的输入变量的数据类型。由于本产品能够用于黑盒测试,故能够在集成测试、确认测试和系统测试等高层测试阶段得到广泛的应用。
面向断言的测试
在本产品中,用户可以用断言“@ expression @”来表达测试需求,故本产品能够用于面向断言的测试。并且用户可以在被测试的程序的任意位置插入断言,增加了用户使用本产品的灵活性。
自动生成能够揭示软件中错误的测试数据
由于本产品支持面向断言的测试,允许用户在被测试的程序的任意位置插入断言,故用户能够针对软件的规范,在程序中插入违反规范的断言。例如软件的规范要求“A > B”,用户就可以在程序中设置断言“@ A <= B@”,然后由本产品自动生成测试数据。如果存在使断言“@ A <= B@”被满足的测试数据,那么说明程序中肯定有错误,从而提高了软件测试的针对性,提高了软件测试的质量。
回归测试
在回归测试中,一些测试需求可以用断言“@ expression @”来表达,故本产品能够用于回归测试。
面向对象软件的测试
面向对象软件的测试过程可分为类测试、类簇测试和系统测试,其中类测试可分为三个部分:方法测试、基于状态的测试和基于状态响应的测试。方法测试和系统测试分别与传统的单元测试和确认测试相对应。本产品能够支持面向对象软件中的方法测试和系统测试。
本产品所采用的技术实际上是基于状态的,故能够支持面向对象软件中基于状态的测试和基于状态响应的测试。本产品能够用于黑盒测试,故也能够支持方法调用以及高层的类测试和类簇测试。
与其它产品密集集成
本产品能够与其它软件测试产品(如测试自动执行产品、测试执行覆盖信息统计产品)集成,增强本产品的功能扩展。
支持的环境
所支持的程序设计语言
C, C++, Java, …
系统需求:
软件:Windows95, Windows 98SE,
Windows ME, Windows NT4.0, Windows 2000, Windows XP, Linux.
硬件:Pentium 200MHz, 64MB RAM,
60MB磁盘空间 |
| |
| |
信息工程监理软件 |
软件测试管理软件 |
| |
| |
|