(一)软件自动化测试技术选择:驶入测试“快车道”

发表于:2009-06-04来源:作者:点击数: 标签:自动化快车道驶入软件技术
软件测试 ,特别是 测试自动化 技术属于当前国际软件界最有争议,亟待发展的技术。所谓自动化测试就是希望能够通过 自动化测试 工具或其他手段,按照 测试工程师 的预定计划进行自动的测试,目的是减轻 手工测试 的劳动量,从而达到提高软件 质量 的目的。 测
软件测试,特别是测试自动化技术属于当前国际软件界最有争议,亟待发展的技术。所谓自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。

测试工具

        在进行测试活动时,采用合适的测试方法和相对应的自动化测试工具是至关重要的。

1.静态分析工具

        静态分析工具的特点是一种直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件,从中寻找可能导致错误的异常情况的测试工具。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。

● 静态确认工具

        对源程序进行静态分析和确认,从而发现某些常见的错误。这样的测试工具还能进行不可靠结构的检查,识别出可疑的易出错的结构,并进行危险变量的监视。

● 符号执行工具

        以符号值作为程序的输入,使程序符号执行。系统可以“穷尽”测试符号的选择,以便能自动或者交互地检查符号执行树的每条路径,并自动对输出结果与输出断言进行比较,一般说来,这样的符号执行系统都具有交互式纠错功能,包括跟踪断点设置、状态存储等。

● 程序验证工具

        交互式程序验证系统,是程序正确性证明的一个工具。输入源程序和程序断言;输出是对程序正确性的一个判断,即程序执行结果是否必定满足断言的要求。系统可自动产生程序中的断言,系统的内部实现基于符号逻辑变换和结构归纳。

2.动态分析工具

        动态分析工具的主要功能是分析被测程序逻辑中每个语句的执行次数。动态分析工具与静态分析工具不同,动态分析工具一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据,其与静态分析工具最大的不同就是动态分析工具要求被测系统实际运行。

● 覆盖监视工具

        这样的工具系统可在程序逻辑的适当位置安插一些“探测器”,以便对程序进行监视,产生带统计数字的报告。使用该工具可以测试出没有执行的语句,以便增加相应的测试数据。

● 驱动工具

        采用自底向上渐增方式测试时需要编写许多虚构的驱动模块。驱动工具可以免除人们编写驱动模块的负担。它提供一种测试语言来写测试过程,表明要测试的模块、使用的测试用例、预期的输出等。这样不再需要人工编写任何驱动程序,系统能自动把输入数据传送给被测模块,并负责将实际输出结果与预期的结果相比较。

原文转自:http://www.ltesting.net