软件测试 -- 进阶 11 手工测试与自动化测试
楚兰生于深林,不以无人而不芳;君子修道立德,不以穷困而变节。《论语.子路》
释译:楚兰生在深山老林中,不会因为没有人欣赏而不散发自身的芳香与美丽;君子修身立德,不会因为穷困而变化。
1. 软件测试
- 软件测试是为发现错误而执行的一个程序或者系统的过程
- 软件测试的对像包括软件开发过程中的程序、数据和文档
- 软件测试的执行以测试需求分析、设计、测试用例为基础
- 软件测试根据执行方式不同,分为手工测试 与 自动化测试
- 手工测试与自动化测试的“技术含量“之争由来以久,笑看之
参考:软件测试 -- 入门 1 软件测试是什么?
2. 手工测试
- 基于测试用例
- 以人工方式执行
- 人工方式对比测试预期与实际执行结果
- 可用于单元测试、功能测试、GUI、可用性/易用性、集成测试、系统测试、验收测试等常规测试
3. 自动化测试
- 基于测试用例
- 通过代码将测试用例执行由人工转为机器
- 机器对比测试预期也实际执行,通过执行日志输出结果
- 可用于单元测试、功能测试、集成测试、系统测试、等常规测试,并能高效完成性能测试、安全等非常规测试
参考: 测试小故事86:自动化测试
4. 测试自动化
- 自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程 -- 百度百科
- 测试自动化关注测试过程、执行和结果,将测试过程的管理、控制实现系统化管理,减少人工参与,提高测试过程管理质量和测试执行质量
- 测试自动化涵盖了测试资产管理(测试需求、测试用例、系统缺陷)、测试过程监控(数据的收集、整理、分析)、及自动化测试
参考:测试小故事51:测试自动化和自动化测试
5. 手工测试 与 自动化测试
- 软件测试执行的不同形式
- 基于软件系统需求分析、设计和测试用例
- 以发现软件缺陷、提升软件质量为目的
- 均可以完成软件系统功能测试和非功能性测试
- 手工测试更擅长发挥人的主观能动性
- 软件系统或其模块的功能验证、系统测试,系统运行未稳定状态下效果更明显
- 临时或突发的测试任务执行,特定测试场景或业务验证
- 图形界面GUI变动较频繁的用户场景测试验证
- 可用性测试、易用性测试验证
- 探索式Exploratory测试和随机Ad-Hoc测试 - 自动化测试更擅长即定业务的回归验证及系统模拟
- 软件系统或其模块的功能验证、系统测试,系统或其模块稳定状态下的回归验证效果明显、效率更高
- 快速执行冒烟测试,验证系统测试可执行性
- 稳定模块下的回归验证,业务主流程测试验证
- 用户验收测试,系统发布验证,日常系统定期维护测试验证
- 系统大数据量、多用户并行的性能验证;系统探测、扫描的安全验证 - 优缺点
手工测试
- 手工测试依赖于测试人员的能力(分析、设计、执行)
- 长期、稳定的系统回归测试,人力执行效率差、执行时间长、受执行时的人力状态影响大
- 手工测试能充分发挥人的主动性、事先预判、逻辑推理和灵活性
- 手工测试更能发现系统功能的、潜在的缺陷自动化测试
- 自动化测试是人工设计并开发出来、按即定流程执行的程序,需要有一定的代码编程能力
- 自动化测试在执行长期、稳定的系统回归测试时,更快速、更高效,节省时间;机器执行,不受人力影响
- 为了保证自动化测试的有效性,需要根据系统变化(特别是GUI的自动化)对自动化代码进行维护(成本)
- 自动化测试更容易发现系统变化前后的“变化”缺陷,机器没有想像力,不能发现系统功能、潜在的问题 -- AI能改进?
6. 手工测试 和 自动化测试 谁更强
- 测试目的:在用户实际使用前发现和修复更多的系统缺陷,保证软件系统运行的稳定性
- 手工测试发挥人的主观能动性更能发现系统存在的问题
- 自动化测试按既定程序无差别执行,执行速度更快、执行效率更高
- 手工测试 与自动化测试相辅相成,彼此促进、共同提升软件质量
* 测试金字塔模型,来自 百度百科
参考: 转载:自动化测试金字塔与反模式
7. 手工测试 与 自动化测试生存之道
- 手工测试是软件测试基础,软件测试的分析、设计思路需要手工测试的实践经验
- 软件测试需要自动化的加持,自动化测试需要手工测试逻辑思想的转换,测试人员需要代码和编程的能力
- 软件需求的多变、发布版本的快速迭代,需要手工测试与自动化测试合理组织、分配、协调,共同提升测试效率和效果
- 手工测试与自动化测试没有技术高低之分,区别在于是否能够在测试过程中不断学习和精进,殊途同归,不断主动挑战
- 质量、质量、质量,如何提升软件质量,永远是手工测试和自动化测试首要考虑的问题,学习、融会、改进
软件测试 -- 进阶 11 手工测试与自动化测试相关推荐
- 软件测试进阶之路_心得体会
PS:由于读这本书的时候感触很深,因此想对自己这段时间的工作做一个小小的总结以及在自己经常看到的地方立下FLAG来督促自己的持续学习与进步(向测试开发工程师努力) 本文中引用了一部分<软件测试进 ...
- 手工测试对比自动化测试
测试工作无论是手工测试还是自动化测试都是软件质量保障的一个途径.那么正确的应用手工测试又何时应用自动化测试呢? 对于一些基本的.逻辑性不强的操作,可以使用自动化测试工具.应该说,现在在移动应用中app ...
- python测试需要学什么_从手工测试到自动化测试需要学什么?
很多希望从手工测试工程师转型为自动化测试工程师的同学都有一个疑问,就是从手工测试到自动化测试到底需要学习那些东西.下面我就尝试回答一下这个问题. 首先,澄清一下这里要讨论的自动化测试的概念,这里的自动 ...
- 软件测试技术(七)自动化测试
第一章 软件测试概述 第二章 软件测试基本知识 第三章 黑盒测试 第四章 白盒测试 第五章 软件测试流程 第六章 性能测试 第七章 自动化测试技术 Android自动化测试技术--Espresso的使 ...
- 11小时 python自动化测试从入门到_自动化测试实战宝典(Robot Framework+Python从小工到专家)...
目录 第1部分 入门篇 第1章 大话测试行业 1.1 测试行业现状分析 1.2 未来发展趋势 1.3 测试工程师的核心竞争力 1.4 测试知识体系 1.5 测试发展能力图谱及推荐书单 1.6 本章总结 ...
- 软件手工测试和自动化测试比不同!!
1 引入测试的原因 信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点.不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把 ...
- linux操作系统测试面试题,软件测试进阶面试题之Linux基础
随着移动互联网的发展,软件测试求职者越来越多,针对根据市场需求,本文整理了一些关于Linux基础的软件测试进阶面试题,希望能够帮助学生和软件测试程序员提升面试能力. 1.如何查看 CPU 信息? /p ...
- 从手工测试转自动化测试前,你必须知道的9大内容
1.自动化定义 借助测试工具,依照测试规范,局部或全部代替人工测试,提高测试有效性. 备注:测试不需要对软件所有功能进行测试,比如很多软件的帮助. 2.特征 模拟人工操作:软件替代人工操作.对界面进行 ...
- 网络安全通识全解|第16期 手工测试与自动化测试
手工测试与自动化测试 手工测试是指软件测试的整个活动过程(如评审.测试设计.测试执行等)都是由软件测试工程师手工执行来完成,不使用任何测试工具,狭义上是指测试执行由人工完成,这是最基本的测试形式. 自 ...
最新文章
- 2020上半年收集到的优质AI文章 – 计算机视觉
- Java集合框架(1)
- Tomcat发布网页的方法记录
- [Linux] 020 RPM 包的命名原则与其依赖性
- java建一个conversion_Scala中的JavaConverters和JavaConversions之间有什么区别?
- 图解如何制作苹果OS X系统ISO光盘
- 95-160-024-源码-DataStream-ConnectedStreams与union合并流
- python内置函数zip
- 初探socket 报式
- Dash中文文档: Python2.7.16 和 Python3.8
- java mysql sqlhelper_Java访问MySQL数据库的SqlHelper类以及测试程序
- 后门攻击阅读笔记,Input-aware dynamic backdoor attack
- vue页面跳转打开新的窗口
- 磁条卡,IC卡,ID卡,信用卡芯片卡,信用卡磁条卡 等等的区别
- (转)JMX之介绍和简单使用(一)
- POJ 3069 Saruman's Army(萨鲁曼军)
- JESD204接口调试总结——Xilinx JESD204B IP testbench解析
- idea下用grade构建项目使用lombok编译不生成get set 方法填坑 项目引用一直报无法找到符号!
- DAC芯片CBM128S085
- 网络编程-JavaScript中发送网络请求汇总