敏捷测试价值观、方法和实践读书笔记(2)

简介: 本章节介绍敏捷测试在快速变化的软件开发环境中的重要性。传统测试方法在敏捷环境中面临时间紧迫、文档不足、频繁变更及资源短缺等挑战。敏捷测试遵循敏捷开发原则,强调测试与开发的紧密融合、团队协作及业务价值交付。其特点包括更强的协作、更短的周期、更灵活的计划及高效的自动化。相较于传统测试,敏捷测试具有加快产品上市时间、提升整体质量及简化流程降低成本的优势。

第2章 敏捷测试

1 在敏捷环境下的传统测试

在敏捷环境下传统测试面临的困境

在敏捷环境下传统测试面临的挑战

(1)时间极短

(2)文档极少

(3)变更极频繁

(4)资源极缺

2 敏捷测试的概念

敏捷测试的定义

敏捷测试是遵从敏捷软件开发原则的一种测试实践。

敏捷开发模式把测试集成到整个开发流程中,而不再把它当成一个独立的阶段,因此,测试变成了整个软件开发过程中非常重要的环节。

敏捷测试的核心内涵:

(1)敏捷测试遵从敏捷开发的原则,强调遵守

(2)测试被包含在整个开发流程中,强调融合

(3)跨职能团队,强调协作

(4)敏捷测试是为了交付业务价值,强调价值

3 敏捷测试宣言

敏捷测试宣言 Agile Testing Manifesto

测试是一个活动, 胜于测试是一个阶段。

Testing is a activity Over Testing is a phase

预防缺陷 胜于 发现缺陷。

Prevent Buss Over Finding Bugs

做测试者 胜于 做检查者。

Be a tester Over Be a checker

帮助构建最好的系统 胜于 破坏系统。

Helping wo build the BEST system Over Breaking the system

团队为质量负责 胜于 测试者为质量负责。

whole team takes responsibility for quality Over Tester is responsible for quality

测试是一个活动 胜于 测试是一个阶段

《Google 软件测试之道》中写道:“当你把开发过程和测试放到一起,将它们像在搅拌机里一样混合搅拌,直到不能区分彼此的时候,你就得到了质量。”

待办 开发 测试 完成

->

待办 处理中 审核 完成

预防缺陷 胜于 发现缺陷

做测试者 胜于 做检查者

帮助构建最好的系统胜于破坏系统

团队为质量负责胜于测试者为质量负责

4 敏捷测试的特点与价值

敏捷测试的特点

(1)更强的协作:反对:开发需要测试帮忙。开发->开发领导->测试领导->测试

(2)更短的周期

(3)更灵活的计划

(4)更高效的自动化

(5)更广泛的技能要求:T型人才

敏捷测试与传统测试差异

重要维度

传统测试

敏捷测试

测试发生的时间节点

测试发生在软件生命周期的最后阶段,在

测试发生在每次 Sprint 迭代内,以及 Sprint 的集成过程中

团队沟通

团队之间除了正式沟通,还有很多非正式沟通,软件发布上线前团队之间的沟通是正式的,很多时候以邮件为载体

团队之间除了正式沟通,还有很多非正式沟通如口头沟通

测试自动化

测试自动化是可选项

测试自动化被高度推荐。测试自动化是决定敏捷测试成功的重要因素之一

测试标准

测试以需求规格文档为准,用户真正的需求很多时候在转换成需求文档时会失真

测试以用户最终需求为准,敏捷中的行为驱动开发(BDD) 实践等就是以用户最终求为准的

测试计划的详细程度

详细的测试计划。传统模式属于“预定义”过程控制模式,需求相对晰明确

精益化的测试计划。在最初阶段,需求本身比较模糊,无法也没有必要编写详细的测试计划

测试计划的制订方式

做计划是一次性的活动,因为传统模式按阶段划分,做计划会被安排在最初阶段,后面不再进行相关的计划工作

做计划是持续性的活动,分为不同的级别:·最初阶段做粗粒度的计划·在后续的迭代中不断优化为刚好够用(Just-In-Time)的计划

测试计划制订人

测试主管计划整个团队的测试工作,一般做计划时采用“自顶向下”的方式

团队被授权并主动参与计划,一般做计划时采用“自底向上”的方式

需求的详细程度

在最初阶段就要求给出详细的需求,并且需求需要经过严格评审,不欢迎需求变更

在最初阶段允许提出粗粒度的需求,在后面的迭代阶段逐渐细化,欢迎需求变更

需求呈现的方式

标准的需求规格说明书

需求以用户故事的方式呈现

客户参与

在需求被定义后,客户只是有限地参与,只有在需求调研的时候会较多地参与

客户参与贯穿整个项目生命周期,包括每次迭代的计划会和评审会等

敏捷测试的价值

1.加快上市时间(Time-to-Market),缩短价值交付周期。

2. 质量由团队保障,提高整体产品质量。

3.化繁为简,节省成本

首先,敏捷测试不要求详细的测试计划和测试文档,也没有定义繁复冗长和缺陷管理流程。

其次,敏捷测试提倡尽早测试,更早发现缺陷。

最后,敏捷测试分小批量迭代执行。

目录
相关文章
|
1天前
|
机器学习/深度学习 人工智能 测试技术
软件测试中的自动化测试实践与挑战
本文深入探讨了软件测试领域中的自动化测试,从基本概念到实际应用案例,揭示了自动化测试在提升软件开发效率和质量中的关键作用。同时,文章也分析了在实施自动化测试过程中面临的主要挑战,并提出了相应的解决策略。
12 5
|
2天前
|
Ubuntu jenkins 测试技术
软件测试中的自动化与持续集成实践
【9月更文挑战第15天】在软件开发的快节奏世界中,自动化测试和持续集成(CI)已成为确保质量和效率的关键策略。本文旨在揭示如何通过实施自动化测试框架和CI流程来优化开发周期,减少人为错误,并加快产品上市时间。我们将探讨一些实用的工具和技术,以及它们如何帮助团队实现更流畅、更可靠的软件发布。
|
3天前
|
监控 jenkins 测试技术
软件测试中的自动化测试策略与实践
本文将深入探讨自动化测试在软件开发中的重要性及其实施策略。我们将从自动化测试的基本概念入手,分析其在提高软件质量、缩短开发周期和降低维护成本方面的优势。通过具体案例,展示如何有效地规划和执行自动化测试,以及如何评估其效果。
13 1
|
5天前
|
Devops jenkins 测试技术
敏捷测试价值观、方法和实践读书笔记(10)
本文介绍了敏捷测试的延伸实践,重点讨论了持续集成(CI)和持续部署(CD)的概念与实践方法。持续集成强调频繁提交代码至主干并自动化构建测试,确保快速反馈和高质量代码。持续部署则进一步实现自动化部署,通过蓝绿部署、金丝雀发布等方式提升软件交付效率。此外,文章还探讨了持续反馈机制,如A/B测试和混沌工程,以及DevOps文化下的测试策略,强调测试在整个开发流程中的重要性。
11 0
敏捷测试价值观、方法和实践读书笔记(10)
|
5天前
|
XML 存储 API
敏捷测试价值观、方法和实践读书笔记(8)
本文介绍了API的基础知识,区分了Web Service和Web API的概念,详细阐述了Web Service中的SOAP服务和REST服务的特点及区别。同时,文章还探讨了如何在项目中进行API测试,包括API测试的类型和实施阶段,强调了API在现代软件开发中的重要性和优势。
6 0
敏捷测试价值观、方法和实践读书笔记(8)
|
1天前
|
敏捷开发 人工智能 测试技术
提升软件质量的关键——高效软件测试策略与实践
在软件开发过程中,测试是一个至关重要的环节。它不仅决定了产品的可靠性和用户体验,还直接影响到企业的声誉和市场竞争力。本文将详细探讨如何通过科学的测试策略和方法,确保软件质量达到高标准的要求。从测试流程的设计、自动化测试工具的应用,到持续集成和持续部署的实践,我们将全面解析如何在软件开发中实施有效的测试,以降低错误率,缩短上市时间,并提供优质的软件产品。
16 0
|
1天前
|
敏捷开发 测试技术 UED
软件测试中的探索性测试方法
在软件开发过程中,测试是确保产品质量的重要环节。本文将探讨一种常被忽视但极其重要的测试方法——探索性测试。通过分析其定义、优势及实际应用案例,揭示如何更有效地发现软件缺陷,提升软件质量。
6 0
|
3天前
|
测试技术 持续交付
软件测试中的自动化测试实践与探索
在软件开发生命周期中,测试阶段是确保产品质量和稳定性的关键环节。随着技术的快速发展,自动化测试逐渐成为提升测试效率和覆盖率的重要手段。本文将探讨自动化测试的基本概念、工具选择、实施策略以及面临的挑战,旨在为读者提供关于如何在项目中有效应用自动化测试的指导性见解。
10 0
|
5天前
|
测试技术 UED 开发者
《敏捷测试价值观、方法与价值观》读书笔记(9)
本章节聚焦于非功能性测试,尤其深入探讨了可用性测试的重要性和实施方法。首先,阐述了可用性原则如简洁设计、一致性及高效性等,并强调用户而非开发者才是评判应用易用性的关键。接着介绍了可用性测试的不同技术和环境需求,包括卡片分类、结构化评估等方法,并讨论了测试实验室的具体配置。此外,详细说明了测试过程中的计划、执行、分析阶段,涵盖了从测试目标设定到测试结果优化的全流程。同时,还提供了测试参与者招募标准、测试材料准备及执行过程中注意事项的具体示例。最后,指导如何整合与分类测试结果,以及生成可用性测试报告的方法。
7 0
|
6天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
31 7
Jmeter实现WebSocket协议的接口测试方法