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-- Reverse Words in a String
https://oj.leetcode.com/problems/reverse-words-in-a-string/ 给一个字符串 abc dd m,返回 m dd abc. 注意:输入中可能有 ...
- Codeforces 898 A. Rounding
A. Rounding time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- K均值聚类(C++)
#include<math.h> #include<stdio.h> #include<stdlib.h> #include<iostream> usi ...
- python对象的复制问题
list 的拷贝问题: 1, >>> a [1, 2] >>> b=a[:] >>> b [1, 2] >>> b[0]=20 ...
- bjtu 1846. Infinity的装备[状压dp+dfs/bfs]
https://citel.bjtu.edu.cn/acm/oj/problem/1846 1846. Infinity的装备 时间限制 1000 ms 内存限制 64 MB 题目描述 “测试服终于下 ...
- iOS9.0 友盟分享详细过程
一: 申请友盟的AppKey(友盟的Key是根据应用的名称生成的!) 在友盟注册了你自己的开发者账号后就可以申请AppKey了.然后在这个方法里面设置Key - (BOOL)application:( ...
- COCI2017/2018 CONTEST #7
Prosjek 显然,越大的数应该越后参与平均数的计算,这样受较小数的影响就小一些 那我们就排个序,贪心的从最小的数开始往大的计算平均数即可 时间复杂度\(O(nlogn)\) Timovi 把分组分 ...
- CSS 属性选择器的深入挖掘
CSS 属性选择器,可以通过已经存在的属性名或属性值匹配元素. 属性选择器是在 CSS2 中引入的并且在 CSS3 中得到了很好拓展.本文将会比较全面的介绍属性选择器,尽可能的去挖掘这个选择器在不同场 ...
- testNG配置dataSource多数据源
spring的XML配置好之后,运行testNG还会出问题. 搞定代码如下: /** * 基于Spring的服务层测试超类 * * @author chief */ @ContextConfigura ...
- k8s学习(一)——kubectl与api-server之间的交互核心过程
k8s的架构是用户使用kubectl工具对虚拟机资源进行各种各样的控制和定制. 而kubectl本身并不包含对其核心资源的访问与控制.而是通过http通信与api-server进行交互实现资源的管理. ...