敏捷测试价值观、方法和实践读书笔记(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.化繁为简,节省成本

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

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

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

目录
相关文章
|
4天前
|
敏捷开发 人工智能 Devops
探索自动化测试的高效策略与实践###
当今软件开发生命周期中,自动化测试已成为提升效率、保障质量的关键工具。本文深入剖析了自动化测试的核心价值,探讨了一系列高效策略,包括选择合适的自动化框架、设计可维护的测试脚本、集成持续集成/持续部署(CI/CD)流程,以及有效管理和维护测试用例库。通过具体案例分析,揭示了这些策略在实际应用中的成效,为软件测试人员提供了宝贵的经验分享和实践指导。 ###
|
4天前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
4天前
|
Java 测试技术 持续交付
探索自动化测试在软件开发中的关键作用与实践
在现代软件开发流程中,自动化测试已成为提升产品质量、加速交付速度的不可或缺的一环。本文深入探讨了自动化测试的重要性,分析了其在不同阶段的应用价值,并结合实际案例阐述了如何有效实施自动化测试策略,以期为读者提供一套可操作的实践指南。
|
4天前
|
Web App开发 敏捷开发 测试技术
探索自动化测试的奥秘:从理论到实践
【10月更文挑战第39天】在软件质量保障的战场上,自动化测试是提升效率和准确性的利器。本文将深入浅出地介绍自动化测试的基本概念、必要性以及如何实施自动化测试。我们将通过一个实际案例,展示如何利用流行的自动化测试工具Selenium进行网页测试,并分享一些实用的技巧和最佳实践。无论你是新手还是有经验的测试工程师,这篇文章都将为你提供宝贵的知识,帮助你在自动化测试的道路上更进一步。
|
4天前
|
敏捷开发 Java 测试技术
探索自动化测试:从理论到实践
【10月更文挑战第39天】在软件开发的海洋中,自动化测试是一艘能够带领团队高效航行的船只。本文将作为你的航海图,指引你理解自动化测试的核心概念,并分享一段实际的代码旅程,让你领略自动化测试的魅力和力量。准备好了吗?让我们启航!
|
9天前
|
测试技术 API Android开发
探索软件测试中的自动化框架选择与实践####
本文深入探讨了软件测试领域内,面对众多自动化测试框架时,如何依据项目特性和团队需求做出明智选择,并分享了实践中的有效策略与技巧。不同于传统摘要的概述方式,本文将直接以一段实践指南的形式,简述在选择自动化测试框架时应考虑的核心要素及推荐路径,旨在为读者提供即时可用的参考。 ####
|
15天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
32 2
|
19天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
14天前
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
|
20天前
|
测试技术 Python
软件测试的艺术:从理论到实践的探索
【10月更文挑战第23天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将深入探讨软件测试的核心理念、方法和实践,揭示如何通过精心设计和执行测试来提高软件质量。我们将一起探索测试的不同阶段,包括单元测试、集成测试、系统测试和验收测试,以及它们如何相互补充,共同构建起一个坚实的质量保证体系。文章旨在启发读者思考如何在自己的项目中实施有效的测试策略,从而提升软件的可靠性和性能。

热门文章

最新文章