虽然软件测试中的分布式测试、外包测试和内包测试都有各自的优点,但是这并不意味着可以随意采用这些不同的测试方式。它们在成本核算、外包地点选择、承包商选择、测试管理和商业模式方面都面临着新的挑战。在采用这些不同的测试方式之前,组织内部要进行详细的评估,判断采用不同测试方式的性价比。分布式测试、外包测试和内包测试通常会面临如下五个方面的风险。

  1)沟通

  测试团队的选择和管理需要考虑沟通方面的风险。在测试管理过程中,需要明确不同团队之间的交流方式,并明确定义各个团队的使命、任务和交付内容。项目团队必须减少对非正式交流渠道的依赖,如在走廊上的对话或同事之间的私人交流。地点、时区、文化和语言的差异使得有效地沟通变得更加重要。当测试团队和其他团队之间存在时区差距的时候,及时沟通方面可能存在一定的问题,例如:当位于美国的项目人员已经下班,而中国的测试人员正在进行测试工作,一旦在测试活动中碰到任何问题,都没有办法得到美国项目相关人员的及时支持。这种情况下可能需要安排专门的人员值班,尽量保证双方的工作时间有一定的交叉,以方便相关问题和项目进度状态的交流。如果大家的母语不同,那么沟通的效果也会打折扣。在中国,虽然英语已经相当普及,但是仍然有很多人英语的听力和口语还都不能满足工作的需要。当测试团队位于不同的时候,语言问题可以通过安排一个接口人来解决,这个接口人需要具备较高的英语沟通水平;而当采用内包测试的时候,语言问题将会更突出,这种情况下通常都要求承包方和发包方的工作语言保持一致,这样对承包方人员的整体语言水平要求更高。领测软件测试网

  2)监管

  对不同团队进行有效地监管是面临的一个挑战,监管的缺乏也是一个潜在的风险。由于测试团队和项目团队在不同的地方或隶属于不同的组织,监管工作显得尤为重要。对监管工作的重要性认识不足,常常导致监管的人力不够,或者监管的人缺乏足够的技能。监管活动主要包括:

  首先要组建监管团队,监管团队成员要具备必要的技能,监管团队中仅仅包括测试人员是不够的,虽然测试人员在技术方面比较精通,但是在监管过程中还会涉及很多非技术方面的问题,所以必须有团队成员具备相应的管理技巧、商业经验和社交技能等。

  其次,测试团队的服务质量可能随着时间的推移发生变化,这要求监管团队定期对测试团队的工作质量进行评估,为了避免不必要的纠纷,好是在开始签订合同的时候对交付物的质量和测试团队的服务等级进行定义。对于内包测试,由于没有地域的差别,可以比较方便地实时对所有日常的测试活动进行监控;对于外包测试和分布式测试,由于存在地域的差别,可以通过外派监管团队的方式对整个测试活动进行监控,同时还可以通过对测试活动的中间交付物进行检查保证测试的质量,例如:对设计的测试用例进行评审、对编写的测试代码进行抽查、检查测试执行的日志等。

  后,在所有的测试活动结束后,还需要对终产品进行确认。按照合同约定的验收条件对终产品进行确认,这可能需要执行一系列的验收测试保证产品的质量。

  3)保密

  由于涉及不同地点或组织的参与人员,机密信息的保护显得尤为重要。所有项目相关的人员都需要签署保密协议,明确定义所有项目参与者的保密责任和违约的法律责任。对于分布式测试,如果位于不同地点的测试团队只是该项目所在组织的一个研发分支,那么保密工作要稍微简单一点。如果涉及不同组织的外部人员参与项目,那么要花费更多的时间和成本到保密工作中。为了保证保密工作的顺利进行,发包方要严格定义相关人员的角色和职责,从而根据相应的职责分配不同的权限。如果采用内包测试的形式,还可以通过为承包方人员提供办公用品(办公场所、网络和电脑等)来减少泄密的可能性。对于外包测试的形式,除了避免承包方项目人员的泄密,还要注意双方数据传输过程中的信息保密。在采用外包测试的时候,不可避免地要进行各种信息的传送,可能是双方的电话、E-Mail交流,也可能是软件版本的传输,在条件允许的情况下要尽量使用VPN等方式。如果有必要,对传输的数据要进行加密。copyright领测软件测试网

  4)成本变化

  成本是动态变化的,一段时期或单个项目的成本只是发包方应该考虑的因素之一。通常情况下,发包方都希望和承包方建立一种长期合作的关系。如果是同一个组织内的分布式测试,希望能够长期建立一个稳定的研发分支。如果是采用外包测试或者内包测试,发包方也希望能够和承包方维持长期的合作关系,毕竟重新选择一个合作伙伴会带来额外的成本和风险。

  另外,参与外包测试和内包测试的测试人员的薪水在稳步提高,而且在将来可能继续提高。发达和发展中的薪水的差距在不断缩小。在人力成本不断上升的同时,随着承包方的不断强大,他们也会对自己的定价策略进行调整,承包方认为高质量应该意味着高价格,外包方式的成本优势会逐步减弱。

  5)潜在的竞争

  对于外包测试和内包测试,发包方还要评估它们的潜在竞争威胁。随着承包方承担的工作的增加,发包方对承包方的依赖程度可能会不断增强,这种情况下,承包方完全可能变成一个强势的地位,而出现抬高价格的现象。面对这样的风险,发包方可以在条件允许的情况下同时选择多个承包方,从而尽量避免对单个承包方的过分依赖。同时随着承包方实力的不断增强,他们完全可能成为发包方潜在的竞争对手。这要求发包方仔细评估外包的项目,通常只将非核心的任务进行外包,同时在外包过程中加强知识产权的保护工作。

  综上所述,分布式测试、外包测试和内包测试由于地域的差别和人员组织的不同,给管理工作带来了很大的挑战。如果测试团队之间或测试团队、开发团队、管理团队之间使用各自不同的方法,那么将造成显而易见的问题,尤其是在测试执行期间。对于分布式测试,不同的工作地点之间的测试工作的划分必须要明确、合理。如果不按这个原则分配,可能导致各个测试团队分配不到其适合的测试工作,进而致使整个测试工作受到隔阂、间隙(增加产品发布的质量风险)和重叠(降低效率)的困扰。

  后,对于上述涉及的各种方式的测试,整个项目团队对测试团队的信任非常重要。要相信各个测试团队虽然在组织、文化、语言和地理位置上有所不同,但他们依旧能很好地履行他们的职责。团队之间缺少信任会导致效率低下和时间延迟。缺少信任可以表现在包括验证彼此的活动、相互追究问题的责任以及组织内的小团体等。