敏捷测试的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点。

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


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

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


你学会了吗?



相关文章
|
10月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
210 4
|
14天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
119 1
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
206 8
|
4月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
4月前
|
消息中间件 缓存 监控
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
|
12月前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
294 1
|
12月前
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
251 1
|
8月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
505 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
12月前
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。