软件测试 -- 进阶 11 手工测试与自动化测试
2023-09-14 09:10:53 时间
楚兰生于深林,不以无人而不芳;君子修道立德,不以穷困而变节。《论语.子路》
释译:楚兰生在深山老林中,不会因为没有人欣赏而不散发自身的芳香与美丽;君子修身立德,不会因为穷困而变化。
1. 软件测试
- 软件测试是为发现错误而执行的一个程序或者系统的过程
- 软件测试的对像包括软件开发过程中的程序、数据和文档
- 软件测试的执行以测试需求分析、设计、测试用例为基础
- 软件测试根据执行方式不同,分为手工测试 与 自动化测试
- 手工测试与自动化测试的“技术含量“之争由来以久,笑看之
2. 手工测试
- 基于测试用例
- 以人工方式执行
- 人工方式对比测试预期与实际执行结果
- 可用于单元测试、功能测试、GUI、可用性/易用性、集成测试、系统测试、验收测试等常规测试
3. 自动化测试
- 基于测试用例
- 通过代码将测试用例执行由人工转为机器
- 机器对比测试预期也实际执行,通过执行日志输出结果
- 可用于单元测试、功能测试、集成测试、系统测试、等常规测试,并能高效完成性能测试、安全等非常规测试
参考: 测试小故事86:自动化测试
4. 测试自动化
- 自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程 -- 百度百科
- 测试自动化关注测试过程、执行和结果,将测试过程的管理、控制实现系统化管理,减少人工参与,提高测试过程管理质量和测试执行质量
- 测试自动化涵盖了测试资产管理(测试需求、测试用例、系统缺陷)、测试过程监控(数据的收集、整理、分析)、及自动化测试
5. 手工测试 与 自动化测试
- 软件测试执行的不同形式
- 基于软件系统需求分析、设计和测试用例
- 以发现软件缺陷、提升软件质量为目的
- 均可以完成软件系统功能测试和非功能性测试
- 手工测试更擅长发挥人的主观能动性
- 软件系统或其模块的功能验证、系统测试,系统运行未稳定状态下效果更明显
- 临时或突发的测试任务执行,特定测试场景或业务验证
- 图形界面GUI变动较频繁的用户场景测试验证
- 可用性测试、易用性测试验证
- 探索式Exploratory测试和随机Ad-Hoc测试 - 自动化测试更擅长即定业务的回归验证及系统模拟
- 软件系统或其模块的功能验证、系统测试,系统或其模块稳定状态下的回归验证效果明显、效率更高
- 快速执行冒烟测试,验证系统测试可执行性
- 稳定模块下的回归验证,业务主流程测试验证
- 用户验收测试,系统发布验证,日常系统定期维护测试验证
- 系统大数据量、多用户并行的性能验证;系统探测、扫描的安全验证 - 优缺点
手工测试
- 手工测试依赖于测试人员的能力(分析、设计、执行)
- 长期、稳定的系统回归测试,人力执行效率差、执行时间长、受执行时的人力状态影响大
- 手工测试能充分发挥人的主动性、事先预判、逻辑推理和灵活性
- 手工测试更能发现系统功能的、潜在的缺陷
自动化测试
- 自动化测试是人工设计并开发出来、按即定流程执行的程序,需要有一定的代码编程能力
- 自动化测试在执行长期、稳定的系统回归测试时,更快速、更高效,节省时间;机器执行,不受人力影响
- 为了保证自动化测试的有效性,需要根据系统变化(特别是GUI的自动化)对自动化代码进行维护(成本)
- 自动化测试更容易发现系统变化前后的“变化”缺陷,机器没有想像力,不能发现系统功能、潜在的问题 -- AI能改进?
6. 手工测试 和 自动化测试 谁更强
- 测试目的:在用户实际使用前发现和修复更多的系统缺陷,保证软件系统运行的稳定性
- 手工测试发挥人的主观能动性更能发现系统存在的问题
- 自动化测试按既定程序无差别执行,执行速度更快、执行效率更高
- 手工测试 与自动化测试相辅相成,彼此促进、共同提升软件质量
* 测试金字塔模型,来自 百度百科
参考: 转载:自动化测试金字塔与反模式
7. 手工测试 与 自动化测试生存之道
- 手工测试是软件测试基础,软件测试的分析、设计思路需要手工测试的实践经验
- 软件测试需要自动化的加持,自动化测试需要手工测试逻辑思想的转换,测试人员需要代码和编程的能力
- 软件需求的多变、发布版本的快速迭代,需要手工测试与自动化测试合理组织、分配、协调,共同提升测试效率和效果
- 手工测试与自动化测试没有技术高低之分,区别在于是否能够在测试过程中不断学习和精进,殊途同归,不断主动挑战
- 质量、质量、质量,如何提升软件质量,永远是手工测试和自动化测试首要考虑的问题,学习、融会、改进
相关文章
- HTMLDOM中三种元素节点、属性节点、文本节点的测试案例
- Robot Framework自动化测试(一)---第一个脚本
- Appium移动自动化测试(三)--安装Android模拟器
- 133、 Android 自动化测试(转载)
- 〖Python接口自动化测试实战篇⑬〗- 实战 - unittest框架之测试套件应用
- 〖Python接口自动化测试实战篇⑨〗- 实战 - 某旅游网经典流程的接口测试
- Playwright vs Selenium:最好用的自动化测试框架?
- pytest接口自动化测试框架 | conftest.py
- 4.2 录制第一个jmeter性能测试脚本(http协议)
- lotus通过selenium自动领取测试币
- 测试自动化成本及投资回报率
- 如何从功能测试转自动化测试?必须考虑这5点,零基础亲测好评!
- python+appium自动化测试-调用服务器接口
- 如何学习自动化测试?——手工测试转向自动化测试?|纯干货
- 自动化测试--自动化测试报告
- python自动化测试学习-PO设计模式
- Selenium自动化测试-5.脚本录制神器Katalon Recorder
- 30年经验告诉你自动化测试的生命周期是什么?
- Appium自动化测试基础 — 获取元素文本内容
- 【测试开发】Junit5 + YAML 轻松实现参数化和数据驱动,让 App 自动化测试更高效(二)
- 传统 API 管理与测试过程正面临严峻的挑战
- 功能测试进阶自动化测试?这9个必备自动化技能看看你有没有掌握...
- 1小时内被全网疯转 29.8w 次的自动化测试框架之UnitTest手册
- UnitTest自动化测试框架系列篇
- Selenium自动化测试——巡检脚本开发(上)