软件外包测试需要软件开发商和外包测试服务商密切配合,有效交流。软件开发商提供测试计划、测试要求、解答测试服务商的测试过程中的问题、指导和跟踪测试执行过程、修正软件设计缺陷,编译新的软件测试版本。
软件外包测试服务商从开发商那里取得测试项目,分析测试需求,执行具体的测试过程,报告软件缺陷。测试服务商是软件测试活动的直接执行者。
软件外包测试处理的流程如下图所示:
软件开发商通过电子邮件等方式传递软件测试要求(测试计划、测试缺陷管理和项目交流方式等),外包测试服务商指定测试项目经理分析和审阅开发上发来的测试要求,如果对测试要求有任何疑问或建议,及时告诉开发商,待开发上给出合理解释后,准备进行具体的测试过程。
测试服务商在执行测试的过程中,对于新软件测试版本首先进行版本验证测试( Build Verified Testing - BVT ),并且把 BVT 的结果发送回软件开发商。对于软件的常规测试发现的软件缺陷,使用软件开发商提供的缺陷跟踪管理系统报告和查询。
对于测试周期较长的软件外包测试项目,外包测试服务商需要每周(甚至每天)向软件开发商提供测试进度和测试结果等测试状态报告。测试状态报告的提交频率可以在项目开始前的准备阶段与客户确认,一般每周结束时报告一次。
为了保证软件外包测试的有效性,外包测试服务商需要对测试结果进行内部的质量保证( QA )过程。如果没有通过内部 QA 测试,则测试服务商的测试人员需要重新或补充测试;如果通过了内部 QA 测试,则可以向软件开发商提交测试结果。
软件开发商的软件开发人员负责每天跟踪和修正测试服务商报告的软件缺陷,然后重新编译出软件新测试版本。开发商的软件编译人员对刚编译的软件版本执行基本功能检查,这个过程称为“冒烟测试 (Smoke Testing) ”。
如果通过了软件冒烟测试,则开发商将新的被测试版本上传到项目开始时约定的文件服务器中,并且使用电子邮件等方式通知测试服务商准备新版本测试。
在软件项目测试后期,理想情况下软件缺陷为 0 ,则进行最终软件版本的测试,最后向开发商提交最终版本的测试结果。