QCon北京2014:实战演示ATDD解决技术债务:从零到密码保护功能
4 浏览量
更新于2024-07-15
收藏 481KB PDF 举报
"本文将带你深入理解ATDD实战——一种在真实世界项目中应用的验收测试驱动开发方法。2014年QCon全球软件开发大会在北京站上,作者分享了他的实践经验,强调了ATDD作为解决技术债务的有效工具。文章以webwhiteboard.com项目为例,引入了如何为网站添加密码保护功能,这是一个需要考虑用户体验和安全性的复杂任务。
在开始前,作者提到他已经有了良好的单元测试和集成测试基础,但缺乏验收测试,即从用户视角进行的端到端测试。他明确了设计原则,如用户设置密码后无需再次登录查看白板,且采用OpenId/Oauth的第三方身份验证以简化注册过程。
ATDD的具体实施步骤如下:
1. 高层次流程设计:首先,作者在概念层面上描绘出预期的用户流程,例如设置密码、验证密码访问白板等。
2. 编写验收测试:然后,将这些流程转换成可以运行的自动化测试用例,确保它们能够准确反映功能需求。
3. 执行并失败:由于初始设计可能存在不足,测试会因为代码未实现预期功能而失败。
4. 代码实现与迭代:每次迭代中,根据测试结果调整代码,直至测试通过。这是一个迭代过程,每个步骤都可能导致代码结构的优化。
5. 代码清理:完成功能后,还要进行代码审查和重构,确保代码质量。
作者强调,尽管文章中的实践可能不是唯一的方法,也没有创新的内容,但它代表了ATDD的核心理念——通过测试驱动开发来指导设计和实现,而不是依赖于过度使用的第三方框架。读者可以从中学习到一个具体案例中如何运用ATDD解决实际问题,以及如何在面对技术挑战时保持清晰的思维和迭代式的开发过程。"
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38562079
- 粉丝: 10
- 资源: 864
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍