自动化测试工具在软件测试中的应用

2017-05-17 08:39任宪臻
数字技术与应用 2017年3期
关键词:自动化测试

任宪臻

摘要:自动化测试是指软件测试的自动化。随着软件测试地位的提高和测试的不断深入,应用自动化测试工具的企业也越来越多。在软件测试中正确选择和使用自动化测试工具的,既可以提高测试的效率和质量,又可以降低测试成本。本文主要从自动化测试的概念、自动测试工具的分类,以及自动化测试工具在软件测试中应用优势与不足等方面给出阐述。

关键词:自动化测试;白盒测试工具;黑盒测试工具

中图分类号:TP31 文献标识码:A 文章编号:1007-9416(2017)03-0251-01

1 引言

在软件测试中传统的手工测试占绝对优势,大约占到了测试总数的89% 。手工测试是指测试人员手工编写测试用例,其优点是可以发现比较多的缺陷,但缺点是重复工作多、测试工作量大,进行回归测试时比较容易出错,而且代价较高。而且有一些测试,如压力测试、性能测试是手工测试实现困难,或者不可能进行的测试,在这种情况下,需要借助于自动化测试。

自动化测试是指使用一种自动化测试工具,验证各种软件测试的需求,包括测试活动的管理与实施。通过使用自动化测试工具,控制软件测试的执行(如对比预期输出和实际输出结果)。自动化测试可以节约测试成本,提高测试质量,完成一些手工测试不可能实现的测试,它是手工测试的一种补充,但是却不可能完全替代手工测试。本文主要阐述了自动化测试的概念、分类,以及自动化测试工具的优缺点,并给出了选择合适的自动化测试工具的建议。

2 自动化测试工具的分类

根据测试方法的不同,自动化测试工具可以划分为黑盒测试工具、白盒测试工具、测试管理工具、性能测试工具。

在黑盒测试场合,通常使用黑盒测试工具。通过使用黑盒测试工具,可以使黑盒测试的工作量大幅度地减轻。应用黑盒测试工具时,主要使用的手段是脚本的录制和回放,模拟用户操作,记录实际输出结果,并将其与预定的标准结果进行比较。TeamTest和QACenter是黑盒测试工具的代表。

白盒测试工具主要是针对代码进行测试,根据测试原理的不同,它又分为动态测试和静态测试工具。静态测试工具的代表主要有Logiscope软件和PRQA软件,其主要功能是在不执行程序的前提下,扫描代码语法、分析软件特性、查找代码中不合规范的地方。与静态测试工具相反,动态测试工具则要求运行实际被测试的系统来进行测试。Purify系列和DevPartner是动态测试工具的代表。

对测试计划、测试用例、测试实施、缺陷的跟踪进行管理时,需要用到测试管理工具,TestDirector和Test Manager是测试管理工具的代表。

软件性能测试的难点在于仿真的过程,比如如何模拟成千上万的实际用户来对服务器造成负载的过程,以及如何从千差万别的测试数据中分析并获取有效的测试结果,在这种情况下,从性能优化方面考虑,可以借助于性能测试工具提高测试的效率,提升测试结果的准确性。目前市面上有多款性能测试工具,其中LoadRunner是应用比较广泛、受到好评比较多的一款软件。LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具,可以通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。

3 自动化测试工具的优缺点

自动化测试突破了手工测试的局限性,很多通过手工测试无法做到都可以通过自动化测试工具来完成。例如,为了测试某网站服务器负载的压力和并发测试,应用自动化测试工具,就可以很简单地实现同时模拟几万人,甚至是数十万人,同时登录访问,测试网站服务器的承载能力,而这些都很难通过测试员的手工测试来完成。此外,验证系统是否能够稳定运行的可靠性测试,也无法通过手工测试完成,也需要自动化测试工具的帮助。

在测试中引入自动化测试工具,既可以实现查找缺陷的广泛性,又可以提高查找缺陷的速度,同时可以完成许多重复性的测试,因为自动化测试每次運行相同的脚本,所以不再需要大量的软件测试人员手动执行测试用例,而且自动化测试工具可以在非常短的时间内执行大量的测试用例,这样测试的效率就得到了极大提高。

自动化测试工具虽然拥有上述众多优势,但是它本身也有其不可避免的缺点,如在某些情况下,自动化测试并没有想象中那么完美,并不能帮助解决目前遇到的所有问题,甚至也没有发现几个问题;其次,如果测试人员缺乏对自动化测试工具的充分培训,可能无法更深层次地使用工具,从而导致工具的使用效率低下;此外,自动化测试中维护测试脚本的工作量比较大,在脚本开发过程中,如果更多依赖的是测试人员的经验, 这样就无法保证脚本的质量,从而直接影响测试结果的正确性。

4 结语

在软件测试项目中,可以根据项目需求的稳定性、项目开发周期的长短、自动化测试脚本的可重复使用性的来衡量该项目是否适合引入自动化测试工具进行测试。如果在整个开发过程中,软件需求变化频繁,或者项目开发周期比较短,那么该项目就不适合使用自动化测试工具。

在为项目选择自动化测试工具时,因为不同的测试工具有其自身的特点和适用范围,所以一定要根据实际问题和需要,认真分析该工具是否适合当前应用,然后选择一款性价比较高的自动化测试工具。

参考文献

[1]朱少民.全程软件测试(第2版)[M].电子工业出版社,2014.

[2]浦云明,陈黎震.基于划分的等价类测试[J].计算机工程与设计,2009.

猜你喜欢
自动化测试
浅谈空调控制器自动化测试