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

发表于:2007-8-02 13:23

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

 作者:未知    来源:网络转载

分享:

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

 

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

精彩评论

  • sly_leo
    2007-8-14 23:13:35

    你是testComplete的拖吧,自动化测试工具只有最适合的,没有最好的。

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号