QTP自动化测试框架简述
1.使用框架的原因?
框架是一组自动化测试的规范、测试脚本的基础代码,以及测试思想、惯例的集合,从而减少冗余的代码、提高代码生产率,重用性和可维护性。
2.自动化测试框架的架构
脚本层(业务组件开发),业务层(流程的开发和组织),数据层相分离,是本次框架组织总的方针,为开展功能自动化测试提供一个高效、稳定、容易的测试实现。
3.脚本结构框架
可能现在从网上找的例子大多都是基于某一个模块的测试知识点的讲解,和少提及到对于一个完整的系统,因该如何去组织测试用例、如何设计测试数据?如何让产生间接明了的测试结果?
Qtp本身提供了两种组织逻辑关系,testcase和Action结构。这两种关系是包含和被包含的关系:一个testcase包含多个action,在action中,众多的测试点可以按照 实际的逻辑进行组织。相比testcase,action才能真正体现测试用例的地方:每个action都有自己的DataSheet;测试用例相互调用,也是通过Action来进行;action可以设置为reused,进行复用;每个action对应自己的object repository。
针对整个系统进行组织测试用例,可以分为大致三种:
(1)按照testcase来组织
在Qtp中建立多个testcase,每个testcase对应实际系统的功能组:在每个testcase中,通过action来组织每个测试用例,比如,现在有一个测试用例需要测试Edit菜单下的Find功能,在这个测试用例中,有多个部分测试:FindNext功能;测试countAll功能;测试help功能,对于Findnext,对每一种情况,如checkbox选中与不选中,又分别进行测试,所以,在这种组织模式下,可以将Findnext的测试点归类为一个action,将countAll的所有测试点归类为一个action。。所有这些action最后形成一个find testcase;加入系统中还需要测试replace window,同样可以再建立一个replace的testcase
优点:可以组织层次较多的测试用例,结构清晰
缺点:qtp只针对每个testcase差生一个测试result report,现在多个testcase,就缺少一个集成的测试结果
(2)按照action来组织
整个系统只有一个testcase,所有的测试功能按照action分类。
优点:符合QTp自身的组织结构(一个testcase,多个action),产生的result report也是一个集成好的,无需另外集成
缺点:导致每个action中,可能存在多组测试点(主流程和分支流),层次结构少了一层,感觉不清晰简洁
(3)按照vbs函数来组织
建立一个testcase,只包含一个action,然后,所有的测试功能,全部组织成过程或者函数
缺点:庞大的过程函数库如何维护(通过excel文档管理:函数名,函数功能描述,函数路径等)?如果能解决这个问题,这是一个可行的组织模式。
(4)测试报表结果中要包括期望值和测试结果,便于分析结果
QTP自动化测试框架简述的更多相关文章
- 转:透析QTP自动化测试框架SAFFRON
1.为什么要使用框架? 框架是一组自动化测试的规范.测试脚本的基础代码,以及测试思想.惯例的集合.可用于减少冗余代码.提高代码生产率.提高代码重用性和可维护性.例如QTestWare就是QTP自动化测 ...
- QTP自动化测试框架课程的目标
QTP自动化测试框架课程的目标 随着技术发展演变,qtp自动化测试工具有逐渐被其他工具和技术替换的趋势,所以我们三个POPTEST合伙人决定把qtp自动化测试的一套课程开放免费,这套qtp自动化测试课 ...
- 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架
老李分享:qtp自动化测试框架赏析-关键字自动化测试框架 QTP从2005年继winrunner,robot逐渐退出历史舞台之后,占领主流自动化测试工具市场已经10年之久.当初为了提高在自动化测试 ...
- QTP自动化测试框架的基础知识
1. 什么是自动化测试框架? 假定你有一个活,需要构建许多自动化测试用例来测试这个应用程序.当你对这个应用程序完成自动化测试后,你对自己创建脚本应该有什么期望吗?你难道不想要- 脚本应该按照预期的来执 ...
- QTP自动化测试培训:描述编程之WebElement
QTP自动化测试培训:描述编程之WebElement 通过描述性编程技术,来描述出来输入框: set po=browser("creationtime:=0").page(&q ...
- Python+Selenium框架设计篇之-什么是自动化测试框架
1.什么是自动化测试框架 简单来说,自动化测试框架就是由一些标准,协议,规则组成,提供脚本运行的环境.自动化测试框架能够提供很多便利给用户高效完成一些事情,例如,结构清晰开发脚本,多种方式.平台执行脚 ...
- 《一头扎进》系列之Python+Selenium框架设计篇1-什么是自动化测试框架-价值好几K的框架,不看别后悔,过时不候
1. 什么是自动化测试框架 在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的 ...
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- [转]Android Studio 里搭建自动化测试框架Robotium
Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...
随机推荐
- JS-严格模式、非严格模式
2018年11月14日晚上,我在“深入理解javascript”书上第一次知道“严格模式”“非严格模式”这2个名词: “严格模式”使用指令:“use strict”: 这个指令我其实有经常看到,在其他 ...
- 双端队列-deque【集vector与list于一身的牺牲内存换功能完善】
看到双端队列(deque)了,书上是这样说的:除了栈和队列外还有一种限定性数据结构是双端队列:双端队列是限定插入和删除操作在表的两端进行的线性表:尽管双端队列看起来似乎比栈和队列更灵活,但实际上在应用 ...
- Interview | Why are manhole covers round and not square or rectangular?
Manholes, which interconnect underground sewerage pipes, and serve as a point of entry for cleaning ...
- webpack常用配置项配置文件介绍
一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...
- 基于Java实现的选择排序算法
选择排序和冒泡排序同样是基础排序算法,现在也做个学习积累. 简述 选择排序算法较为稳定,基本上都是O(n2)的时间复杂度,规模越小排序越快,不需要占用额外空间.其实选择排序原理很简单,就是在未排序序列 ...
- PyTorch 实现kmax-pooling
max-pooling有很多种实现方式 (1)kmax-pooling import torch def kmax_pooling(x, dim, k): index = x.topk(k, dim= ...
- main函数参数
方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* ar ...
- 修改密码删除登陆态,那其他正在登陆的app怎么办?
修改密码删除登陆态,那其他正在登陆的app怎么办?
- IOS7开发~错误收集
1. fatal error: file '/Applications/Xcode5-DP.app/Contents/Developer/Platforms/iPhoneSimulator.platf ...
- ThinkPHP3.1 模板布局
ThinkPHP的模板引擎内置了布局模板功能支持,可以方便的实现模板布局以及布局嵌套功能.有三种布局模板的支持方式: 第一种方式:全局配置方式 这种方式仅需在项目配置文件中添加相关的布局模板配置,就可 ...