聊一聊手动测试与探索性测试的区别

目录

一 定义与目标

手动测试

探索性测试

二 执行方式

手动测试

探索性测试

三 测试重点及计划性

手动测试

探索性测试

四 测试效率及成本

手动测试

探索性测试

五 优缺点对比

六 关键却别与总结

七 适应场景

手动测试

探索性测试

八 实际应用与结合


在我们进行测试的时候,会使用手动测试,自动化测试等。其中手动测试又包含了探索性测试,今天聊一下手动测试和探索性测试有哪些区别。

手动测试和探索性测试的具体特点,手动测试通常有计划性,有详细的测试用例,步骤明确,适合回归测试或者功能稳定的系统。而探索性测试更灵活,依赖测试人员的经验和直觉,适合需求不明确或者时间紧迫的情况,比如敏捷开发中的快速迭代。探索性测试是手动测试的一种具体实践方式,属于手动测试的子集。

图片

图片

手动测试和探索性测试是软件测试中两种不同的方法,它们在目标、执行方式和适用场景上有明显区别。

一 定义与目标

手动测试

定义:测试人员按照预先设计的测试用例,逐步执行测试步骤并验证结果是否符合预期。

目标:通过系统化的步骤覆盖需求或功能,确保软件符合既定标准。

特点:依赖详细的文档和计划,测试过程严格按计划执行。

探索性测试

定义:测试人员在测试过程中动态设计测试用例,结合实时学习、探索和调整策略,发现潜在问题。

目标:通过灵活性和创造力,发现未预见的缺陷或边缘场景。

特点:强调测试人员的经验和直觉,测试过程不受严格计划限制。

二 执行方式

手动测试

结构化:测试用例提前编写,步骤清晰(如输入数据、操作顺序、预期结果)。

重复性:适合回归测试,重复执行相同步骤以验证稳定性。

文档驱动:依赖需求文档、测试计划和用例库。

探索性测试

动态调整:测试人员一边测试一边设计用例,根据当前发现的问题调整后续测试方向。

自由探索:没有固定脚本,测试人员可能尝试非典型操作路径或异常输入。

实时反馈:测试过程结合学习、分析和执行,更关注问题发现而非覆盖率。

三 测试重点及计划性

手动测试

重点:主要关注验证软件是否满足预先定义的需求规格说明书中的功能要求。它侧重于检查软件的基本功能是否正确实现,对于一些边界条件、异常情况等也有相应的测试用例进行覆盖,以确保软件在各种规定的情况下都能正常运行。

示例:对于一个计算器应用,手动测试会重点验证加、减、乘、除等基本运算功能是否正确,还会测试当输入非常大的数字、小数、负数等边界情况时,计算结果是否准确。

计划性:具有高度的计划性。在测试开始之前,需要制定详细的测试计划,包括测试范围、测试策略、测试用例设计、测试进度安排等。测试用例也会在测试前编写完成,并且经过评审,确保测试的全面性和准确性。

示例:在一个软件项目开发过程中,测试团队会在需求分析阶段就开始制定测试计划,明确各个功能模块的测试时间节点和负责人。在编码完成后,按照测试计划依次执行各个功能模块的测试用例。

探索性测试

重点:更注重发现软件中潜在的问题、缺陷和用户体验方面的不足。它鼓励测试人员从用户的角度出发,尝试各种可能的操作和场景,包括一些不常规的操作,以发现那些可能在需求规格说明书中没有明确提及,但对用户使用体验有重要影响的问题。

示例:在测试一个手机游戏时,探索性测试可能会发现一些手动测试用例未覆盖到的问题,比如游戏在不同网络环境下的加载速度、在长时间游戏过程中是否会出现卡顿或崩溃、游戏的操作界面是否符合人体工程学设计,方便用户操作等。

计划性:计划性相对较弱。虽然在进行探索性测试之前,测试人员也会对被测系统有一定的了解,但不会制定非常详细的测试步骤和预期结果。测试过程更多地是根据实际情况灵活调整,测试人员可以随时根据发现的问题或新的想法改变测试方向。

示例:测试人员可能只是确定了一个大致的测试目标,比如测试一个新开发的办公软件的文档编辑功能,但在测试过程中,会根据软件的界面布局、功能提示等因素,自由地尝试各种操作,探索软件的各种特性和潜在问题。

四 测试效率及成本

手动测试

效率:对于已经设计好的测试用例,手动测试的执行效率相对稳定。但由于需要严格按照测试用例执行,对于一些复杂的业务流程或需要大量重复操作的情况,可能会花费较多的时间。

成本:需要投入较多的人力资源来编写测试用例和执行测试。而且,随着软件功能的不断增加和变更,测试用例也需要不断地维护和更新,这也会增加一定的成本。

示例:一个大型企业级软件系统,有成千上万条测试用例,每次软件版本更新后,都需要安排大量的测试人员花费数天甚至数周的时间来执行这些测试用例,以确保软件的质量。

探索性测试

效率:在发现一些潜在问题和创新性的缺陷方面效率较高。由于测试人员可以自由探索,能够快速发现一些手动测试用例未覆盖到的问题。但它的效率也受到测试人员经验和技能的影响,如果测试人员对系统不熟悉,可能需要花费更多时间来了解系统。

成本:相对手动测试来说,在前期编写测试用例的成本较低,但需要测试人员具备较高的专业素养和丰富的经验,能够快速准确地发现和定位问题。而且,探索性测试的结果可能不太容易进行量化和评估,这也给测试管理带来了一定的挑战。

示例:在一个敏捷开发项目中,探索性测试可以在短时间内对软件的新功能进行快速验证,测试人员可以在几个小时内发现一些关键的用户体验问题,但这些问题的严重程度和影响范围可能需要进一步的分析和评估。

五 优缺点对比

图片

六 关键却别与总结

图片

适应场景

手动测试

功能稳定的系统(如核心业务流程)。

需要严格验证是否符合需求的场景(如合规性测试)。

回归测试中确保已有功能未被破坏。

探索性测试

需求不明确或快速迭代的敏捷开发环境。

发现隐藏缺陷(如用户体验问题、性能瓶颈、安全性漏洞)。

时间紧迫时快速覆盖潜在风险区域。

新功能或复杂功能的早期测试阶段。

八 实际应用与结合

两者并非互斥,常结合使用:

先用手动测试覆盖核心功能,再用探索性测试挖掘潜在问题。

探索性测试发现的缺陷可转化为手动测试用例,纳入回归测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring用到的设计模式

Spring框架中广泛应用了多种设计模式,以提升代码的灵活性和可维护性。 工厂模式:BeanFactory,整个 IoC 容器就是一个工厂。 单例模式:Spring 管理的 Bean 默认都是单例的。 模版方法:如 RedisTemplate、JdbcTemplat…

Mybatis(2)

sql注入攻击 SQL注入攻击是一种常见的网络安全威胁,攻击者通过在输入字段中插入恶意SQL代码,绕过应用程序的安全机制,直接操纵数据库。 SQL注入的原理 SQL注入利用应用程序未对用户输入进行充分过滤或转义的漏洞。当用户输入被直接拼接到S…

【Node.js】高级主题

个人主页:Guiat 归属专栏:node.js 文章目录 1. Node.js 高级主题概览1.1 高级主题架构图 2. 事件循环与异步编程深度解析2.1 事件循环机制详解事件循环阶段详解 2.2 异步编程模式演进高级异步模式实现 3. 内存管理与性能优化3.1 V8 内存管理机制内存监控…

冰箱热交换的原理以及如何加氟

冰箱如何加氟: 氟利昂被节流装置降压后,进入冰箱的蒸发器,此时它处于低温低压液态状态。在冰箱内部(例如 0C 或 -10C):它很容易气化(因为其沸点很低)在气化过程中吸收周围热量。 1…

WordPress多语言插件安装与使用教程

WordPress多语言插件GTranslate的使用方法 在wordpress网站后台搜索多语言插件GTranslate并安装,安装完成、用户插件后开始设置,以下为设置方法: 1、先在后台左侧找到Gtranslate,进入到设置界面 2、选择要显示的形式&#xff0c…

DELL EMC PowerStore BBU更换手册

写在前面 上周给客户卖了一个BBU电池,客户要写一个更换方案。顺利完成了更换,下面就把这个更换方案给大家share出来,以后客户要写,您就Ctrlc 和Ctrlv就可以了。 下面的步骤是最理想的方式,中间没有任何的问题&#xff…

FastMCP:为大语言模型构建强大的上下文和工具服务

FastMCP:为大语言模型构建强大的上下文和工具服务 在人工智能快速发展的今天,大语言模型(LLM)已经成为许多应用的核心。然而,如何让这些模型更好地与外部世界交互,获取实时信息,执行特定任务&a…

CMake基础:CMakeLists.txt 文件结构和语法

目录 1.CMakeLists.txt基本结构 2.核心语法规则 3.关键命令详解 4.常用预定义变量 5.变量和缓存 6.变量作用域与传递 7.注意事项 1.CMakeLists.txt基本结构 CMakeLists.txt 是 CMake 构建系统的核心配置文件,采用命令式语法组织项目结构和编译流程。主要用于…

战略-2.1 -战略分析(PEST/五力模型/成功关键因素)

战略分析路径,先宏观(PEST)、再产业(产品生命周期、五力模型、成功关键因素)、再竞争对手分析、最后企业内部分析。 本文介绍:PEST、产品生命周期、五力模型、成功关键因素、产业内的战略群组 一、宏观环境…

深入理解设计模式:工厂模式、单例模式

深入理解设计模式:工厂模式、单例模式 设计模式是软件开发中解决常见问题的可复用方案。本文将详细介绍两种种重要的创建型设计模式:工厂模式、单例模式,并提供Java实现示例。 一、工厂模式 工厂模式是一种创建对象的设计模式,…

Jenkins 2.426.2配置“构建历史的显示名称,加上包名等信息“

Jenkins 2.426.2配置“构建历史的显示名称,加上包名等信息" 需求:想要在构建历史中展示,本次运行的是哪个版本或哪个包 操作步骤: 1、先安装插件Build Name and Description Setter 2、Set Build Name 3、构建历史处查看展示 插件特性说明 安装依赖:需手动安装 Build …

为何在VMware中清理CentOS虚拟机后,本地磁盘空间未减少的问题解决

文章目录 前言原因:虚拟机磁盘,到底是咋回事?为啥空间没变小? 解决方案 前言 在使用VMware运行CentOS虚拟机时,你是否曾遇到过这样的情况:明明在虚拟机内删除了大量文件,rm -rf 后发现并没什么用&#xff…

Development靶机通关笔记

一、主机发现 arp-scan -l靶机ip为192.168.55.152 二、端口扫描、目录枚举、漏洞扫描、指纹识别 2.1端口扫描 nmap --min-rate 10000 -p- 192.168.55.152发现靶机没有开放80端口,开放的是8080端口 UDP端口扫描 nmap -sU --min-rate 10000 -p- 192.168.55.152靶…

自然语言处理核心技术:词向量(Word Embedding)解析

自然语言处理核心技术:词向量(Word Embedding)全面解析 在自然语言处理(NLP)领域,如何让计算机理解人类语言的语义一直是核心挑战。词向量(Word Vector),又称词嵌入&…

【Matlab】雷达图/蛛网图

文章目录 一、简介二、安装三、示例四、所有参数说明 一、简介 雷达图(Radar Chart)又称蛛网图(Spider Chart)是一种常见的多维数据可视化手段,能够直观地对比多个指标并揭示其整体分布特征。 雷达图以中心点为原点&…

Vue3实现轮播表(表格滚动)

在这之前,写过一篇Vue2实现该效果的博文:vue-seamless-scroll(一个简单的基于vue.js的无缝滚动) 有兴趣也可以去看下,这篇是用vue3实现,其实很简单,目的是方便后面用到直接复制既可以了。 安装: <

安卓开发用到的设计模式(1)创建型模式

安卓开发用到的设计模式&#xff08;1&#xff09;创建型模式 文章目录 安卓开发用到的设计模式&#xff08;1&#xff09;创建型模式1. 单例模式&#xff08;Singleton Pattern&#xff09;2. 工厂模式&#xff08;Factory Pattern&#xff09;3. 抽象工厂模式&#xff08;Abs…

后端开发概念

1. 后端开发概念解析 1.1. 什么是服务器&#xff0c;后端服务 1.1.1. 服务器 服务器是一种提供服务的计算机系统&#xff0c;它可以接收、处理和响应来自其他计算机系统&#xff08;客户端&#xff09;的请求。服务器主要用于存储、处理和传输数据&#xff0c;以便客户端可以…

Spring AI 源码解析:Tool Calling链路调用流程及示例

Tool工具允许模型与一组API或工具进行交互&#xff0c;增强模型功能&#xff0c;主要用于&#xff1a; 信息检索&#xff1a;从外部数据源检索信息&#xff0c;如数据库、Web服务、文件系统或Web搜索引擎等 采取行动&#xff1a;可用于在软件系统中执行特定操作&#xff0c;如…

Spyglass:跨时钟域同步(长延迟信号)

相关阅读 Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm1001.2014.3001.5482 简介 长延迟信号方案用于控制或数据信号跨时钟域同步&#xff0c;该方案将使用quasi_static约束的跨时钟域信号视为已同步&#xff0c;如图1所示。 // test.sgdc q…