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文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...
随机推荐
- 针对Spring MVC的Interceptor内存马
针对Spring MVC的Interceptor内存马 目录 针对Spring MVC的Interceptor内存马 1 基础拦截器和调用流程的探索 1.1 基础拦截器 1.2 探索拦截器的调用链 1 ...
- 3D-camera结构光原理
3D-camera结构光原理 目前主流的深度探测技术是结构光,TOF,和双目.具体的百度就有很详细的信息. 而结构光也有双目结构光和散斑结构光等,没错,Iphone X 的3D深度相机就用 散斑结构光 ...
- NVIDIA GPU的快速傅立叶变换
NVIDIA GPU的快速傅立叶变换 cuFFT库提供GPU加速的FFT实现,其执行速度比仅CPU的替代方案快10倍.cuFFT用于构建跨学科的商业和研究应用程序,例如深度学习,计算机视觉,计算物理, ...
- TensorFlow Keras API用法
TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...
- 视频处理单元Video Processing Unit
视频处理单元Video Processing Unit VPU处理全局视频处理,它包括时钟门.块复位线和电源域的管理. 缺少什么: •完全重置整个视频处理硬件块 •VPU时钟的缩放和设置 •总线时钟门 ...
- CVPR2020:点云弱监督三维语义分割的多路径区域挖掘
CVPR2020:点云弱监督三维语义分割的多路径区域挖掘 Multi-Path Region Mining for Weakly Supervised 3D Semantic Segmentation ...
- CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)
CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...
- Yolov4性能分析(下)
Yolov4性能分析(下) 六. 权重更新 "darknet/src/detector.c"--train_detector()函数中: ...... /* 开始训练网络 */ f ...
- 使用regulator_get时的一个小注意事项
Linux kernel 使用 regulator 框架来管理电源,比如 PMIC 芯片上常见的LDO.使用 regulator 的常规流程如以下代码所示: void set_vbus_voltage ...
- DHCP:IP 并非与生俱来
初识 DHCP 众所周知,因特网上的每台设备都规定了其全世界唯一的地址,也就是说 "IP 地址",正是由于有了 IP 地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从 ...