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自动化测试框架简述的更多相关文章

  1. 转:透析QTP自动化测试框架SAFFRON

    1.为什么要使用框架? 框架是一组自动化测试的规范.测试脚本的基础代码,以及测试思想.惯例的集合.可用于减少冗余代码.提高代码生产率.提高代码重用性和可维护性.例如QTestWare就是QTP自动化测 ...

  2. QTP自动化测试框架课程的目标

    QTP自动化测试框架课程的目标 随着技术发展演变,qtp自动化测试工具有逐渐被其他工具和技术替换的趋势,所以我们三个POPTEST合伙人决定把qtp自动化测试的一套课程开放免费,这套qtp自动化测试课 ...

  3. 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架

    老李分享:qtp自动化测试框架赏析-关键字自动化测试框架   QTP从2005年继winrunner,robot逐渐退出历史舞台之后,占领主流自动化测试工具市场已经10年之久.当初为了提高在自动化测试 ...

  4. QTP自动化测试框架的基础知识

    1. 什么是自动化测试框架? 假定你有一个活,需要构建许多自动化测试用例来测试这个应用程序.当你对这个应用程序完成自动化测试后,你对自己创建脚本应该有什么期望吗?你难道不想要- 脚本应该按照预期的来执 ...

  5. QTP自动化测试培训:描述编程之WebElement

    QTP自动化测试培训:描述编程之WebElement   通过描述性编程技术,来描述出来输入框: set po=browser("creationtime:=0").page(&q ...

  6. Python+Selenium框架设计篇之-什么是自动化测试框架

    1.什么是自动化测试框架 简单来说,自动化测试框架就是由一些标准,协议,规则组成,提供脚本运行的环境.自动化测试框架能够提供很多便利给用户高效完成一些事情,例如,结构清晰开发脚本,多种方式.平台执行脚 ...

  7. 《一头扎进》系列之Python+Selenium框架设计篇1-什么是自动化测试框架-价值好几K的框架,不看别后悔,过时不候

    1. 什么是自动化测试框架 在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的 ...

  8. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  9. [转]Android Studio 里搭建自动化测试框架Robotium

    Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...

随机推荐

  1. LeetCode OJ-- Surrounded Regions **@

    https://oj.leetcode.com/problems/surrounded-regions/ 棋盘类的题目.找出所有没有被 X 包围的 O 使用深搜,但是太深了,run time erro ...

  2. 可靠UDP设计

    最近加入了一个用帧同步的项目,帧同步方案对网络有着极大的影响,于是采用了RUDP(可靠UDP),那么为什么要摒弃TCP,而费尽心思去采用UDP呢?要搞明白这个问题,首先要了解TCP和UDP的区别 , ...

  3. 代码Rework中的反思

    以前编码只是关注能写出来,并让程序运行就完事,这是非常错误的想法. 让我们重新思考软件设计中的一些问题吧! 软件设计就像设计房屋,设计器具,是一个道理.软件的复杂度和bug完全是自己造成的,要设计好的 ...

  4. [读书笔记] JavaScript设计模式: 单例模式

    单例模式:保证一个类只有一个实例,并提供一个可以访问它的全局访问点. 一种简单.方便的写法就是用一个变量来标识当前类是否已经创建过对象,如果有,则返回已经创建好的对象,否则创建一个新对象,并将其返回. ...

  5. 基于WPF系统框架设计(8)-PasswordBox传值到ViewMode

    应用场景 我要做一个系统登录功能,需要传用户名和密码到ViewModel中,可是PasswordBox传值到ViewModel中好像跟TextBox等控件不一样.这里需要用到附加属性. 附加属性:一个 ...

  6. Android Studio 中.android 文件夹移动默认位置

    转自 开发工具打造: .android 文件夹移动默认位置 .android 文件夹是用来存放 avd 模拟器文件的文件夹. 因为默认是 C盘 的. 占用空间比较大.很不爽 将它移动到其它盘其实很简单 ...

  7. centos中httpd Server not started: (13)Permission denied: make_sock: could not bind to address [::]:8888

    Install semanage tools: sudo yum -y install policycoreutils-python Allow port 88 for httpd: sudo sem ...

  8. Android内存泄露自动检测神器LeakCanary

    经典的面试题: a.怎样在coding过程中避免内存泄露? b.怎样检测内存泄露? 这两个问题我想大部分Android 职位面试时都会被问到吧. 怎样避免就不赘述了,网上很多答案. 工具呢,当然也有很 ...

  9. GLSL纹理贴图 【转】

    转载:http://blog.csdn.net/hgl868/article/details/7872466 简单的纹理贴图(Simple Texture) 为了在GLSL中应用纹理,我们需要访问每个 ...

  10. Ubuntu下的计划任务 -- cron的基本知识

    下面不完全: 参考:http://blog.csdn.net/cuker919/article/details/6336457 cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的 ...