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. 官方文档 ...
随机推荐
- LeetCode OJ-- Valid Sudoku
https://oj.leetcode.com/problems/valid-sudoku/ 给出数独的一部分来,验证给出的这一部分是否为 valid 行上无重复的,且是从 ‘1’ 到‘9’ 列上无重 ...
- C++ 找不到方法标识符
其实原因是这个CPP并没有面向对象的结构. 所以进行编译时是“顺序编译”的,而main函数的定义又在A的定义之前.自然找不到标识符了.
- L1-8 外星人的一天
L1-8 外星人的一天(15 point(s)) 地球上的一天是 24 小时.但地球上还有一些精力和勤奋度都远超一般人的大神级人物,他们的“一天”是以 48 小时为周期运转的,这种人被人们尊称为“外星 ...
- MAC(Linux)升级Openssl
系统上一般默认安装的是0.9.8版本的Openssl,不能满足需要.这时候就要重新安装Openssl. 上官网下载新版openssl:https://www.openssl.org/source/ 解 ...
- js判断是否是PC,IOS,Android客户端
写在前面 在项目中使用html5,需要针对不同的客户端浏览器有不一样的处理方式,这就需要对请求中的useragent进行分析,并进行处理. 一个例子 <%@ Page Language=&quo ...
- 如何在window上把你的项目提交到github
1.首先你需要在https://github.com/ 上注册一个账户 2.注册成功以后,你需要新建一个repository(储藏室),这个用来存放你要上传的项目 点击中间的带加号的图标就可以新建re ...
- JVM —— 移除永久代
近期准备生产环境 JDK 升级到 1.8,本地先升级了下,发现 -XX:PermSize 和 -XX:MaxPermSize 已经失效,取而代之的是一个新的区域 -- Metaspace(元数据区). ...
- Win7如何自定义鼠标右键菜单 添加用记事本打开
鼠标右键用记事本打开.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Notepad] @="用记事本 ...
- dockerfile VOLUME 对外暴露目录设置问题
最近遇到一个特殊问题, 容器对外映射挂载目录 , 发现容器中的目录并没有映射到宿主机上. 后经排查是是镜像中没有指定 volume # 例如 FROM debian:wheezy VOLUME /da ...
- 利用AFNetworking框架去管理从聚合数据上面请求到的数据
数据从JSON文档中读取处理的过程称为“解码”过程,即解析和读取过程,来看一下如果利用AFNetworking框架去管理从聚合数据上面请求到的数据. 一.下载并导入AFNetworking框架 这部分 ...