自动化测试软件的体验与比较

发表于:2011-09-19来源:未知作者:领测软件测试网采编点击数: 标签:自动化测试
1、研究主要内容 (1)自动化测试 (2)TestComplete 介绍 (3)Winrunner 介绍

  1、研究主要内容

  (1)自动化测试

  (2)TestComplete 介绍

  (3)Winrunner 介绍

  (4)两款软件的对比

  2、自动化测试

  由于很多的软件测试工作包括大量的近似重复的工作,会给测试工程师带来很大的工作量,这样我们就需要用自动化测试的软件来实现测试的自动化,来减少测试人员的工作量,从而提高效率。

  因为软件测试的工作量很大( 40% 到60% 的总开发时间),而又有很大部分适于自动化,因此,测试的改进会对整个开发工作的质量、成本和周期带来非常显著的效果。

  自动化测试的有点有很多: 快速 (Fast) 、可靠 (Reliable) 、可重复 (Repeatable) 、可程序化 (Programmable) 、 可重用的 (Reusable); 广泛的 (Comprehensive) ;它的这些有点使得自动化测试在软件测试中的地位不断提高,而且也是发展的趋势。

  自动化测试的步骤大概是:

  测试个案( test case ,或称为测试用例)的生成;

  测试的执行写控制;

  测试结果与标准输出的对比;

  不吻合的测试结果的分析、分类、记录和通报;

  总测试状况的统计,报表的产生

  自动测试与开发中产品每日构建( build )的配合。

  3、TestComplete 介绍

  现在的大多数比较著名的自动化测试软件的原理都是大致相同的,它们都是通过对被测软件的操作过程的录制和回放来完成测试的。

  本文现在介绍的 TestComplete 是近年来异军突起的新兴的软件;它曾 在 2003 年 Delphi Informant 杂志读者选择奖 中获得最佳测试与 QA 工具优势明显。其产品 TestComplete 获得 60% 的选票;在第 14 届 Jolt 大奖评选中获得测试工具的 Jolt 大奖。我在实习中也是比较多的接触到这款软件

  与它的名字相同, TestComplete 是一个完整的测试应用系统,它集成了如下的功能 :

  功能测试

  单元测试

  分布式测试

  HTTP performance testing

  回归测试

  就是指重复一个已经成功执行的测试用例,并把新执行得到的结果与原来的 正确的结果相比较。回归测试很容易理解但是如果没有自动化的测试工具来保证大多数的细节,那么实现起来将是十分困难的。因为工作量很大,而且人工操作很容易忽略细节。而 TestComplete 就为我们提供了自动化回归测试的能力。接下来我想介绍一下这款软件的特点:

  获取和保存被测对象的属性:

  TestComplete可以获取被测软件的对象属性并可以将其属性值记录下来和下一次运行时的相应属性值作比较。

  需要注意的问题是:我们的 Java程序必须要编译成Open Application否则TestComplete无法自动认出其中的大部分对象。

  脚本代码如下:

  Compares property values

  if (! Objects.Compare(w, CollectionName))

  Log.Message("Properties have been changed.")

  抓取软件运行时的图片

  可以用 TestComplete获取被测软件运行是的图片(包括全屏和子窗口)来和已知图片进行比较,并可一图片形式保存下本次运行的结果。

  比较图片的代码:

  if ( ! Regions.Compare(w, Classju,false,false,true,1700))

  比较当前的运行程序的图片,是否与之前保存为 CLassju 的图片一致。类聚图

  Log.Error("Regions are not identical")

  else Log.Message("Regions of Classju is identical")

  保存图片的代码:

  w=Sys.Activewindow();

  Str = Utilities.DateTimeToStr(Utilities.Now())

  s = Utilities.StringReplace(Str,":","'",1)

  Regions.SaveToFile(w, title+""s".bmp")

  比较文件

  在测试时,我们有可能会用到比较两个文件的功能来保证被测试的软件的输出与预期值相同。这个功能将会对两个文件逐字节的比较

  比较文件的代码如下 :

  if (! Files.Compare("C:\\Work\\OrdersList.txt","C:

  Work

  OrdersList_old.txt")

  Log.Warning("List of orders was changed");

  支持多种语言和开发环境

  TestComplete支持所用 Visual Basic, Visual C+, Delphi, C+Builder, Java, Visual Studio .NET, and Visual FoxPro 开发的应用程序和模块。这所有的自动测试软件中时绝无仅有的。

  支持多种脚本语言

  我们不必为了使用 TestComplete 而去学习其他的脚本语言,而是用我们熟悉的脚本语言即可。因为 TestComplete 支持以下的所有脚本语言: VBScript , DelphiScript , JScript , C++Script or C#Script 。

  事件处理( Event handling )

  TestComplete 可以在脚本运行的时候跟踪系统所发生的事件,并根据测试人员预先编好的事件处理程序对相应的事件进行处理。例如,对系统中的一些意外的窗体的弹出,我们可以编写相应的程序对其进行处理,以避免测试的意外中断。

  4、Winrunner 介绍

  Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

  Winrunner 7.6 的特点主要有如下几个方面:

  用 WinRuuner创建一个测试,只需点击鼠标和键盘,完成一个标准的业务操作流程,WinRunner自动记录你的操作并生成所需的脚本代码。这样,即使计算机技术知识有限的业务用户轻松创建完整的测试。你还可以直接修改测试脚本以满足各种复杂测试的需求

原文转自:http://www.ltesting.net