软件测试自动化在黑盒测试中的应用

软件测试自动化在黑盒测试中的应用

作者:杨德红

来源:《现代电子技术》2008年第18期

摘要:介绍黑盒测试的方法,对手工测试的不足以及自动化测试的特点进行研究。以XCRW18型货车标签编程器软件(厂矿企业版)写标签数据测试为例,进行了测试问题的分析、测试用例的设计,并用VBScript编写自动化脚本,在QTP平台下实现了黑盒测试中的软件测试自动化,不但节省了人力,而且提高了测试的效率和可信度。

关键词:黑盒测试;自动化测试;测试用例;XCRW18型货车标签编程器软件

中图分类号:TP311.5 文献标识码:B 文章编号:1004373X(2008)1809003

Application of Software Test Automation in Blackbox Testing

YANG Dehong

(Invengo Information Technology Co.Ltd.,Shenzhen,518057,China)

Abstract:This paper introduces the technique of blackbox testing.The shortcoming of manual test and the characteristic of test automation are studied.The programming to tag testing of XCRW18 series freighttrain tag programmer software(mineral plant version)is introduced as an example of the method.The test object is analyzed,the test cases are designed,and software test automation in blackbox testing implemented with QTP is described in VBScript.It not only saves human resource,but also enhances efficiency of the test.

Keywords:blackbox testing;test automation;test case;XCRW18 series freighttrain tag programmer software

黑盒测试把被测对象看作一个不能打开的黑盒子,在完全不考虑其内部结构和内部特性的情况下,测试其是否能适当地接收输入数据并产生正确地输出信息,并且保持外部信息的完整性[1]。黑盒测试在软件测试中占有重要的地位,但常规的手工黑盒测试,在软件测试尤其是大中型软件测试中不但测试效率和覆盖率低下,而且测试的稳定性和可靠性差。本文在XCRW18型货车标签编程器软件(厂矿企业版)黑盒测试中有效地运用了自动化测试技术,较好解决了上述问题。

1 黑盒测试常用技术与方法

黑盒测试方法主要应用于功能和性能方面的测试,其常用的技术和方法有:

(1)边界值分析方法:边界值分析方法的基本思想是使用最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)、最大值(max)处取输入变量值。如果要测试被测对象的健壮性除了变量的5个边界值外,还要通过采用一个超过最大值

(max+)和一个略小于最小值(min-)的取值,看看超过极值时系统会有什么反应。如果被测对象是多个独立变量的函数,这些变量受物理量的限制,则很适合边界值分析。

(2)等价类划分法:把所有可能输入数据划分成若干个等价类,然后每类中抽取一组既有代表性,又可能发现程序中错误的数据作为测试数据,基于此测试的方法就称为等价类划分法。

(3)全对偶设计方法:全对偶是在全组合结果基础上进行优化,把其中有效的用例筛选出来,以达到采用最小的测试用例集,覆盖最大测试域的测试效果,其核心思想就是测试用例的任意2个变量至少在测试结果里出现一次[2]。

2 软件测试自动化技术

2.1 测试自动化原理和方法

软件测试自动化是相对手工测试而存在的,主要是通过软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效性等特点。下面简单介绍测试自动化的主要原理和方法[1]:

(1)捕获和回放:捕获和回放是一种黑盒测试的自动化方法。捕获和回放一般步骤如下:首先将用户每一步操作都记录下来;其次将所有记录转换为一种脚本语言描述的过程,以模拟用户的操作;然后回放时将脚本语言所描述的过程转换为屏幕上的操作;最后将被测系统的输出记录下来与预先给定的标准结果比较。该方法比较适合在迭代开发过程中进行回归测试,可以大大减少黑盒测试的工作量。

(2)脚本技术:脚本是一组测试工具执行的指令集合,可以直接用脚本语言编写也可以通过录制测试的操作产生,然后对产生的脚本进行加强。后者可以减少脚本编程的工作量。脚本技术不仅可以在功能测试中模拟用户的操作,然后进行比较,而且可以在性能、负载测试上虚拟用户同时进行相同或者不同的操作,给系统或服务器足够的数据、操作,以检验系统或服务器的响应速度、数据吞吐能力等。

2.2 测试自动化特点

相比手工测试,测试自动化有以下几个特点[4]:

(1)可以对程序的新版本自动执行回归测试。这是测试自动化的最主要的任务。在需要频繁修改大量程序的环境中,自动化进行回归测试的开销是最小的。

相关文档
最新文档