关于软件自动化测试技术应用探讨

2016-12-31 07:30
移动信息 2016年6期
关键词:测试工具测试人员脚本

陈 凯



关于软件自动化测试技术应用探讨

陈 凯

广州广电运通金融电子股份有限公司,广东 广州 510000

随着软件规模的逐渐扩大,软件测试的成本也越来越高,因此越来越多的软件厂商引入了软件自动化测试技术以降低人力和资源成本,另一方面能够缩短软件的开发周期,提高软件测试的可靠度和精确度,并在测试过程相对稳定。研究将就软件自动化测试技术的应用展开探讨。

软件;自动化测试技术;技术应用

要确保软件的质量,最有效的方法之一就是进行软件测试,不论是何种应用软件,从软件的编写、系统编码到系统应用的整个软件生存环节,软件测试都是必不可少的。[1]数据显示,软件开发总工作量和总成本的一半左右都是用于软件测试的,目前软件研发的重点和难点也是软件测试工作,软件领域专家学者对软件测试技术也越来越重视,现阶段的软件测试技术逐渐趋向自动化和网络化,这也是软件开发技术人员的研究重点。

1 软件自动化测试的内涵

1.1 软件自动化测试的定义

现阶段软件自动化测试的定义主要有两种。第一是使用自动化测试工具进行软件测试,不需要人工干预测试进程和测试结果,这种测试技术一般应用于性能测试和软件GUI测试;第二种是使用测试软件进行软件测试,控制测试过程,构建测试的前提条件,并且能够将预期测试输出和实际输出进行对比,最终得到测试报告。软件自动化测试实际上是自动化技术和软件手工测试流程的有机结合。

1.2 对两种软件自动化测试技术的理解

对于第一种软件测试技术,显然更加强调测试过程中“不需要人工干预”,常见的测试工具有IBM Rational、Segue、Compuware等公司开发的自动化测试软件;对于第二种软件测试技术,定义更加广泛,强调的工具而不一定是自动化测试工具,并且自动化测试不一定要具备自动化测试步骤,在一些情况下,测试前提条件也是具有自动化的可能和必要的。[2]自动化测试软件可能是公司根据实际需求开发的,也可能是专业开发的,显然前者更能满足公司的实际需求,能够提高软件测试的效率和质量。

2 采用软件自动化测试技术的意义

2.1 引入自动化测试的原因

由于软件的种类越来越多,功能也越来越复杂,采用传统人工软件测试会耗费大量的时间和精力,也很难保证测试的准确性。引入自动化测试技术,能够节省大量的时间和人力,进行无法自动化的、更加深入的测试,增加测试的覆盖率。

2.2 引入自动化测试的利弊分析

虽然自动化技术有很多优点,但是仍然无法完全代替人工软件测试,在大部分时候特别是软件版本升级需要进行大量重复测试时,使用自动化测试能够节省大量时间和人力,但是自动化测试技术只是机械的重复人工操作的过程,尚未实现真正的自动化。程序升级后代码后可能修改了一小部分,那么采用原来的测试脚本测试,可能也不会发现问题,但是这并不代表程序的实际功能不存在问题,有可能是一些新增的功能,测试脚本并未将其包含在内;如果程序的原有代码修改较多,那么原来的测试脚本可能无法再使用,需要再次编辑测试脚本。

这实际上体现出测试脚本的不固定性,导致测试和维护工作大大增加,拉低了工作效率。[3]采用自动化测试技术,能够进行回归验证测试,确保当前版本的软件功能稳定,并能保证在后续的升级、应用中仍能保持稳定性,这部分的功能测试就能够采用自动化测试技术完成。

3 软件自动化测试工具的类别

3.1 按照测试功能分类

常见的有单元测试工具JUnit;压力测试工具SQA LoadTest;功能级测试QARun、SQA Robot、e-Test;Web测试工具e-Test;数据库测试工具TESTBytes;回归测试工具WinRunner、Team Test;系统性能测试工具Performance Tester;缺陷跟踪工具TrackRecord。

3.2 按照测试方法分类

用于黑盒测试的工具主要有SQATeamTest、QACenter和Rational Visual Test等;用于白盒测试的工具主要有Purify、BounceChecher、Macabe、TrueCoverage等。目前应用较为普遍的工具为QACenter,测试人员能够使用这个工具创建能够重复利用的、快速的测试工程,这些测试工具能够帮助测试人员管理测试过程、对程序进行分析和调试等。QACenter主要包括QARun、QALoad、QADirector、TrackRecord、EcoTool模块,能够实现功能测试、性能监测和缺陷追踪等全面的软件测试功能。

4 软件自动化测试技术的应用

4.1 运用自动化测试的原因分析

要合理的运用自动化测试技术,我们首先应该明白运用自动化测试的原因。软件是需要不断维护和升级的,升级后就需要重新测试,软件送测的第二个版本开始就需要进行大量的重复性测试,重复性测试是确保软件质量的关键因素,但是却需要测试人员大量的时间和精力,并且由于测试是重复性的,因此测试人员势必感到枯燥乏味,因此我们迫切需要采用自动化测试技术代替人工操作,转而进行更加深入和全面的软件测试。

4.2 了解自动化测试的对象

要对自动化测试的对象有充分的了解,以制定自动化测试方案。例如测试嵌入式软件通讯产品,这种产品具有实时应用性,也就是测试需要依靠外界网络,并且网络状况会影响测试结果,因此我们必须考虑哪些项目可以采用自动化测试,也就是哪些测试项目不会受到网络状况影响,对于这些项目运用自动化测试技术,能够有效缩短测试时间,提高软件测试效率。

4.3 使用自动化测试工具的种类

我们需要根据软件的实际状况,选择自动化测试工具的种类。目前市场上有很多自动化测试工具,还有一些工具是开源的,但是并不适合我们的产品,并且录制脚本比较麻烦,需要较多的后期维护工作,这些工具软件本身也可能存在缺陷,会影响测试质量和效率。对于自动化测试工具,一般的需求可以体现在如下几个方面:(1)工具操作简单,防止在使用过程中工具自身出现问题;(2)输出输入测试脚本的编写较为方便,减少大量后期维护工作;(3)能够显示特殊符号,如换行符、空格等;(4)工具能够记录测试结果,这样测试人员能够找出错误所在;(5)对于测试中可能发生的一些简单的特殊情况,测试工具能够自动处理。

4.4 自动化测试脚本的编写

确定自动化测试工具后,我们需要编写自动化测试脚本,脚本应该做到尽可能覆盖测试项目,并且脚本的编辑语言能够兼顾大部分同类软件的需求,这样软件升级后,或者有新项目新产品时,只需要将原有的脚本进行简单的修改和编辑就能继续使用,大大减少了编辑和维护测试工具的精力。

5 结语

综上,软件自动化测试能够大大缩短测试周期,降低测试人员的压力,并且有效保证软件的质量。根据软件实际状况选择合适的测试工具,确保测试的可靠度和效率。

[1]杨雪.基于数据驱动的软件自动化测试框架[J].计算机技术与发展,2006(5):20.

[2]张忠能.基于系统功能测试的软件自动化测试可行性分析[J].计算机应用与软件,2005(12):65.

[3]赵明.软件自动化测试概述及应用工具分析[J].计算机应用,2007(1):122.

About Software Test Automation Technology to Explore

Chen Kai

Guangzhou radio and television financial electronic Limited by Share Ltd, Guangzhou, Guangdong 510000

With the gradual expansion of the scale of software,software testing cost is getting higher and higher,so more and more software vendors introduced software test automation technology to reduce the cost of manpower and resources,on the other hand can shorten the software development cycle,improve the reliability and the accuracy of the software testing,and in the test process is relatively stable.This article will discuss the application of software automation testing technology.

software;automated testing technology;technology application

TP311.52

A

1009-6434(2016)6-0156-02

猜你喜欢
测试工具测试人员脚本
酒驾
论职务犯罪侦查中测谎技术的应用与完善*
自动推送与网站匹配的脚本
浅析软件测试中的心理学应用
基于移动平台APP测试
手车式真空断路器回路电阻测试电流线接头研究
浅谈响应时间测试分析方法
绿植防辐射只是个传说,是真的吗?
愚公移山