【5.21】六、自动化测试—概述
目录
6.1 自动化测试概述
6.1.1 什么是自动化测试
6.1.2 自动化测试的基本流程
6.1.3 自动化测试实施策略
6.1.4 自动化测试的优势和劣势
测试中的许多操作都是重复性的、非智力性的和非创造性的,但要求工作准确细致,此时计算机最适合代替人工去完成这样的工作。
软件自动化测试是为代替手工测试而产生的,它将自动化工具和技术应用于软件测试,旨在减少测试工作的手工重复性,以更快、更少的工作量构建质量更好的软件。
6.1 自动化测试概述
6.1.1 什么是自动化测试
自动化测试,是指把以人为驱动的测试行为转化为机器执行的过程。
通常情况下,引入自动化测试需要满足以下条件:
- (1)项目需求变动不频繁
- (2)项目周期足够长
- (3)自动化测试脚本可重复使用
- 另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。
6.1.2 自动化测试的基本流程
1. 分析测试需求:测试需求其实就是测试目标,也可以看作是自动化测试的功能点。
2. 制订测试计划:明确测试对象、测试目的、测试的项目内容、测试的方法。此外,要合理分配好测试人员以及测试所需要的硬件、数据等资源。
3. 设计测试用例:要考虑到软件的真实使用环境,例如对于性能测试、安全测试,需要设计场景模拟真实环境以确保测试真实有效。
4. 搭建测试环境:自动化测试的脚本编写需要录制页面控件、添加对象。测试环境的搭建,包括被测系统的部署、测试硬件的调用、测试工具的安装和设置、网络环境的布置等。
5. 编写并执行测试脚本:公共测试框架确立后,可进入脚本编写的阶段,根据自动化测试计划和测试用例编写自动化测试脚本。
6. 分析测试结果、记录测试问题:如果软件缺陷真实存在,则要记录问题并提交给开发人员修复,如果不是系统缺陷,就检查自动化测试脚本或者测试环境。
7. 跟踪测试Bug:测试发现的Bug要记录到缺陷管理工具中去,以便定期跟踪处理。
6.1.3 自动化测试实施策略
金字塔测试策略要求在3个不同级别进行自动化测试:
最底部的单元测试占据了自动化测试的最大百分比,其次是接口测试和UI测试。将自动化测试重点工作放在单元测试和接口测试阶段有助于加快项目整体开发进度,减少后期开发和测试的成本。
(1)单元测试:单元测试要求在开发中对每个功能模块(函数、类方法)进行测试,如检测其中某一项功能是否按预期要求正常运行。
(2)接口测试:接口测试要求对数据传输、数据库性能等进行测试,从而保证数据传输以及处理的完整性。
(3)UI测试UI测试以用户体验为主,软件的所有功能都是通过这一层展示给用户的,因此UI测试的工作也很重要。
6.1.4 自动化测试的优势和劣势
自动化测试只是众多测试中的一种,并不比人工测试更高级更先进。
和人工测试相比,自动化测试有一定的优势和劣势:
1. 优势
(1)自动化测试具有一致性和重复性的特点,而且测试更客观,提高了软件测试的准确度、精确度和可信任度。
(2)自动化测试可以将任务自动化,能够解放人力去做更重要的工作。
(3)自动化测试只需要部署好相应的场景,如高度复杂使用场景、海量数据交互、动态响应请求等,测试就可以在无人值守的状态下自动进行,并对测试结果进行分析反馈;手工测试很难实现复杂的测试。
(4)自动化测试可以模拟复杂的测试场景完成人工无法完成的测试,如负载测试、压力测试等。
(5)软件版本更新迭代后需要进行回归测试,自动化测试有助于创建持续集成环境,使用新构建的测试环境快速进行自动化测试。
2. 劣势
(1)相对手工测试,自动化测试对测试团队的技术有更高的要求。
(2)自动化测试无法完全替代人工测试找到Bug,也不能实现100%覆盖。
(3)自动化测试脚本的开发需要花费较大的时间成本,错误的测试用例会导致资源的浪费和时间投入。
(4)产品的快速迭代。自动化测试脚本将不断迭代,时间成本很高。
(5)自动化测试能提高测试效率,却不能保证测试的有效性。即使设计的测试用例覆盖率比较高,也不能保证被测试的软件质量会更优。
【5.21】六、自动化测试—概述相关推荐
- 自动化测试概述/自动化工具
自动化测试概述/自动化工具 自动化测试 常见的WEB自动化测试工具: 自动化测试工具选择要求 是看着课程听的,做的课程的随堂笔记 课程的链接如下: https://coding.imooc.com/c ...
- 软件测试——自动化测试概述
目录 一. 自动化测试概述 1.1 什么是自动化测试? 1.2 为什么做自动化测试? 1.3 自动化测试什么阶段开始? 1.4 自动化测试所属分类: 1.5 自动化测试的优缺点: 1.6 自动化测试分 ...
- 基于Python+uiautomation的windowsGUI自动化测试概述
基于Python+uiautomation的windowsGUI自动化测试概述 1 前言 2 PythonGUI工具 2.1 常用的PythonGUI编程工具 2.2 常用PythonGUI自动化测试 ...
- 接口自动化测试概述及流程梳理
接下来开始学习接口自动化测试. 因为之前从来没接触过,所以先了解一些基础知识. 1.接口测试的概述 2.接口自动化测试流程. 接口测试概述 接口,又叫API(Application Programmi ...
- 自动化测试概述:5W1H
先看下分类: 自动化测试的5W1H: 一.what 自动化测试是用特殊的软件(测试框架.工具)来控制测试的执行,并且能自动比较实际结果与预期结果的过程.自动化测试能自动化执行一些重复但是必要,或者手工 ...
- 2022年最新csdn涨薪技术栈-app自动化测试概述
目录 一. 应用背景 二. 测试框架介绍 1.Android自动化框架 IOS自动化框架 三. 测试流程与分类 1.测试流程 2.自动化测试分类 四. 移动操作系统与app类型 1.移动操作系统and ...
- 接口自动化测试(一)---接口及接口自动化测试概述
一.接口测试 前后端及接口测试定义 前端:简单来说,我们在应用程序或者网站页面上看到的所有内容都属于前端 后端:用户看不到的东西,通常是与前端进行数据交互,以及网站数据的保存和读取,主要考虑底层业务逻 ...
- web自动化测试---概述
最早的时候是做功能测试,web都是自己手工点击看看有没问题,没有系统的进行测试,更别说自动化测试了,那是一段不堪回首的往事,就是因为这,很多问题都流出去了,这是作为测试人员的一大失职,痛定思痛,开始学 ...
- 嵌入式Linux系统编程学习之二十六多线程概述
文章目录 一.多线程概述 二.线程分类 三.线程创建的Linux实现 一.多线程概述 进程是系统中程序执行和资源分配的基本单位.每个进程有自己的数据段.代码段和堆栈段,这就造成进程在进行切换等操作 ...
最新文章
- 三分钟,了解PLM真谛
- 标签之美三——超链接的嵌入
- python类中self是什么
- 图解比较李航书上的viterbi算法和dijistra算法
- 不作死就不会死,盘点那些死于自己发明的发明家
- hazelcast_带弹簧的Hazelcast分布式执行
- java grpc 客户端处理 go 服务端多返回值_grpc基础实践(二)
- html5 打包ios.上架,iOS帮客户打包App上架的正确姿势
- spring cloud 资源
- matlab 正交park变换 功率守恒,第二章功率变换.ppt
- 债券价格和到期收益率的关系_债券市场价格与到期收益率
- 《走遍美国》MP3 共78集下载地址
- 计算机毕业设计房地产客服管理系统xns程序
- 云计算技术前景怎么样?云计算开发学院分享
- PCB软件弹出网页的解决方法之一
- 有一千万资产能被称为富二代吗?
- C语言字符串输入与输出函数
- CentOS下载安装rar压缩软件
- Prometheus监控系统详解
- java 验证码点击刷新_第三讲:验证码点击刷新