qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

群体测试活动指导总结

信息技术世界正从由企业驱动向由客户驱动转变,客户需要更的灵活性以便他们可以通过各种环境和体系去操作其设备。这就向软件设计师和他们的质量保证团队提出了挑战。高质的设计和功能是建立客户忠诚度的先决条件,。群体测试让实际用户在真实条件下测试软件。这就使公司能够快速廉价地搜集真实的看法,反馈和缺陷,从而显著改进质量和设计,并通过客户和最终用户提高软件采用率。使用群体来测试软件改善了外包或自动化等其他常见选择的质量,灵活,速度和成本水平。如今,精心设计和高质量的软件是建立客户忠诚度的先决条件。为了确保软件满足客户对精准设计,实用性和性能的期望,有必要进行广泛的测试。软件要在各种不能提前预测的设备和使用场景上执行。内部测试的测试资源有限,不能满足如此广泛的测试覆盖要求。众包软件测试让真实用户在真实条件下测试软件,这样企业就能快速廉价地搜集真实的看法,反馈和缺陷,从而显著改善质量。
  1.引言
  过去几年,众包模式已从不起眼、被孤立的自定义行为演变成了成功案例,如维基百科和亚马逊土耳其机器人。在信息技术领域,众包软件测试越来越多地被关注及采用,尤其是创业公司和小公司。但是,大企业的采纳过程相当缓慢,主要是因为缺乏出版商业文献。为提高大型企业对群体测试的采纳率,我们需要讨论一些关键问题,如制造或购买的决定,建立一个内部测试社区或与外部机构合作,应用程序适应性,管理和测试员质量,并通过提供一些成功的群体测试活动指导作总结。
  2.今天的IT环境
  近年来,信息技术(IT )已认识到它的战略重要性,许多企业已对ERP,CRM和其他业务的工具进行了大量潜在投资,这表明了企业IT的关键性质。这些公司也有面向消费者的要素,如网站和移动应用程序,这些要素不仅是精心设计的,而且还提供无中断的功能。预测此类系统的用户并先验他们的喜好几乎是不可能的。众包软件测试可以通过确保该软件无缺陷帮助大幅提高消费者接受软件模块的概率。随着云计算, BYOD等不断增长的趋势,IT服务被交付到多个渠道并被IT系统配置不同的各利益相关者使用。真正强大的软件测试很费时,而且几乎无法保证功能,位置和平台的每一个可能的排列组合能如期工作。例如,如果一个Web应用程序无法在某个特定浏览器上运行,或一个特定的软件工具无法使用一个重要功能,那么业务可能会中断。通过群体测试,企业可以有效地降低内部软件测试团队在内部测试阶段错过关键要素的可能性。根据Paul Herzlich,一名Ovum(一家独立的IT业研究机构)的软件测试分析师的看法,“如果你正在测试一个各种陌生人都要使用的软件,干嘛不让一大帮陌生人来测试它呢。”于是,群体测试给或许会成为一个棘手难题的测试提供了一个简单,简练,有成本效益的解决方案



  图2.众包的各地利益(从谷歌走向看)



  3.探索和企业群体测试
  目前,大部分重点是探索性群体测试服务,测试人员根据通用准则和测试用例分析软件的问题,bugs,或缺陷。有了“不受约束的”探索性测试,结果不能定量预测,因为要提前限定范围,地区和可能存在的缺陷数量很困难。测试人员通常可以发现在最明显地方的问题,但一些高水平测试人员可能会发现软件层下的缺陷。探索性测试最适合用于测试有大量用户但不重要的应用程序,以确保不同配置下的一系列问题的再现性或在应用程序上模拟一个典型工作内容。企业群体测试集成在软件测试过程中更加严谨,包含更多结构,同时保留了探索性测试的精神和敏捷性。因此,企业群体测试包括正规和非正规的软件测试方法的最佳实践和概念。企业众包软件测试的专业程度更高。在这种方法中,测试人员均须经过严格审核,并根据全面的选择标准部署。软件测试过程包括明确规定的范围,并由广泛的特定指导方针指导以满足项目需求。团队已明确规定了角色和职责,一个联系客户组织,正式报告和报告结构,广泛文档和项目跟踪等的单独社区点。此外,企业群体测试包括建在现有软件测试方法上的正式程序,例如Agile,SCRUM等。这样对齐的结果是,客户组织的内部开发和外部软件测试周期间轻松同步了。这就使客户端可以减少其项目管理的开销并最大化两队的利益。


  图3


  4.什么样的应用程序适合用众包测试?
  众包测试方法最适合以用户为中心的应用程序。它常常,通过在公测阶段推出廉价或免费产品版本,被用于移动应用和游戏开发项目中。大型企业可以通过模拟一个庞大的用户群去了解使用模式并根据反馈进行完善同时确保其应用程序在各种设备,操作系统,浏览器和语言版本中流畅运行而获益。换句话说——有高缺陷暴露因素,即关键性作为即时客户发布后暴露的措施的应用程序适合用群体测试。例如,微软发布Office 2010产品系列的测试版本,被900万人下载和测试并提供了2百万条宝贵意见和见解,从而使产品获得确实的改进。
  5.它是如何运作的呢?
  大多数众包测试公司为测试周期提供平台和项目管理框架,包括管理政府和法律结构。群体测试公司还分配一个负责测试过程的合适的项目经理。众包软件测试服务的消费者方面,客户指定他们希望执行的测试类型和测试系列,测试员的技能和个人信息,软件必须在上面进行测试的设备的类型和配置等。客户公司也可以咨询群体测试公司确保测试充分。供应商方面,测试人员完成一个配置文件,表明他们的背景和资历,他们有权访问的设备和平台,以及其他相关细节。测试人员有时需要参加评估或试验项目作为他们成为社区成员的先决条件。在项目启动之前,会给测试人员提供详细的测试计划,示例场景,工具,脚本和说明。在执行过程中,测试人员记录下他们的观察,并根据观察报告的数量和质量被评分,这与他们的薪酬和激励结构直接挂钩。社区结合协作和竞争,成员合作找出解决方案说明问题。论坛促进知识管理,网络以及bugs或相关问题的讨论;评分系统可以识别所做的出色工作,这有助于参与者获得信誉并完善自己的职业生涯。群体测试应被视作产品发布前的额外补充测试而不是一个独立的活动及一个组织内部测试团队的替代品。这对在生产前发现误差UI和配置缺陷很有效。


  6.现场,外包和测试群体
  现场测试是指为了软件测试目的部署一个内部团队的一贯做法。这种方法在可扩展性方面有局限,且对再现现实使用情况无效。外包软件测试中,外部服务供应商基于每个项目或协议提供软件测试。外包软件测试具有明显的成本优势——高技能资源只占一小部分成本——通过劳动套利。在群体中测试中,测试人员自愿测试软件,内在驱动其去发现软件缺陷,在社区内自己的一席之位,获得同行的认可,等等,尽管没有发现缺陷他们就没有薪酬。这种自发组织的特征,共享社区目标,内在动机是群体测试成功的强大力量。
  7.选择什么呢?
  现场团队,因为接近客户,可以通过关注需要立即关注的技术和商业挑战创造价值。在一个外包测试项目中,测试团队(S)可以受外包公司控制也可以不受之控制。受控模式中,测试团队是公司的一部分,它们把软件测试作为一项持续性活动(测试团队可以从中通过对最常见的内部应用程序的更深理解而获取经验和效率水平)进行。不受控团队是公司外部的,它们与一些客户合作一些项目。从这些约定来看,不受控团队汇集了多个地方,领域,功能,行业,技术方面的经验和专业知识。客户公司可以在需要“创造性思维”和特殊测试工作的项目中利用这种多样性。群体测试团队的焦点,重心,内在动力和可扩展性,通过在上线前发现问题提供巨大的价值。群体知识在测试员基地中扩散,但集体测试的知识基地大于任何公司内部基地。考虑到现代系统的复杂性,最佳的测试组织按正确比例应包括现场,外包和众包测试团队。按正确比例汇集是经验和实验一个关键因素。
  8.建立一个社区还是建立合作伙伴关系?
  虽然一些公司,如Netflix和亚马逊,已经在内部建立了他们自己的群体功能,但这不是大多数公司能够自己实现的或有战略性商业意义的活动。群体测试是一项复杂的活动,需要深厚的技术,功能和业务知识。所以,除非要完成的工作是高度战略性或机密的业务,公司最好立即寻求提供所有必要成分的群体测试公司来部署群体。这些成分包括有经验的测试人员,设备,可配置架构,参与机制,基本规则,参与方法,法律结构,支持机制等。
  9.安全和管理
  往往,客户保密信息在测试期间面向群体。群体测试企业已经意识到了安全性和保密性的需求;因此,他们有各种过滤器,管理机制,模糊处理工具,数据管理框架等,以向他们的客户确保他们的数据和信息极度保密处理。对于对安全性要求高的项目,拥有长期信誉和专业声誉的白帽测试工程师的预先筛选名单会被提议,且通常会被接受。测试数据管理通过混淆敏感信息或创建“只测试”数据以确保安全。这有助于减少大规模测试中潜在安全漏洞的影响。测试人员加入社区时还必须签署一份常规保密协议(NDA),禁止他们线上线下在社交网络、个人博客及其他秘密测试平台外的地方谈论他们的客户,产品等。客户也可以自由地从池中选择自己的测试人员并在看顾客项目之前提供每个被选测试人员必须签署的自定义NDAs。此外,标准的沟通渠道,准入限制等在测试工作中帮助确保数据并保密,这就使得群体测试项目生命周期各阶段可以无缝过渡。
  10.确保测试质量
  为了保证测试员的质量,正式和非正式的测试,可以根据测试员的经验,可用材料和所掌握概念定期由单个测试员管理。测试人员和项目经理不断监控以确保质量和完整性。经过不断的筛选,没有正式培训和显著专业经验的申请人被淘汰。越来越多地,群体测试公司也赞助有经验的测试人员去考专业证书,所以他们的地位和责任随着他们的贡献而增长。为了避免测试人员之间的潜在利益冲突,实行基于绩效的薪酬机制以确保测试人员的报酬与他们的参与度和对软件质量改进的贡献水平一致。发现大量不重要缺陷的测试员的报酬低于发现少量极具影响力的缺陷的测试员。这些机制也有利于防止社区内的任何口水之争,阴谋诡计等,并提高测试者对社区的关注,所有权,忠诚度和隶属关系,从而创造一个和谐的,彼此尊重的工作环境。
  11.选择一家群体测试公司
  群体测试过程的各个阶段中,选择合适的测试公司无疑是最重要的。客户公司在选择一个群体测试平台之前要进行充分调查,广泛的项目评估,测试公司的能力和规模等都是必须的。一般情况下,选择一个成熟的,经验丰富的群体测试平台,可以使业务活动更加容易,因为这样在运行阶段通常就不怎么需要维护及管理,因为测试公司已经根据过去与其他客户合作的经验解决了许多相关问题。因此,至少按下列标准评估群体测试平台以确保平台至少包含所需的最少功能和安全非常重要:
  一.确定群体测试的经验,交付能力,技能多样性,全球拓展情况以适应企业客户不断变化的需求很重要。
  二.与企业和中型公司合作的有机增长及经验表明了可靠性。让小型的众包测试平台提供移动应用程序和网站测试服务相当简单,但很少有企业成熟到可以测试企业应用程序并提供总包测试服务。
  三.如果客户公司一心进行长期项目而不想担心服务提供商退出的话,一段时间内的财政稳定就尤为重要。
  四. 许多群体测试平台仅有客户端和测试人员之间牵线搭桥服务,而不提供管理服务。这些平台不保证软件测试人员的数量,各个测试人员的测试工作量,测试人员的质量或测试结果,也没有任何可靠的结果。最好避免这样的平台。
  五.要了解它们的服务范围和所提供的SLA,必须刻苦温习条款。
  六.标准文档的采购级层应该用于为每一个重要的群体测试项目评估平台运营商。该文件应处理各种元素,如:
  1.价格结构
  2.质量,安全,保密性
  3.专业的服务
  4.功能和流程
  5.交付方法
  6.服务基础设施
  7.补偿结构
  8.便利性和可扩展性
  9.平台和工具的功能和质量
  10.风险管理结构
总结
  已经讨论过群体测试的各种元素,可以很容易地推断,大企业可以通过既定的和有经验的群体测试公司合作,以节省大量成本并获得可扩展性。群体测试工具,流程,框架和方法已经成熟到如此高的程度,那么群体测试就可以很容易地融入组织的常规开发周期。群体测试通过一个更大团队中的多种软件测试活动减少人为错误的可能性。通过把应用程序提交到现实中,可以追踪到能重新设计或改进的实际性能数据和执行路径,从而进一步改进产品质量。除了这些直接的好处,大公司还可以体验更快的产品上市时间,把资源都放到核心业务上,获得大量人才,增加灵活性等。开始很容易,而那些敢于冒险尝试的组织肯定可以获得一些短期和长期的好处。

  Dieter Speidel是PASS集团的创始人和CEO,一名重要的瑞士软件和系统测试服务的供应商。 PASS集团是passbrains.com的所有者和passbrains之家,一个在苏黎世,柏林,波士顿,贝尔格莱德,班加罗尔和孟买都设有办事处的按需群体测试服务的全球平台。作为一名在IT外包,软件开发和测试业活跃了30多年的企业家,Dieter Speidel对全球交付模式,包括近/离岸外包和众包方面有深入的专业知识。2011年以来,他一直专注于从众包模式的应用深入到IT相关的服务,并开发passbrains平台和社区的群体测试和知识服务。
  Mayank Mittal是应用程序测试行业的一名战略性业务领导。十多年的职业生涯,他已建立了大规模的管理测试中心并在与领先机构,如Oracle、CSC、Cognizant合作时进行了QA组织变革,为全球许多财富100强客户提供了测试解决方案。Mayank在PASS集团股份公司担任公司战略和业务发展主管。
  Mithun Sridharan是Passbrains的一名业务发展经理,Passbrains总部设在德国Eschborn 。他在业务发展,市场营销,全球交付和咨询方面有十多年国际经验。他是工商管理硕士(MBA)和科学硕士(M.Sc)。他是一名项目管理专业人员(PMP)和国际信息系统审计师(CISA) 。他还担任德国外包协会的通讯主席。

posted on 2014-07-22 09:21 顺其自然EVO 阅读(142) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜