整个IT产业一直处于不断变化中,因此,软件质量管理也不停改变着。新技术(如移动性)对方法和过程的新要求(如敏捷性),监管制度的变化(如环保总局)以及许多其他挑战,如用户对IT系统的看法(如对概念和易用性的使用),这一切都使得软件测试更加复杂和严格。
  此外,设备,操作系统,屏幕分辨率及配置越来越不一致。软件必须被正确执行,数据需要被正确处理,可重复的结果需要适用于所有系统。因此,这种变化需要新的做事方式。
  尽管变化很大,但是软件测试的实际运行并没有被改变,反而因为新增的元素被增强了。
  特别是,这些适应的新发展可称为相对比较新兴的方法“群体测试”。
  群体测试——利用互联网用户的软件测试
  群体测试是结合了众包原理的软件测试。因此,它对互联网用户(群体)来说是外包测试任务的一种形式。群体适用于一个明确的问题并用它提出的解决方案支持公司。因此群体测试使用全球互联网上的集体智慧来测试网站,移动应用程序,游戏及企业软件以摆脱bugs并优化可用性。基于一个期望目标群体的终端用户在他们自己的设备上,在真实生活条件下做测试——甚至是在发布前。基于群体的软件测试是一个详细的过程,其优缺点在图1中列出了。
  众包的基本原理
  众包的基本原理提出把一个特定问题分发给一群之前没有大量专业知识但现在要解决这些问题的人。积极参与的人会受到多种因素的推动,例如:帮助解决问题,提供他们的反馈意见,以及因其对他人的承诺而被奖励。
  欧洲有一些群体测试提供商已建立了他们自己的平台来处理基于群体的测试项目。总部位于慕尼黑的Testbirds自2011年年底有了特色的群体测试服务,专攻移动应用程序,网站,游戏及企业软件。他们的组合包括bug测试,可用性测试,本地化测试及综合测试。


  
图1:测试人员在群体测试工作流程中

  群体测试流程
  基于群体的测试的流程始于一个用项目经理和客户定义测试条件的简要介绍。这个流程包括概述项目(bug测试和/或可用性测试或组合测试),目标群体及其设备的重点。通过一个在线平台上的详细用户配置文件,参数是指定的且合适的测试人员可以被挑选来测试相应的软件。由于测试人员是在自己的环境中自己的设备上且思想开明,所以这些都是和一名应用程序开发人员进行内部测试时不一样的特点。群体给出过程描述,截图或截屏形式的反馈。然后这再由项目经理进行评估,并总结到建议付诸实践的终报告(和缺陷导出文件)中。
  基于群体的软件测试的益处
  群体测试的益处主要在于它是由真正的用户组成的群体。因此群体能够测试软件的灵活性。因此,这比传统的内部测试更好地反映了现实。此外,群体还拥有可用于测试的任意设备的变体及组合,操作系统和浏览器。一大批不同的测试员使得特定目标群体的选择包括了各种闹着玩的,专业的,甚至认证的测试人员。由于测试流程本身是快速灵活的,所以它可以被佳集成到现有的发布周期,并立即纠正确定的缺点。这两个方面都可以使开发成本显著减少。这些优点提高了软件质量并为客户提供了更多的资源,使他们能够专注于开发和其他事。为了群体测试项目的成功,测试应用程序的可用群体和一个有流程管理的专业高质量项目同样重要。客户必须确保,在试验过程的任何时候,所传输的数据都是秘密处理的——尤其是先前未发布的软件。服务提供商有责任确保所有信息和内容保密。
  此外,项目经理须根据客户要求来选择群体以协调测试。这伴随着测试结果的质量——提供者应确保所提交的评论的质量符合服务标准和客户要求。软件测试内尤其是群体测试内,质量问题起着非常重要的作用。在Testbirds里 ,所有的测试员都被要求参与有偿项目以完成 “入职测试”。项目经理还检查完整性、可追溯性和质量的所有报告和bugs。这个过程后,结果发给客户。一个包括截图的测试协议确保所有任务都被实际执行,以便在需要的时候保证正确的测试覆盖率。群体测试成功有两个主要因素。一方面,群体的组成是关键,另一方面,一个无摩擦的流程也非常重要。这一切都取决于基础管理流程。如果这两个参数可以被控制,群体测试充当了传统软件测试的补充。尤其像不参与应用程序开发的群体,或许可以提供宝贵的意见。和开发人员相反,测试人员可以从用户的角度中立公正地去看软件的优缺点。这一点特别重要,如果软件是面向用户的,它的成功依赖于用户的接受度。由于不同设备组合的多样化覆盖范围,bugs几乎可以在所有设备上被识别。在一个典型的测试环境中,这将更为复杂和昂贵。被称为“bugs通过”的方法可以验证参与的测试人员在各自设备上的一次测试运行中发现的所有bugs。因此,全系统的问题和个别案例可被区分并相应地优先处理。内部测试和自动化测试是开发和QA过程的一个重要组成部分。
  然而,随着用户的期望不断增长,它可能成为决定市场成败的小事。适当情况下,群体测试可以提供竞争优势。这样的话,群体测试不能作为自动化测试或内部QA的替代品 。相反,它是QA的更高水平,解决了目前面临的许多现实问题,如:无法访问所有不同类型的设备。一些公司提供对(可以由软件控制的)物理移动设备的远程访问。特别是触摸屏,这样才能接近实际用户行为。然而,只有少数公司有预算和时间去不断配备新设备。对于web或桌面应用程序,自从推出了“静默更新”,当与不同的操作系统结合时,操作系统多样化在测试中起到了至关重要的作用。后,提供基于群体的软件测试不仅对电子商务企业,实际上几乎对所有领域都有益。包括银行,保险,食品,媒体和出版机构。这是因为,终,客户期望所有这些领域都提供一个有效的,易于使用的在线或移动存在。因此,群体测试可以帮助提升公司,确保他们可以提供其客户期望的标准。