世界互联 巨头如何进行软件测试:测试不是只有一种方式

想要进一步改进软件测试工作的话,软件测试团队或组织可以从那些“互联 巨头”是如何组织他们的测试和质量保证活动中学到一些东西的。

有理由认为,像Google,微软和亚马逊这样的公司,如果没有对他们将要发布到世界上的产品的质量给予适当的关注,他们将不会如此成功。

但是看看这些软件巨头们,并没有统一的一条成功秘诀。以下介绍了世界上最著名的五家科技公司如何组织他们的QA,以及你能从他们那里学到的知识点。


谷歌Google:寻找最佳实践方式

谷歌拥有世界上最广泛使用的搜索引擎,公司是如何组织其测试工作的呢?这取决于团队和产品。例如,负责谷歌搜索引擎本身的团队维护了一个庞大而严格的测试框架。由于搜索是谷歌的核心业务,因此团队希望确保它能提供尽可能高的质量,而不是把它搞砸。

为此,谷歌采用了一个四阶段的测试过程来改变搜索引擎,包括:

  1. 由专门的内部测试人员(谷歌员工)进行测试

  2. 在众包测试平台进一步的测试

  3. “dogfooding”,谷歌的员工日常工作中使用待测试的产品

  4. beta测试,包括将产品发布给一小群谷歌产品最终用户

尽管这看起来像一个十分完善的测试过程中,前谷歌主管James Whittaker称还有改进的余地,因为在不同阶段负责该项目的人员之间的沟通是次优的(这导致业务被测试两次或根本没有被测试)。

负责谷歌产品的团队离公司的核心业务还比较远,采用的是一个不太严格的QA流程。在某些情况下,所有的测试是由负责该产品的开发人员完成的,并没有专门的测试人员提供一个安全的测试 。

无论如何,谷歌是在认真对待测试。从测试人员和开发人员的工资是平等的这一事实上就能看出来,而这是到其他任何地方你都看不到的现象。

脸谱 Facebook:开发者驱动测试

脸谱 根本不雇用任何专门的测试人员。这个 交媒体巨头依赖其开发者测试他们自己(以及彼此)的工作。虽然在过去,这主要是手工完成的,现在脸谱 采用了各种各样的自动化测试解决方案。所使用的范围涵盖从后端单元测试的PHPUnit,到Jest(脸谱 内部开发的一个JavaScript测试工具),到端到端进行测试的Watir。

像谷歌一样,脸谱 也用“dogfooding”以确保其软件的可用性。

脸谱 承认在测试过程中他们存在着重大缺陷。但是他们选择的不是努力提高,只是简单地接受缺陷,因为,正如大家所说,“ 交媒体并不是必要的。”同时,公司认为较少关注测试意味着有更多的资源专注于其他更有价值的东西。

脸谱 不是通过专门的测试来测试软件,而是倾向于使用快速迭代发布和持续增量的部署策略来修复生产中的问题、完成更新、实现新特性。例如,一个新的功能可能首先只能提供给用户总数的一小部分。

通过用户数据跟踪和收到的反馈,公司决定什么时候增加部署、或是禁用功能——总之就是,要么改进它,要么干脆放弃它。

亚马逊Amazon:部署是第一位的

与脸谱 一样,Amazon没有大规模的QA基础设施。甚至有人暗示(至少在过去)亚马逊不重视QA。公司内部约1:7的测试工程师与开发人员的比率,也表明测试在Amazon看来不是必要的活动。

然而,公司本身对此有不同的看法。Amazon坚持,测试人员与开发人员的比率是一个输出变量,而不是一个输入变量。换句话说,一旦它注意到由于 站上的异常、收入减少或客户流失,亚马逊就增加了测试工作。

亚马逊给人的感觉是它的开发和部署过程非常成熟(该公司每11.6秒部署一次软件)。没有必要进行详细和广泛的测试工作。这一切都是为了使软件易于部署,而且在发生故障时很容易回滚。

微软Microsoft:工程师和测试员是一体的

微软的测试人员与开发人员的比例目前在2:3左右,像Google一样,微软的测试人员和开发人员是同薪酬的,除非他们不称为测试人员; 他们是测试(或SDET)的软件开发工程师。

微软开发人员中测试的高比例是由于公司收入的一大部分来自安装在客户端计算机上的可销售产品,而不是 站和在线服务。 由于在出现错误或新功能的情况下,更新这些产品很困难,如果不难也至少是更令人讨厌的过程,因此Microsoft投入大量时间、精力和资金,以确保其产品的质量达到高标准

可以从IT业大亨上学到什么?

如果在五家最大的科技公司中关于测试和质量保证的文化、观点和过程都有很大的差异,那么没有一个正确的方式来组织测试工作也很正常了。这五家都制定了、选择了最适合他们的测试流程,这五家都非常成功。他们做的事情一定都正确嘛?

尽管如此,还有几个可以从上述故事中提取出来一些点应用于您的测试策略中:

  • “测试责任范围”——从“我们有专门的测试人员主要负责执行测试”到“每个人都负责执行测试活动”。你应该选择最适合你团队的方式。

  • “测试重要性谱”——从“未经测试不会生产”到“我们把所有的东西放在生产中,然后我们在那里测试”。您的产品和组织应该取决于故障带来的风险进行选择,以便在出现问题时,您可以轻松地回滚、修复问题。

  • 测试自动化在所有五家公司中都占有重要地位。虽偶然实施的程度不同,但五家都采用工具来优化其测试工作。你也许应该也这样做。

  • 原文:How tech giants test software: There’s no one way for QA


    关注云测学院,为您提供每日国内外最新资讯、干货。

    你可能感兴趣的文章:

    干货丨接口测试最全概述:定义、分类、……、如何学习

    行业丨自动化测试正受到物联 IoT的挑战!

    行业丨技术新环境下测试行业的机遇在哪里?

    技能丨测试用例评审流程——你必须了解的职场软技能

    面试丨测试面试有一套,技巧什么的快拿去

    休闲丨特意设计出这么个bug的人,可能本身就是个bug

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2017年9月3日
    下一篇 2017年9月3日

    相关推荐