从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. GO学习-(23) Go语言操作MySQL + 强大的sqlx

    Go语言操作MySQL MySQL是业界常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据 ...

  2. Elasticsearch常用DSL关键字

    Elasticsearch常用DSL关键字 query: 用于包含查询使用到的语法 match_all: 最简单的查询,获取索引所有数据,类似搜索 *.如:"query":{&qu ...

  3. HEVC之路0:HM16.18的运行+码流分析

    1.HM下载 HM不能直接网页下载,因为它是采用svn来管理代码的,因此需要利用svn下载,这里采用TortoiseSVN(软件下载地址为https://tortoisesvn.net/)进行下载. ...

  4. 微信架构 & 支付架构(上)

    微信架构 & 支付架构(上) 一. 微信和支付宝对比 这两者现在已经占领了移动支付的90%市场,支付形式也都大抵相同,只是在实现细节上略微不同.这里之所以要专门对比,是因为有些接口的不同在后边 ...

  5. NVIDIA Tensor Cores解析

    NVIDIA Tensor Cores解析 高性能计算机和人工智能前所未有的加速 Tensor Cores支持混合精度计算,动态调整计算以加快吞吐量,同时保持精度.最新一代将这些加速功能扩展到各种工作 ...

  6. CVPR2020:点云分析中三维图形卷积网络中可变形核的学习

    CVPR2020:点云分析中三维图形卷积网络中可变形核的学习 Convolution in the Cloud: Learning Deformable Kernels in 3D Graph Con ...

  7. Spring boot未授权访问造成的数据库外联

    一.spring boot 日常测试或攻防演练中像shiro,fastjson等漏洞已经越来越少了,但是随着spring boot框架的广泛使用,spring boot带来的安全问题也越来越多,本文仅 ...

  8. 【NX二次开发】布尔操作

    //布尔操作 //UF_MODL_operations 对两个体执行布尔操作 //UF_MODL_unite_bodies 相加布尔操作,不可保留目标体.工具体 //UF_MODL_unite_bod ...

  9. MySQL的Limit 性能差?真的不能再用了?

    首先说明一下MySQL的版本: mysql> select version();+-----------+| version() |+-----------+| 5.7.17 |+------- ...

  10. Pandas高级教程之:category数据类型

    目录 简介 创建category 使用Series创建 使用DF创建 创建控制 转换为原始类型 categories的操作 获取category的属性 重命名categories 使用add_cate ...