我想每个人都同意持续构建和持续集成有利于软件产品的质量。及早发现缺陷,以便尽快修复。对于需要几分钟的连续构建,通常很容易找到导致缺陷的人。但是,对于需要很长时间运行的夜间集成测试,这可能是一个挑战。以下是具体情况,我正在寻找最佳解决方案:
- 运行集成测试需要 1 个多小时。因此,它们在一夜之间运行。每天都会发生多次签到(大约 15 名开发人员的团队),因此有时很难找到“罪魁祸首”(如果有的话)。
- 集成测试环境依赖于其他环境(Web 服务和数据库),这些环境可能会不时出现故障。这会导致集成测试失败。
那么如何组织团队,让这些故障早日解决呢?在我看来,应该指定一个人来诊断缺陷。这应该是早上的第一个任务。如果他需要其他人的专业知识,他们应该随时可用。一旦确定了故障的来源(组件、数据库、Web 服务),所有者应该开始修复它(或者应该通知另一个团队)。
如何任命诊断缺陷的人?理想情况下,有人会自愿(哈哈)。恐怕这种情况不会经常发生。我听说过其他选择——首先到办公室的人应该检查每晚构建的结果。没关系,如果整个团队都同意的话。但是,这会奖励那些迟到的人。我想这个角色应该在团队中轮换。不应接受“我对构建了解不多”的借口。故障源的诊断应该相当简单。如果不是,那么在代码中添加更多的诊断日志记录应该可以提高对集成测试失败的可见性。
在这方面的任何经验或改进上述方法的建议?