《验收测试驱动开发: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

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
相关文章
|
机器学习/深度学习 存储 数据可视化
Langchain的一些问题和替代选择
Langchain因其简化大型语言模型(llm)的交互方面的到关注。凭借其高级的API可以简化将llm集成到各种应用程序中的过程。
1159 1
|
监控 JavaScript 前端开发
《Linux/UNIX OpenLDAP实战指南》——2.5 OpenLDAP单节点配置案例
LDAP服务端和客户端主机名称及对应的IP地址解析服务正常工作,且每个节点的主机名称需要跟“uname –n”命令执行的结果保持一致。这可以通过搭建DNS服务来完成,也可以通过修改两个节点的hosts文件来保持IP地址和主机名之间,互相解析。
3468 0
|
8月前
|
机器学习/深度学习 人工智能 数据库
Mureka V6:10语种AI音乐工厂!昆仑万维「声场黑科技」颠覆作曲
昆仑万维推出的Mureka V6 AI音乐创作基座模型,支持10种语言歌词生成和纯音乐创作,通过自研ICL技术实现声场优化,覆盖爵士/电子/流行等多元风格,为音乐爱好者和专业创作者提供高效工具。
435 11
|
机器学习/深度学习 人工智能 算法
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
|
缓存 前端开发 JavaScript
如何快速搭建一个前端框架?
【4月更文挑战第7天】快速搭建前端框架,首先确定技术选型(如React、Vue或Angular),然后创建项目目录结构,安装所需依赖。配置开发环境,编写代码,同时进行调试和测试。优化性能后,部署上线。选择框架时,考虑社区支持、学习曲线、性能、兼容性及文档质量。
655 0
|
10月前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
11月前
|
运维 数据挖掘 索引
服务器数据恢复—Lustre分布式文件系统服务器数据恢复案例
5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式文件系统。 机房天花板漏水导致这5台节点服务器进水,每台服务器都有至少2块硬盘出现故障。每台服务器中的RAID5阵列短时间内同时掉线2块或以上数量的硬盘,导致RAID崩溃,服务器中数据无法正常读取。
|
存储 安全 网络安全
静态IP与动态IP的使用区别
静态IP与动态IP主要区别在于分配方式与稳定性。静态IP固定不变,适用于远程访问、服务器及需要稳定网络服务的场景,但可能增加安全风险和成本。动态IP自动分配,变化无常,利于大规模网络和移动设备,提高安全性和效率,通常无需额外费用。选择取决于具体需求。
|
区块链 Python
9-18|图片上生成字体设置字体大小
9-18|图片上生成字体设置字体大小
|
机器学习/深度学习 搜索推荐 数据可视化
小白入门机器学习必学案例分享。
小白入门机器学习必学案例分享。
1161 0
小白入门机器学习必学案例分享。