敏捷测试的4大方法

简介: 敏捷测试的4大方法

昨天学习了《敏捷测试的8大原则和7大挑战》。今天了解下敏捷测试的测试方法。


敏捷测试方法是敏捷方法的一个不可分割的部分。在敏捷中,测试只是软件开发生命周期的一个方面。它与开发工作一起持续运行,是测试人员、开发人员、产品所有者甚至是客户之间的协作努力。


敏捷测试是敏捷软件开发的一个核心部分。在以前的软件方法论中,测试是在开发完成后的一个独立阶段,而在敏捷方法论中,测试在项目一开始就开始了,甚至在开发开始之前。敏捷测试是持续的测试,它与开发工作同步进行,为开发过程提供持续的反馈回路。


敏捷测试的另一个演变是,测试人员不再是一个独立的组织单位(没有 "QA部门")。测试人员现在是敏捷开发团队的一部分。在许多情况下,敏捷组织没有专门的 "测试人员 "或 "QA工程师";相反,团队中的每个人都负责测试工作。在其他情况下,有测试专家,但他们在整个软件开发周期中与开发人员紧密合作。


敏捷宣言对测试的影响


敏捷宣言是敏捷方法论的基石,其中有几个要点与测试人员特别相关。


个人和互动胜过过程和工具

测试人员应与开发人员、产品所有者和客户密切合作,以了解正在开发的东西,它是为谁开发的,以及什么会使它成功。


敏捷世界中的测试人员没有一本他们可以测试的需求书。他们需要和他们的团队一起仔细定义和完善验收标准,并根据这些标准进行测试。


应对变化而不是遵循计划

敏捷测试人员必须对他们的测试进行优先排序和重新排序,专注于帮助团队实现其目标,将风险降到最低,让客户满意。


与客户合作而不是合同谈判

无论他们是否与客户直接接触,敏捷环境下的测试人员都应该关注对客户来说重要的东西--这可能因产品而异。客户可能关注新功能、稳定性、安全性或其他要求,这取决于他们的需求和产品的成熟度。


4个敏捷测试方法


1.行为驱动开发(BDD)


BDD鼓励项目利益相关者之间的沟通,以便所有成员在开发过程之前了解每个功能。在BDD中,测试人员、开发人员和业务分析人员创建 "场景",促进以实例为中心的沟通。


场景以特定的格式编写,即Gherkin Given/When/Then语法。它们包含了一个功能在不同输入参数的情况下如何表现的信息。这些被称为 "可执行规格",因为它们是由规格和自动测试的输入组成的。


BDD的理念是,团队创建场景,围绕这些最初失败的场景建立测试,然后建立软件功能,使场景通过。它与传统的测试驱动开发(TDD)不同,完整的软件功能被测试,而不仅仅是单个组件。


使用BDD方法的测试人员的最佳实践。

简化文档以确保流程的高效性
采用 "三方 "方法,即开发人员、产品所有者和测试人员一起工作,以定义场景和测试
使用声明性测试框架,如Cucumber,来指定标准。
构建自动化测试,并在不同场景中重复使用它们
让业务分析员编写测试用例并学习Cucumber语法


2.验收测试驱动开发(ATDD)

ATDD涉及客户、开发人员和测试人员。举行 "三方 "会议,收集这三个角色的意见,并利用它们来定义验收测试。客户关注的是问题,开发人员关注的是如何解决问题,而测试人员关注的是可能出错的地方。

验收测试代表了用户的观点,并说明系统将如何运作。他们也确保了系统的功能符合预期。验收测试通常可以自动化。就像在BDD方法中,验收测试首先被编写,它们最初是失败的,然后围绕测试建立软件功能,直到它们通过。

测试方法 验收测试驱动开发(ATDD)

使用ATDD方法的测试人员的最佳实践包括:

直接与客户互动,以统一预期,例如通过焦点小组


让面向客户的团队成员参与进来,了解客户需求,包括客户服务人员、销售代表和客户经理。


根据客户的期望制定验收标准


优先考虑两个问题。我们应该如何验证该系统执行了某种功能?当系统具有这种功能时,客户是否愿意使用该系统?


3.探索性测试

在探索性测试中,测试执行和测试设计阶段一起进行。这种类型的测试侧重于与工作中的软件进行互动,而不是单独规划、构建和运行测试。

探索性测试让测试人员以一种混乱的方式 "玩 "软件。探索性测试不是脚本化的--测试人员模仿可能的用户行为,发挥创造性,试图找到会破坏软件的动作或边缘情况。测试人员不记录他们测试软件的确切过程,但当他们发现一个缺陷时,他们照常记录。

探索性测试的最佳实践:

组织应用程序中的功能,使用电子表格、思维导图等。
即使没有关于如何进行测试的详细文件,也要跟踪探索性测试覆盖或不覆盖哪些软件领域。
重点关注软件中的高风险或对用户有高价值的区域和场景。
确保测试人员记录他们的结果,这样他们就可以对他们测试的软件领域负责。


4.基于会话的测试

这种方法类似于探索性测试,但更加有序,目的是确保软件得到全面的测试。它增加了测试章程,帮助测试人员知道要测试什么,以及测试报告,允许测试人员记录他们在测试中的发现。测试是在有时间限制的会议中进行的。

每个环节结束时,测试人员与负责的开发人员、Scrum Master或经理进行面对面的简报,包括五个PROOF点。

测试中做了什么(过去)
测试人员发现了什么或取得了什么成果(结果)。
任何阻碍的问题(障碍)。
剩余的待测领域(展望)
测试者对他们测试的产品领域的感受(感受)。


基于会话的测试的最佳实践包括:

定义一个目标,这样测试人员就能清楚当前冲刺阶段的测试重点
制定一个章程,说明要测试的软件领域,会议何时进行,持续多长时间,哪些测试人员将进行会议,等等。
在固定的、预先定义的时间内进行不间断的测试会议。
在会议报告中记录活动、笔记和面对面简报的收获。


你学会了吗?



相关文章
|
14天前
|
芯片
LDO的原理及测试方法
一、基本结构 这是LM317芯片的核心,这个电路单元称为Bandgap Reference带隙基准源。属于模拟集成电路中的经典电路结构。 LDO拓扑结构图 常见的基本结构 利用VBE的负温度系数,而VT是正温度系数,正负温度系数抵消就的得到稳定的基准参考电压了(三极管的方程VBE=VT*In(lC/IS))。 二、测试意义 了解集成电路的内部结构对测试有意义么? 1、了解内部结构,才能更好的理解测试原理或者设计测试方案2、可以学习提升对电路结构的理解能力。 针对LM317,了解了内部简单原理,可以知道1、内部结构设计针对的是温度系数,因此可能受温度的影响,实际也是会受到温度的影
157 88
|
7天前
|
测试技术
测试用例设计方法之基本路径测试法
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%
20 7
测试用例设计方法之基本路径测试法
|
7天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
47 7
Jmeter实现WebSocket协议的接口测试方法
|
7天前
|
敏捷开发 数据可视化 Devops
敏捷测试价值观、方法和实践读书笔记(4)
本章节探讨了敏捷测试执行的关键概念与实践。首先介绍了用户故事及其重要性,强调其在敏捷开发中的角色,并阐述了用户故事的 INVEST 原则。接着分析了用户故事生命周期中的测试关注点,包括定义、处理、完成及验收阶段的测试活动。此外,还对比了不同测试术语的差异,并提供了敏捷测试计划的策略与过程。通过看板等工具实现任务管理与跟踪,确保测试活动高效进行。最后,介绍了敏捷测试中的度量指标,帮助团队评估测试效果。
17 5
敏捷测试价值观、方法和实践读书笔记(4)
|
7天前
|
监控 架构师 Devops
敏捷测试价值观、方法和实践读书笔记(3)
本章节介绍敏捷测试转型框架,涵盖模型概览、实施难度与顺序、文化转变、角色技能需求及测试流程。敏捷测试转型模型包括文化、组织、流程与实践等关键要素,并针对各层面提出具体实施建议与障碍解决方案。此外,详细阐述了不同敏捷测试角色的技能需求与职责,以及从Sprint内至跨Sprint的测试流程与交付物。
16 5
敏捷测试价值观、方法和实践读书笔记(3)
|
7天前
|
开发框架 数据可视化 项目管理
敏捷测试价值观、方法和实践读书笔记(1)
敏捷软件开发宣言在身体力行的同时也帮助我们一直在实践中探寻更好的软件开发方法。由此,我们建立了如下价值观:个体和互动 高于 流程和工具工作的软件,高于 详尽的文档客户合作, 高于 合同谈判响应变化,高于 遵循计划。也就是说,尽管右项有其价值,但我们更重视左项的价值。
27 4
敏捷测试价值观、方法和实践读书笔记(1)
|
7天前
|
JavaScript 前端开发 Java
敏捷测试价值观、方法和实践读书笔记(5)
本章节介绍了敏捷功能测试的原则与实践,包括单元测试的概念及其编写步骤,测试驱动开发(TDD)的流程,以及如何通过模拟对象进行测试。详细讲解了单元测试的编写方法,如初始化对象、执行操作及验证结果,并探讨了 TDD 的五个步骤。通过具体案例展示了如何逐步完善储蓄账户的功能测试,包括存款、取款及异常处理。此外,还讨论了代码覆盖率的重要性及其局限性,强调了测试充分性比单纯追求代码覆盖率更为关键。
14 3
敏捷测试价值观、方法和实践读书笔记(5)
|
7天前
|
机器人 测试技术
敏捷测试价值观、方法和实践读书笔记(6)
验收测试驱动开发(ATDD)强调在开发前定义验收标准,并通过自动化测试确保用户价值得到满足。验收测试关注用户需求是否实现,而非代码细节。ATDD涉及用户、产品负责人、开发人员及测试人员,通过讨论、开发和交付三个阶段,确保产品符合预期。此方法有助于团队更好地理解和实现用户需求。
17 5
|
7天前
|
敏捷开发 测试技术
敏捷测试价值观、方法和实践读书笔记(2)
本章节介绍敏捷测试在快速变化的软件开发环境中的重要性。传统测试方法在敏捷环境中面临时间紧迫、文档不足、频繁变更及资源短缺等挑战。敏捷测试遵循敏捷开发原则,强调测试与开发的紧密融合、团队协作及业务价值交付。其特点包括更强的协作、更短的周期、更灵活的计划及高效的自动化。相较于传统测试,敏捷测试具有加快产品上市时间、提升整体质量及简化流程降低成本的优势。
13 3
|
9天前
|
机器学习/深度学习 物联网 大数据
软件测试的演变与未来:从传统方法到自动化革命
在数字化时代的浪潮下,软件测试作为保障软件质量的重要环节,其方法和工具经历了翻天覆地的变化。本文将带领读者穿梭时光隧道,探索软件测试的发展历程,从手工测试的繁琐与局限性,到自动化测试的高效与精准,再到未来可能迎来的智能化与集成化趋势。通过深入浅出的分析,我们将揭示如何通过不断进化的软件测试技术,提升软件开发的效率和质量,确保在这个快速变化的时代中,软件产品能够稳健前行。