浅析软件自动化测试工具的应用

减小字体 增大字体 作者:佚名  来源:www.zhonghualunwen.com  发布时间:2012-08-16 14:01:33

  1.软件自动化测试的定义
  软件自动化测试目前存在两种定义,第一,在不需要人的干预的情况下,运用自动化的测试工具进行自行测试。第二,对测试的执行使用软件来进行控制,主要包括测试预期输出和实际输出的效果的对比,测试是否已构建了前提条件等。第一种定义更着重于强调“自动化的测试工具”,要求在测试的过程中,不需要人的干预,只需软件进行运行。而第二种属于广义上的定义,它只是涉及软件,而非自动化的测试工具,并非绝对意义上的软件自动化测试工具。
  2.软件自动化测试优点
  2.1提高了测试效率
  在软件测试中对于回归测试中的动作和用例是已经完全设计好的,同时可以完全预知测试期望和结果,从而可以极大提高测试效率,缩短回归测试时间。
  2.2可以运行更多更繁琐的测试
  许多不可能同时让足够多的测试人员同时进行测试的大量用户测试,实行自动化测试可模拟出同一时间的许多用户,更好的利用资源,同时达到测试的目的。
  2.3具有一致性和可重复性
  由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复效果。自动化测试还存在着复用性的优点,自动测试通常采用脚本技术,只需要对脚本做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
  3.软件自动化测试工具的分类
  3.1白盒测试工具
  白盒测试主要是从程序的内部结构出发设计测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态,来测试产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。其对应的测试工具也主要是直接对代码进行分析,针对程序代码、程序结构、对象、类层次等进行测试,测试中发现的缺陷可以定位到代码行、具体的某个变量。软件自动化测试中对白盒测试工具的选择主要应依据该工具对开发语言的支持力度、对嵌入式操作系统的支持力度、代码的覆盖深度及测试的可视化。
  白盒测试工具可进一步细分为静态测试工具和动态测试工具。静态测试工具是不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。具有代表性的静态测试工具有Gimpel公司的PC-lint和Compuare的DevPartner Studio中的CodeRe view。动态测试工具需要实际运行被测系统,并设置断点,向代码生成的可执行文件插入一些监测代码,监测断点这一时刻程序运行的数据。具有代表性的动态测试工具有IBM-Rational公司的Purify,Pure Coverage,Quan lify和Compuare公司的Error Detect,Cover
  age Analysis,PerformanceAnalysis。
  3.2黑盒测试工具
  黑盒测试是在已知产品所应具有的功能的情况下,通过测试来检测每个功能能否正常使用的测试工具。其基本工作原理是利用脚本的录制和回放,模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。测试时完全不考虑程序内部结构和内部特性,它只检查程序功能是否按照需求规格说明书的规定正常使用,主要用于软件确认测试。黑盒测试工具的代表有IBMRational的TeamTest、Robot, Compuware公司的QA Center,MI公司的WinRunner等工具。
  3.3对数据生成进行检测的工具
  测试数据生成工具主要应用在测试的前端,为测试过程准备大量的可用数据。并且通过转化、析取、变换或捕捉现有数据作为依据,自动为测试程序生成可靠的测试数据。同时,可以通过配置工具配置数据生成的规则,并且有一个自动配置引擎,可以根据已经存在的数据库自动生成配置文件。目前典型的测试数据生成工具有:Bender&Associates公司提供的功能测试数据生成工具SoftTest;Interna
  tionalSoftwareAutomation公司提供的Panoram aC/C++测试数据生成工具。
  3.4对管理进行测试的工具
  测试管理工具是指用工具对软件的整个测试输入、执行过程和测试结果进行管理的过程。测试管理工具通过一个中央数据仓库,实现测试人员、开发人员或其他IT人员在异地进行信息交流。从测试需求管理到测试计划、测试日程安排、测试执行到出错后的错误跟踪,实现了全过程的自动化管理,提高回归测试的效率、大幅提升测试时间、测试质量、用例复用、需求覆盖等。测试管理工具的代表有Mercury Interactive公司的TestDirector、IBM-Ra tional公司的ClearQuest。
  4.软件自动化测试工具的实施程序
  软件自动化测试在本质上与软件开发过程是一样的,都是通过自动化测试工具来实现。具体过程如下:
  4.1分析进行测试的需求
  不同的人员进行软件自动化测试时的目的往往是不一样的,比如测试人员、开发管理者等在进行测试时会存在安全测试、功能测试以及性能测试等方面的差异。此外,不同的测试工具具有不同的测试功能,所以,在进行测试之前,应对测试方案进行调查,收集需求,以选择适当的测试工具。
  4.2对测试用例进行认真设计
  测试用例主要是指关于测试目标的一系列测试,它有一定的顺序要求。在设计测试用例时应对测试时的输入值、标准结果、输出值等信息进行规划。
  4.3对测试脚本进行编写
  编写测试脚本的过程实际上是对具体的测试用例脚本进行转化,依据测试设计时的需要生成测试脚本,对于一些高度自动化的测试工具,则可以依据以前软件的运行情况来对测试用例进行自动录制。
  4.4对实施过程进行测试
  对实施过程进行自动化测试主要是依靠一定的测试支持系统进行自动化的控制和调度测试的过程。
  4.5生成准确的软件测试报告
  根据测试结果的分析,及时发现出现在产品中的问题的实质,找出解决对策,从而准确评估产品的质量,实现产品质量的提升。
  5.结束语
  目前软件技术得到了突飞猛进的发展,规模也日益增大,同时软件的复杂程度不断增加,要想提高软件自动化测试程度,就必须达到软件自动化测试工具的准确使用。目前自动化测试工具的种类非常多,我们在选择自动化测试工具时,要综合考虑各方面的因素,只有这样才能使得测试的质量和效率不断提高,降低测试所需要的成本,从而促进软件开发工作的快速发展。 [科]

[1] [2]  下一页

Tags:应用

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论