跟小D每日学口语

TestComplete的数据驱动测试方法

自动化测试把记录的或编写的用户操作序列的脚本回放,能覆盖被测软件的一部分特定的区域。为了获取大面积的覆盖,你可以用不同的数据来输入。如果你测试一个窗体的输入,录制完脚本后,你只是获得了录制时输入的数据的脚本。而且通常你录制时指定的数据不会引起程序的错误,但是其他数据可能会。Data-Driven Testing,数据驱动测试让你用不同的数据输入来测试软件,确保软件在各种输入情况下都工作正常。
 
数据驱动方法
最好的解决方案是把数据从脚本分离开来。数据驱动测试指的是脚本从外部存储点读入数据,例如,从一个文件或数据库,而不是使用硬编码的数据值。这样的分离会使测试逻辑更加简单。硬编码数据值会使脚本维护和修改更加困难。例如,如果你想要更多的输入数据,你就必须修改脚本代码。
 
数据驱动方法的步骤
通常,外部存储的数据会包括输入数据和验证数据。数据驱动方法的测试步骤包括下面操作的循环执行:
1、 从存储点读入数据
2、 在软件窗体上输入数据
3、 检验结果
4、 用下一项数据继续执行
 
第一步:读入数据
TC提供很多内建的方法来支持数据驱动,从文本文件、Excel表、数据库等地方读入数据。
 
GetCSVCount和GetCSVItem用于处理CSV文件存储的数据。TC还提供DDT对象用于数据访问驱动,从Excel表格、数据库和CSV文件获取数据。DDT包括ADODriver、CSVDriver、ExcelDriver。
 
下面脚本建立一个ExcelDriver从MyFile.xls中读入Sheet1表格,然后用EOF和Next方法遍历整张表格,最后用CloseDriver方法关闭Excel驱动。
procedure TestDriver;
var
  Driver : OleVariant;
begin
  // Creates the driver
  Driver := DDT.ExcelDriver('C:\MyFile.xls', 'Sheet1');
 
  // Iterates through records
  RecNo := 0;
  while not Driver.EOF do
  begin
    ProcessData; // Processes data
    Driver.Next; // Goes to the next record
  end;
 
  // Closing the driver
  DDT.CloseDriver(Driver.Name);
end;
 
 
第二步:利用数据
获取数据后,就可以在界面上输入这些数据,可以通过模拟键盘输入,或者给控件的属性赋值,从而模拟用户的数据输入。例如,下面脚本给窗体的Caption属性赋值:
w := p.Window('MainForm', '', 1);
SetValue(w, 'Caption', 'New Caption');
 
第三步:检查结果
最简单的检查结果是否正确的方式是把要检查的值也和输入数据存储在一起,然后读入检查的值,与真正的输出值进行比较。
 
如果输出的是文件或图像,可以使用TC提供的文件和图像比较方法来进行比较。参考《TestComplete的Stores对象》。
文章出处:DIY部落(http://www.diybl.com/course/3_program/rg/200798/71265.html)
posted @ 2009-11-26 11:36  简简单单幸福  阅读(621)  评论(1编辑  收藏  举报