软件开发外包软件测试的流程管理
本文来源:www.sunseam.com 发布日期:2014-12-07
软件开发公司在交付给客户使用之前必须经过严格的软件测试过程工作,软件测试是为了发现错误而执行程序的过程。目的是为了在投入生产性运行之前,尽可能多地发现并排除软件中潜藏的错误,从而提高软件的质量
一、组建测试小组测试小组作为质量控制的主要手段,负责软件的软件测试设计和执行工作。如同软件开发一样,软件测试在执行之前,同样需要进行软件测试计划和软件测试策略的设计,通常情况下软件测试可以分为如下几种类型,如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在软件测试计划和软件测试策略中进行描述用以指导软件测试小组成员进行软件外包测试用例编写和测试执行。程序员在交给测试人员之前是进行过一定的单元测试,确保程序编译、运行正确。测试人员根据详细设计的文档对软件要实现的功能进行一一测试,保证软件的执行正确的实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需求仍需要进一步的功能性测试。测试人员只有根据软件需求规格说明书所提及的功能进行检测,才能确保项目组开发的软件产品满足用户需求。在正确性测试完成之后,需要软件外包测试的是软件的性能,软件开发的性能在本项目中占有重要的地位,性能要求有可能改变软件开发的设计,为避免造成软件开发的后期返工,软件外包测试在性能上需要较大的侧重。如果有必要的话,软件外包测试小组还需要做安全测试,以确保系统使用安全可靠。
二、软件开发外包软件外包测试的特点
软件开发外包测试是智力密集型工作,软件外包测试团队的能力决定了软件外包测试的质量。软件测试团队的建设要考虑两个问题:第一是组织结构,包括需要多少测试经理、测试组长、测试工程师。第二是每个岗位需要的技能,例如测试技术经验、项目管理经验等。由于软件外包测试受到项目成本和资源的制约,专门由测试专家构成是不切实际的。有战斗力的团队是现实目标,由具有测试管理经验的人员担任测试经理,掌握测试技术和熟悉被测软件的人员担任测试组长,高级测试工程师、测试工程师和测试新人执行测试。团队的战斗力指的整体的测试能力。具有战斗力的团队既可以保证测试质量,又可以控制测试成本,同时可以锻炼新人。测试团队的战斗力要靠测试经理、测试组长的有效交流,测试知识的有效传承,积极学习和总结实现。三、软件开发外包测试的过程
任何软件开发外包测试项目都需要执行一系列紧密联系的过程,包括测试计划、测试策略、测试设计、测试执行、过程跟踪、测试验收、项目总结等环节。软件外包公司需要协助开发商明确每个流程的内容、任务、目标、方法。确定每个环节双方的任务,评估方法和提交方式。四、软件开发外包测试的流程管理
测试流程的管理是软件开发外包测试管理的重中之重,根据管理的内容不同,可以分为:文档管理、配置管理、缺陷管理、进度管理、质量管理、资源管理、成本管理、变更管理等方面。软件开发外包测试流程管理需要开发商和外包公司共同制定和遵守测试流程,明确流程变更的条件和方法,杜绝测试的随意性和失控性,保证测试进度和质量的目标。“常规测试"是指根据测试用例执行的测试,“随机测试”是指根据测试者的经验和软件的测试需求执行的测试。由于软件测试的复杂性,单纯靠执行测试用例发现缺陷,对于保证测试的覆盖性,经常是不够的。因此,适当加强随机测试的方法,可以发现常规测试难以发现的缺陷,是对常规测试的有效补充。
随机软件测试在什么阶段执行,执行多长时间,这些将影响测试的进度和成本,外包公司需要与开发商在测试计划阶段进行讨论,取得共识。一般在执行完测试用例之后,可以进行适当的随机测试。另外,在软件发布前的最后测试阶段,也需要执行随机测试。执行随机测试的人员通常是具有丰富测试经验,熟悉被测试软件的高级技术人员。