Table of Contents
敏捷软件开发强调迭代测试和连续改进. 调试和解决问题是确保软件在这些周期内的质量和功能的必要组成部分. 本案例研究探索了一个现实世界的情景,即团队在敏捷环境中有效识别,诊断和解决问题.
初步问题
团队注意到在短跑审查中应用程序登录功能间歇性故障,自动化测试不可预测地失败,导致部署延迟,第一步是收集详细的日志,并在受控制的环境中复制这个问题.
调试进程
开发者使用调试工具来追踪代码执行。 他们发现失败是由认证模块中的种族条件造成的。 团队使用断点和步入调试来精确地确定准确的时间问题。 此外, 他们还审查了最近可能引入错误的代码更改 。
问题解决
为了解决赛车条件,团队实施了同步机制,并增加了更强的错处理,还更新了自动测试,以覆盖边缘案例,防止未来周期出现类似问题,这些修正经过彻底测试,并融入了下一场冲刺.
经验教训
- 及早发现片状试验可以节省时间。
- 守则审查有助于确定潜在的种族条件。
- 自动化测试应包括边缘病例和时间假设。
- 清除调试步骤的文档可以加速解决问题。