行为驱动开发(BDD):全软件生命周期的实践指南
1. BDD 简介
行为驱动开发(BDD)自十多年前作为一项辅导实验开始,已取得了超乎想象的发展。2003 年,软件行业正经历一场革命,敏捷宣言的诞生为软件开发带来了新的理念。当时,作者在 ThoughtWorks 工作,周围都是才华横溢的人,接触到了许多改变游戏规则的事物,如持续集成等。
BDD 的诞生是为了解决一个三重难题:程序员不想写测试,测试人员不想让程序员写测试,而业务利益相关者认为除了生产代码之外的任何东西都没有价值。作者通过将“测试”改为“行为”,并开发了相关软件,与业务分析师 Chris Matts 一起开发了场景的 Given - When - Then 词汇,从而开创了 BDD。
如今,BDD 已经有了许多发展,如与复杂性理论结合、演变成 RealOptions 等,还催生了多种语言的工具,甚至有了自己的会议。
2. 软件开发面临的问题
2.1 构建软件的两个关键问题
在软件开发中,我们面临两个关键问题:一是“正确地构建软件”,即确保软件的实现符合技术要求和规范;二是“构建正确的软件”,也就是软件要满足业务需求和用户期望。
同时,我们还面临知识约束,即不确定性。我们常常在不确定的情况下进行软件开发,可能在短时间内就能证明一个愿景是错误的,但要证明其正确可能需要一年时间。我们在开发过程中会遇到各种未知的情况,就像在未知的领域探险,可能会遇到“龙”(未知的难题)。
2.2 软件开发中的不确定性
软件开发就像一场充满不确定性的旅程。我们常常按照自己的计划和地图前进,假设地形不变,期望道路
超级会员免费看
订阅专栏 解锁全文
704

被折叠的 条评论
为什么被折叠?



