一个案例
问题:
有一个测试团队。该团队非常重视自动化测试。平均测试自动化率达到了65%。但是自动化测试在每个项目中平均只能发现10%的有效Bug。90%的Bug都是由手动测试发现的。
原因:
第一,做自动化测试的人太少。大部分人只做手工测试。自动化测试脚本开发进度慢。都是到项目中后期自动化脚本才能开发完成。这个时候大部分Bug都已经被手动测试发现。第二,做自动化测试的人对业务不熟悉。做自动化的人在设计测试脚本时,对业务场景考虑不周全。
方案:
第一,要求每个测试人员都学会自动化脚本开发,并对自己负责的那部分业务的测试脚本进行开发。第二,要求在一次迭代内把新功能的自动化测试脚本也都开发好。
新问题:
第一,在一次迭代内把新功能的测试脚本全部完成时不可能的事。第二,花在脚本开发和调试上的时间太多,还不如用手动测试发现Bug的效率高。
原因:
在敏捷开发中,需求和设计往往是逐渐明确的,新功能也是逐渐成长起来的。当功能需求不明确的时候,界面设计和接口定义都会改。这个时候开发自动测试脚本,必然会反复修改,根本不能在一个迭代周期内完成。
网友评论