ql自动化测试之路-概述篇
前言:本节主要讲解自动化测试的基本概述,包括分层自动化测试、自动化测试中用到的工具、以及关于自动化测试的想法
一、分层自动化测试

上图是经典的测试金字塔。用它来形容目前测试投入的价值是比较适合的,同样也可以用来说明自动化测试的投入价值。
UI层:界面(web)自动化测试,投入价值较小,所以适当的自动化测试是有必要的,但是没有必要100%投入。
Service层:接口测试,价值适中,自动化测试覆盖大多数主要的接口是比较合适的。
Unit层:单元测试,最有价值的,对于测试人员的要求比较高,最好是研发和测试人员配合。
小结:自动化测试主要指的前两种,UI测试和Service测试;特别是UI自动化测试,虽然投入的价值较小,最能提升测试人员的能力。
二、界面自动化测试工具
常用工具:QTP、AutoIt、Selenium
QTP:最新版本是UFT,QTP的优势是可以使用录制回放(注:QTP是用VBScript脚本编写的,用VBS做web测试的工具:AutonomyV)
AutoIt:主要是Windows下的UI测试,用于标准Win32对象,对于非标准的,比如Delphi或者PowerBuilder之类的AutoIt就无能为力了
Selenium:做web测试最全面的工具,支持的浏览器种类全面,而且又是直接在浏览器中操作,所以接近真实操作
小结:AutoIt和Selenium这两个工具,现在在RF里都有对应的测试库,可以用来进行自动化测试。对于QTP来说RF完全取代了它的功能,唯一的缺陷就在于不能录制回放。
三、关于自动化测试的想法
手动测试可以做到覆盖100%,可以把自动化测试比如成一个防弹衣,防弹衣不可能100%保护身体的每一个部分,如果变成100%覆盖率就不是防弹衣了是宇航服了;自动化测试如果100%覆盖会导致投入更多的人力在维护上面。
自动化测试做到什么样才算是最好:
UI层面:保证少量必要的主流程序即可,没有必要追求自动化率越高越好
Service层面:接口自动化测试,可以考虑覆盖大部分流程
Uint层面:可以做到100%的覆盖率,即使需求有变化一般很少影响到自动化测试案例。
ql自动化测试之路-概述篇的更多相关文章
- python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...
- 为测试赋能,腾讯WeTest探索手游AI自动化测试之路
作者:周大军/孙大伟, 腾讯后台开发 高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 做好自动化测试从来不件容易的事情,更何况是手游的自动化测试,相比传 ...
- 自动化测试之路3-selenium3+python3环境搭建
1.首先安装火狐浏览器 有单独文章分享怎么安装 2.搭建python环境 安装python,安装的时候把path选好,就不用自己在配置,安装方法有单独文档分享 安装好以后cmd打开输入python查 ...
- 自动化测试之路2---python安装
借鉴这位老哥的文章http://www.cnblogs.com/shabbylee/p/6792555.html
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- 自动化测试之Selenium篇(一):环境搭建
当前无论找工作或者是实际项目应用,自动化测试扮演着非常重要的角色,今天我们来学习下Selenium的环境搭建 Selenium简述 Selenium是一个强大的开源Web功能测试工具系列 可进行读入测 ...
- POPTEST培训:web自动化测试之DOM
POPTEST培训:web自动化测试之DOM poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq ...
- python自动化测试之连接几组测试包实例
python自动化测试之连接几组测试包实例 本文实例讲述了python自动化测试之连接几组测试包的方法,分享给大家供大家参考.具体方法如下: 具体代码如下: class RomanNumera ...
- Android自动化测试之Monkey 转自:LupuX
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011436666/article/details/53998332 在之前的文章Android自动 ...
随机推荐
- synchronized 作为悲观锁,锁住了什么?
继续来认识 synchronized,上篇文章加不加 synchronized 有什么区别?我们了解了 synchronized 是在多线程并发竞争同一资源的时候使用,这一篇我们来了解,synchro ...
- php utf-8
header(”Content-Type: text/html; charset=UTF-8″) 控制器控释模板输出: 值: array (size=8) 1 => array (size=4) ...
- influxdb 安装
influxdb是一款开源的时序数据库,可以用作监控系统的数据存储或用来存储基于时序进行分析的业务系统的数据存储. influxdb的部署及使用均比较简单,但是集群(官方版集群已闭源)及高可用方案较少 ...
- Eclipse Collections:让Java Streams更上一层楼
\ 关键要点 \\ Eclipse Collections是一个高性能的Java集合框架,为原生JDK集合增加了丰富的功能.\\t Streams是JDK的一个非常受欢迎的功能,但它缺少了一些特性,严 ...
- Java 线程池(ThreadPoolExecutor)原理分析与实际运用
在我们的开发中"池"的概念并不罕见,有数据库连接池.线程池.对象池.常量池等等.下面我们主要针对线程池来一步一步揭开线程池的面纱. 有关java线程技术文章还可以推荐阅读:< ...
- double运算的坑
某个结果运算后,得出的数据:a = 15.599999999 而不是15.6,导致条件判断 a < 15.6 为true,使程序出现bug 解决办法,对运算后的浮点数,进行格式化(以保留一位小数 ...
- MySQL如何安装-教程
1.先从官网上下载Mysql压缩包https://dev.mysql.com/downloads/mysql/2.解压出来的mysql压缩包是没有图片中的data文件夹和my.ini 如图所示: 3. ...
- 题目分享J
题意:从一棵树的树根出发,除树根外每个节点都有其能经过的最多次数与经过后会获得的价值(可能为负,最多只能领一次价值),问最终走回树根能获得的最大价值以及有无可达到此价值的多种走法(ps:一开始在树根就 ...
- php扩展开发之hello world
最近在公司做的事情就是php扩展开发,虽然我只负责c++代码的编写,但是了解扩展开发的流程还是很有必要的. (本文介绍的是动态扩展,对静态扩展有兴趣的读者可自行google) php扩展开发环境搭建可 ...
- 3-MyBatisPlus教程(CRUD-上)
1,增加MP日志配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:m ...