Automation Framework Design 自动化框架设计思想
从2007年到2017年,十年内自动化测试工具层出不穷,各种工具在运用一段时间之后,各个公司都会有测试架构师对于目前的自动化测试工具进行框架定制设计。
从惠普2007年GDCC推出的的WebDrivier,到2010年Sean Xu时期HPIT TCOE推出的Data Driven,到后来2012年印度人卖得死贵的TAO框架,都成为了QTP或者说UFT付费框架的典型产品。如今诺基亚研发的Robot Framework,Eclipse上面的TestNG+Selenium种种免费的框架,慢慢代替了传统自动化框架,成为了各大公司的新宠儿。
那么不管基于哪款框架的产品自动化,为了适应新产品或者新功能的开发设计+自动化快速测试,都需要对框架进行升级、设计、维护等一系列工作。今天我想分享的是针对一家大型保险公司的多款系统产品方案,实现的新自动化测试框架的设计理念,这款框架的最后售价为200万美金左右。有点小贵,但是确实真正意义上实现了自动化测试框架的自定义设计和测试用例设计快速设计,完成了客户要求的测试成本的降低率。
设计理念的原图:

自动化框架设计的思想
1. Business Components 业务组件
在框架下,我们要考虑的是两个方面,一个是基于所有应用的功能调用,另外一个就是business component. 例如登录,例如保险中的询价,报价,合同,付款等都属于business component的一部分,这些跟业务流程相关的,从设计思想来说,必须和基础功能完全分离。
2. Test Case 测试用例
测试用例的设计,要有这样的一个概念。 用例设计中,可以反复调用业务组件,但是不可以跟业务组件混淆,要基于测试设计的概念,配合测试数据来实现用例设计。输入和输出,仅仅只是在测试用例中体现的。
3.引擎的概念Engine
我们设计引擎的时候,会考虑两个方面,一个是语言的,比如Java, Python, VBS,JS等语言包的支持;另一个很自然的就是自动化的引擎,考虑到自动化对测试业务流、数据流的反复操作,引擎设计的优劣会影响到后期大量执行数据介入时,产生的执行时间和效率,所以Automation Engine应该是配合我们的产品架构进行定制化的。
4. 测试管理
在这个架构中,对测试用例,测试数据和测试结果的管理,我们推荐的是惠普的QC/ALM, 那其实JIRA也是一款很不错的管理工具,而且也在不停的完善中。
5. 工具的选择
在工具的选择上,目前推荐UFT或者Selenium,都是功能强大的产品,UFT这款产品的优点在于测试脚本在后期的开发维护成本相对少,而且上手简单。 缺点就是很多公司无法接受昂贵的许可证费用。 Selenium相对来说后期维护成本高,而且对测试人员的代码能力有一定的要求。 但是优点是免费,并且有很多的框架可以支持其功能输出。
Automation Framework Design 自动化框架设计思想的更多相关文章
- 多测师讲解ui自动化框架设计思想_高级讲师肖sir
UI自动化框架:UI自动化框架可以分为8个模块,conf.data.public.pageobject.testcase.runner.report.log.conf是用来储存系统环境.数据库.邮件的 ...
- 多测师讲解a'pi自动化框架设计思想_高级讲师肖sir
API自动化框架API自动化框架分为conf.data.utils.api.testcase.runner.report.log8个模块.conf是用来储存系统环境.数据库.邮件等的配置参数.项目的绝 ...
- Android源码分析(三)-----系统框架设计思想
一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已...... 近来发现很多关于Android文章都是以源码的方向入手分析Androi ...
- App 自动化框架设计思路
最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeio ...
- 基于PO和单例设计模式用python+selenium进行ui自动化框架设计
一)框架目录的结构 二)config包当中的config.ini文件主要是用来存项目的绝对路径,是为了后续跑用例和生成测试报告做准备然后目前的配置文件大都会用yaml,ini,excel,还有.py也 ...
- java接口自动化(三) - 手工接口测试到自动化框架设计之鸟枪换炮
1.简介 上一篇宏哥介绍完了接口用例设计,那么这一章节,宏哥就趁热打铁介绍一下,接口测试工具.然后小伙伴们或者童鞋们就可以用接口测试工具按照设计好的测试用例开始执行用例进行接口手动测试了.关于手动测试 ...
- 多测师讲解 _接口自动化框架设计分层思想(001)_高级讲师肖sir
第一层: 第二层:调用接口层 VOQGWBZYNBOAVZGE
- python3+Robot Framework+PyCharm自动化测试框架设计
关于自动化测试框架的设计,笔者在前面的随笔里面有介绍和总结,这里结合实际的项目例子做个demo,环境部署参考笔者的的随笔<python3+Robot Framework+PyCharm环境部署及 ...
- 多测师讲解 _接口自动化框架设计_高级讲师肖sir
背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...
随机推荐
- springboot 非端口模式启动
@SpringBootApplication @ComponentScan(basePackages = {"demo.test"}) public class ReportApp ...
- 一篇文章弄懂 Java 反射的使用
说到Java反射,必须先把 Java 的字节码搞明白了,也就是 Class , 大 Class 在之前的文章中,我们知道了Java的大Class就是类的字节码,就是一个普通的类,里面保存的是类的信息, ...
- Tengine MLOps概述
Tengine MLOps概述 大幅提高产业应用从云向边缘迁移的效率 MLOps Cloud Native 聚焦于提升云端的运营过程效率 MLOps Edge Native 聚焦于解决边缘应用开发及异 ...
- NVIDIA数据中心深度学习产品性能
NVIDIA数据中心深度学习产品性能 在现实世界的应用程序中部署AI,需要训练网络以指定的精度融合.这是测试AI系统的最佳方法-准备将其部署在现场,因为网络随后可以提供有意义的结果(例如,对视频流正确 ...
- Contos8 安装 MariaDb 时报错:Could not open mysql.plugin table: table mysql.plugin
导语: 因个人服务器误删了一些文件导致MariaDB崩溃,一直在报错,所以想着重装一下,没想到在重装后启动时再次报错(与之前报错不同),这次的报错原因大致是因为某些插件表找不到. 因此又开启了漫长的寻 ...
- 痞子衡嵌入式:嵌入式里通用微秒(microseconds)计时函数框架设计与实现
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是嵌入式里通用微秒(microseconds)计时函数框架设计与实现. 在嵌入式软件开发里,计时可以说是非常基础的功能模块了,其应用也非常 ...
- webgl变换:深入图形平移
在以前的文章里,不管是绘制图形,绘制点亦或者是改变色值,所有的内容都是静态的. 在 webgl 里,图形的运动分为 平移.旋转.缩放 三种类型. 接下来,我们会从零基础开始,一点一点来深入了解图形如何 ...
- 1、java数据结构和算法---循环队列
直接上代码: public class CircleArrayQueueLvcai { private int[] array; private int maxSize;//循环队列大小 privat ...
- Java基础知识之this关键字知识讲解
this关键字这里对java中this关键字的基础知识进行讲解,希望对热爱java的小伙伴有帮助!! /* this关键字代表了所属函数的调用者对象. this关键字的作用: 1. 如果存在同名成员变 ...
- 【工具解析】瑞士军刀bettercap2.X解析_第一期_编写HTTP代理注入模块_http(s).proxy.script
/文章作者:Kali_MG1937 CNBLOG博客号:ALDYS4 QQ:3496925334/ 前言 bettercap已经从1.6更新至2.0版本 语言也从ruby改为了go 编写注入模块指定的 ...