《验收测试驱动开发:ATDD实例详解》—第1章1.5节总结

简介:

本节书摘来自异步社区《验收测试驱动开发:ATDD实例详解》一书中的第1章1.5节总结,作者【德】Markus Gärtner,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 总结
验收测试驱动开发:ATDD实例详解
在这一章里,我们看到了业务专家、开发人员和测试人员是如何协作,在会议中挖掘出软件需求并对其达成共识的。虽然开始时Tony并没有贡献太多新的想法,但是他通过把实例可视化帮助大家达成了共识。凭借Tony独特的测试领域知识,他的贡献主要集中在使用表格来抽象描述各种停车方案的实例。

在Tony拿出第一个实例表格后,大家对需求的讨论变得更有意义了。开发人员Phyllis在他们已识别出的经济停车场的实例中发现了一个bug。她还要求对6小时零1分钟的实例进行了确认。围绕这些表格化的实例,3人进行了一场从业务视角看软件预期行为的对话。

Bill也更加清晰地表达了他的想法。他可以直接查看并确认这些实例的表述是否正确。甚至对代客泊车的实例,Bill在看到Tony创建的第一个表格之前就可以说出停24小时零1分钟的费用是多少钱。在这个需求讨论会上,就在写下第一个实例的那一刻,团队的沟通取得了明显的进展。

在讨论会进行的过程中,每个人都可以贡献一己之力。在Tony用批判性的思维讨论边界情况时,Phyllis给出了她的观点。Phyllis在开始写代码之前就发现了经济停车实例中的一个bug。修正这个缺陷只用了几句话,而不是在走完整个开发流程之后。

Tony检查了Bill最初提供的需求。他从需求中提取了实例,又仔细查看了像24小时零1分钟这样的边界条件,以便立刻从Bill那里得到正确答案。假如这些问题中的某一个在这个迭代前没有被答复,那等团队意识到这个缺陷时,Bill也许会因出差在外而无法回答他们想问的问题。那时,团队可能会为了继续开发工作,会按自己的理解给出解释。可是,假如他们的解释是错的,这个问题就只能在为客户做演示时才能发现,甚至更晚—在产品部署到生产环境几个月后才被发现。

在讨论会上,作为业务专家,Bill做了所有关于这款软件的决策:哪些要保留,哪些可以删掉。当他提到代客泊车24小时零1分钟的费用是36美元时,对他来说是很明显的事,但是Tony的问题揭开了Bill的隐含假设。仰仗参与者的多元化,团队很容易对实现的方式达成一致的目标。

团队讨论出5个清理后的表格,详见表1-11至表1-15。他们很快会实现并对这些实例进行自动化。在敏捷模式下,这可能就是下一个迭代,或3个月之内的某一个迭代要做的事。既然团队成员已经对需求进行了讨论并理解了这些基本实例,那么,即使在以后的某个时间点去实现这些已达成共识的需求故事,其过程也会是清晰的。


ab96b842adea77c94c0c67f0d3986ccb9d9e92fb





bf1752381cc8ed486ccb0a874d02adff5e9e98b8


a6bf9bad2847eba119213e820b1f5728cc7e966a


49fede8c20eda0e045f9a677fe4a07340bea6370


ad8506c05b45f9031c153d786d5968d463dd1ec5


989e9051542c5d628d546dc6cb6312a3ce913be1


e9999e37d5a763a777193968eb919107a8e52c5d

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
相关文章
|
12天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
1月前
|
测试技术 Python
深入理解自动化测试框架的设计原则
【2月更文挑战第26天】 随着软件开发周期的不断缩短和产品质量要求的提高,自动化测试已成为确保软件质量和效率的关键因素。本文将探讨自动化测试框架的设计原则,包括模块化、可扩展性、可维护性和可靠性,旨在为软件测试工程师提供构建或评估自动化测试框架时的指导思路。通过分析这些设计原则在实际中的应用,我们能够更好地理解如何提升测试框架的效率和有效性,进而优化整个软件测试流程。
19 2
|
1月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势:支持多种语言,比如 Python、Java、C或C#、ruby 等都支持;支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持;支持多种操作系统,比如 Windows、Mac、Linux 这个款主流操作系统。其实单就上面这些优势就足以证明它的强大了,再加上它还支持分布式部署自动化测试程序,在多台不同的机器上同时执行。
|
8月前
|
测试技术 Linux 数据中心
10000+跨云容灾场景下的自动化测试实践
假设我们将源端的操作系统到全部云平台进行一次覆盖性测试,组合的测试用例可能超过10000个。
10000+跨云容灾场景下的自动化测试实践
|
9月前
|
前端开发 JavaScript 测试技术
前端工程化:自动化构建、代码检查和单元测试
在现代前端开发中,项目通常非常庞大和复杂,涉及大量的代码和资源管理。为了提高开发效率、代码质量和团队协作,前端工程化成为必不可少的一环。本文将介绍前端工程化的重要组成部分:自动化构建、代码检查和单元测试,并通过代码示例来演示它们的实际应用。
168 0
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试
一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 Selenium,今天就来跟大家一起了解下 Python 如何使用 Selenium 进行自动化测试。
68 0
反了!居然让我教她自动化测试
|
Java jenkins 测试技术
自动化测试方案
自动化测试方案
500 0
自动化测试方案
|
8月前
|
Kubernetes 应用服务中间件 调度
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
|
数据可视化 搜索推荐 jenkins
Jenkins换肤:Blue Ocean的安装和使用
Jenkins换肤:Blue Ocean的安装和使用
607 0
Jenkins换肤:Blue Ocean的安装和使用