在软件开发过程中应用自动测试

发表于:2009-3-19 14:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:电子工程专辑

  随着人们对软件的要求越来越高,软件也相应越来越复杂,在开发过程中要求采用新的测试方法。测试可以分为两类,即所谓的“白盒”测试和“黑盒”测试,但无论哪种方法用手工方式都存在很多问题。本文介绍如何在软件开发过程中应用自动测试,从而提高错误覆盖率,缩短产品的测试周期。

  当今社会软件和电子技术已渗透入商业和个人生活领域的方方面面,我们日常生活中使用到的很多装置都要由软件来控制。例如在陆地、海洋和天空中运行的交通工具里,有软件负责行程的安全;在现代通信设施中,软件起着至关重要的作用;在家用电器方面,软件也使我们的应用更加方便可靠。我们希望软件可以完成的任务越来越复杂,而软件的复杂程度也相应将会提高。

  与此同时,要求缩短软件开发周期的压力也越来越大,如果一个公司希望保持并提升它在市场上的地位,就必须尽可能地缩短开发时间。因此公司成功的基本条件就是看它是否能比竞争对手提前将创新产品投放市场,但另一方面,复杂的软件又要求软件开发商在开发先进软件系统时必须进行长时间测试。

  随着软件复杂程度日益提高,软件测试过程中需要解决的问题也呈指数倍上升。理想情况下,软件要采用所有可能的各种输入向量进行充分测试,且这些测试应尽可能少地占用资源,测试周期也要经济实际。品质保证专家正在努力定义系列测试事件,以尽可能覆盖所有源代码。通常测试采用手工方法完成,并将结果记录下来,但这时测试事件的实际覆盖情况却无法确切地知道,而且手工定义与执行测试序列需要花费大量的时间和人力。

  不同的测试方法大体上可以分为两类。一类称为“黑盒”测试,此时被测系统(IUT)从外面几乎看不到。该方法将适当的输入事件或向量混合在一起激励 IUT,根据从外部观察到的反应来评估系统的性能,它将IUT显示的实际结果记录下来,与我们所期望的性能相比较,如有任何差异则说明存在错误,产生的根源可能是内部结构或源代码错误。另一类称为“白盒”测试,即监控被测系统的内部结构,以便找出源代码出错位置。一般来说,为了要达到一定质量水平,以及对于为达到该水平所使用的资源而言,采用黑盒测试白盒测试相结合是最有效的方法。

  自动黑盒测试目前无论测试什么样的软件产品一般都是用人工方式来完成,测试事件和指令序列也由人来制定,通常针对一个特定的产品,因此即使是类似的其它软件产品也不能重复应用。有很多出错原因都与这种测试方法有关,例如人工生成的测试事件可能没有完全覆盖软件功能范围,或其定义过于简单;手动执行测试以及将测试结果与目标相比较也有危险,如测试指令序列也许没有完全执行,或者解释结果的时候也可能出错。

  尤其对于复杂的产品更是这样,因此我们要做的就是开发出一种方案,能自动执行测试指令序列。为了加快测试环节,很多公司已经在内部进行了这样的开发,然而手工测试规范所带来的不确定性并不能通过自动执行测试序列而减少,测试结果的精度仅与输入有关。

  创建一种可靠自动测试流程的先决条件是测试事件和测试指令序列的规范化描述,与具体软件开发商无关的标准规范化表示有下列优点:

  · 它是准确而清楚的,每个人对它的理解都一样。

  · 采用规范语言的测试描述能自动生成,因而预先保证不会出错(假定相应的发生器运行正常)。

  · 测试描述可以自动执行,避免执行过程中的错误。

  · 规范化测试描述可以重复利用。

  

  Tau/Tester可提供所需的信息和功能。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号