如何用QTP采用关键字驱动测试框架来完成TechExcel DevTest产品的回归测试

上一篇 / 下一篇  2016-03-01 14:57:50 / 个人分类:自动化测试

本篇文章我来分享一下如何采用QTP自动化测试工具来采用关键字驱动测试框架来完成一个企业系统TechExcel DevTest的回归测试

我们的需求是:

对于回归测试,由于我们自己的DevTest系统 GUI界面是比较稳定的产品,我们要求通过自动化测试来完成我们每一次的回归测试.但是我们遇到的问题是:我们用QTP可以简单的录制,可以回放没问题.但是我们一直缺乏一个有效的框架,统一的管理来让我们的脚本变的更有可重用性,可移植性,可维护性.让数据与脚本脱离,界面元素名与测试内部对象名分离、测试描述与具体实现细节分离.


什么是关键字驱动测试

关键字驱动框架一般有一个专有的引擎,用于解析表格中的各个关键字,解析成测试脚本,然后执行,关键字驱动框架有利于测试脚本编写人员以一种更为抽象和简洁的方式编辑脚本.{Keyword Driver},

关键字驱动的主要思想是脚本与数据分离、界面元素名与测试内部对象名分离、测试描述与具体实现细节分离 。{Test Case文档中的关键字驱动Keyword Driver,Test Data文档,Library,有描述性编程}
有一定的ResultLog


以下我来解释一下我们关键字驱动测试中最重要的Driver引擎脚本如何书写:

第一步:

加载TestCase的内容,以下截图是DevTest系统的自动化测试case。脚本中按照加载的TestCaseExe内容是Y还是N来判断我们需要执行哪些case。如果是Y,则执行;反之,我们则不执行。



第二步:

在上一步中判断中是Y的得到它的TestCaseID内容,然后我们到另外一个加载进来的Excel中内容去对比,如果TestCaseID和之前得到的TestCaseID如果是相同的话,我们就按照Keywords中的关键字来判断执行哪些函数。



第三步:

 在按照得到的关键字需要去执行哪些函数中,对每个函数执行后,都执行一遍createlog,这样我们对每个执行的函数都可以得到一个结果。

我写的这个createlog函数结果格式如下: 

时间,TestCaseID,TestStepID,TestStep name,执行结果



以下是各个文件夹结构的解释:

DB Backup:存放TechExcel DevTest Adminsetting backup file
Driver:存放QTP脚本,关键字驱动架构中的专有引擎.

  解析表格中的各个关键字(例如测试对象、测试方法、测试数据等),解析成测试脚本,然后执行

FrameUtil:存放VBS函数,

 业务逻辑的函数---比如Login/Logout/NewTemplate

     公共函数------------比如connectdatabase,createlog

Log/Result:存放日志和测试结果
TestCase:定义我们的testcaseteststeps,定义我们的关键字.通过该文档中的关键字来驱动我们的所有测试
TestData:存放我们测试过程中所有需要的测试数据,比如登陆过程中的UserName/Password,新建Template过程中所需要Title,Status,Owner,TestProcedure..
Driver.vbs:定义了我们的初始化,包括打开QTP,运行哪个QTP脚本来执行我们的测试.测试人员只要修改TestCase文档中 我们需要执行哪些TestCase就可以.双击该文件,qtp自动测试所选中的testcase

以下图片是关键字驱动回归测试的流程图


TAG: 测试 关键字驱动 自动化

 

评分:0

我来说两句

Open Toolbar