从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 自动化框架设计思想的更多相关文章

  1. 多测师讲解ui自动化框架设计思想_高级讲师肖sir

    UI自动化框架:UI自动化框架可以分为8个模块,conf.data.public.pageobject.testcase.runner.report.log.conf是用来储存系统环境.数据库.邮件的 ...

  2. 多测师讲解a'pi自动化框架设计思想_高级讲师肖sir

    API自动化框架API自动化框架分为conf.data.utils.api.testcase.runner.report.log8个模块.conf是用来储存系统环境.数据库.邮件等的配置参数.项目的绝 ...

  3. Android源码分析(三)-----系统框架设计思想

    一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已...... 近来发现很多关于Android文章都是以源码的方向入手分析Androi ...

  4. App 自动化框架设计思路

    最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeio ...

  5. 基于PO和单例设计模式用python+selenium进行ui自动化框架设计

    一)框架目录的结构 二)config包当中的config.ini文件主要是用来存项目的绝对路径,是为了后续跑用例和生成测试报告做准备然后目前的配置文件大都会用yaml,ini,excel,还有.py也 ...

  6. java接口自动化(三) - 手工接口测试到自动化框架设计之鸟枪换炮

    1.简介 上一篇宏哥介绍完了接口用例设计,那么这一章节,宏哥就趁热打铁介绍一下,接口测试工具.然后小伙伴们或者童鞋们就可以用接口测试工具按照设计好的测试用例开始执行用例进行接口手动测试了.关于手动测试 ...

  7. 多测师讲解 _接口自动化框架设计分层思想(001)_高级讲师肖sir

    第一层: 第二层:调用接口层 VOQGWBZYNBOAVZGE

  8. python3+Robot Framework+PyCharm自动化测试框架设计

    关于自动化测试框架的设计,笔者在前面的随笔里面有介绍和总结,这里结合实际的项目例子做个demo,环境部署参考笔者的的随笔<python3+Robot Framework+PyCharm环境部署及 ...

  9. 多测师讲解 _接口自动化框架设计_高级讲师肖sir

    背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...

随机推荐

  1. 在gin框架中使用JWT

    在gin框架中使用JWT JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下. 什么 ...

  2. Jmeter- 笔记5 - 从响应数据提取信息

    JSON提取器 提取 响应体(response body)里的信息 在需要提取数据的请求下添加 JSON提取器,一个JSON提取器可以写多个json提取器 路径:后置处理器 -> JSON提取器 ...

  3. Django(49)drf解析模块源码分析

    前言 上一篇分析了请求模块的源码,如下: def initialize_request(self, request, *args, **kwargs): """ Retu ...

  4. 换硬盘,装win10系统小记

    国庆在家给女朋友的电脑换了1T的固态,重装了系统,特此记录一下,方便后续有需要时查看. win10 激活问题 由于以前的系统就是正版 win10,即使重新装机也会自动激活,不需要做什么额外的步骤. 微 ...

  5. java 全端开源 电商系统 springboot uniapp 小程序 前后端分离 高可用

    Lilishop B2B2C商城系统 官方公众号 & 开源不易,如有帮助请点Star 所有jar包均可从maven中央仓库下载,无二次封装jar包,全端开源,无后门,无监控. 介绍 官网:ht ...

  6. String类对象相加时做了什么

    我们都知道java中的加号操作符除了加法.表示正数之外,还可以用作字符串的连接.初学java时,你很可能会碰到类似下面的题目: 以下这段代码产生了几个String对象: String str1 = & ...

  7. Task01:初识数据库

    本章主要讲解数据库安装和数据库基本介绍,考虑易用性及普及度,本课程采取mysql进行教学. 1.1 初识数据库 数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.该数据集合称 ...

  8. 实验3、Flask数据库操作-如何使用Flask与数据库

    1. 实验内容 数据库的使用对于可交互的Web应用程序是极其重要的,本节我们主要学习如何与各种主要数据库进行连接和使用,以及ORM的使用 2. 实验要点 掌握Flask对于各种主要数据库的连接方法 掌 ...

  9. 04:全局解释器锁(GIL)

    1 全局解释器锁(GIL) 0 pypy(没有全局解释器锁) cpython(99.999999%)    -pypy python好多模块用不了,1 全局解释器锁,GIL锁(cpython解释器的问 ...

  10. Vim一直学不会?试试这个 "真香" 神器

    Vim 的使用,一直以来是一个难题 以至于国外的知名程序员问答社区 StackOverFlow 上有一个问题 How to I exit the Vim editor 获得了超过 200万次的浏览量 ...