首页 » Web前端 » facebookphp检讨技巧_Facebook 是若何做测试的

facebookphp检讨技巧_Facebook 是若何做测试的

访客 2024-12-09 0

扫一扫用手机浏览

文章目录 [+]

很多人对FaceBook,Google的测试技能和细节感兴趣。
我们挑选了个中一篇文章给大家分享一下。

Facebook 若何做自动化测试

最近有个谈论,原意是:“facebook是如何做自动化测试的,他们是若何测试才能担保每周的升级都可以不失足误的呢?

facebookphp检讨技巧_Facebook 是若何做测试的

来自 Facebook 的 Steven Grimm 很好地回答了这个问题,以为还不错,这里以第一人称翻译了一下。

facebookphp检讨技巧_Facebook 是若何做测试的
(图片来自网络侵删)

对付PHP的代码,我们写了非常多的基于PHPUnit测试框架的测试类,这些测试类覆盖范围比较大,从大略的判读真假的单元测试到大规模的后端做事的集成测试。
开拓职员把运行这些基于PHPUnit的测试用例作为他们事情中的一部分,同时这些用例也在一些专用的设备上一直地被运行(注:持续集成模式)。
当开拓职员对一些代码做了比较大的修正时,在开拓机器上的自动化工具会运行这些测试用例的同时也会天生相应的代码覆盖率数据,对付须要提交到代码库的diff,在做代码review的时候回自动地产生一份带有覆盖率的测试报告。

对付前真个代码,我们利用Waitir(注:Waitir是前端UI的自动化测试框架)做了基于浏览器的界面自动化测试。
这些测试用例涵盖了网站页面的功能,特殊是针对隐私方面,比如:“用户X发布了Y,而Y该当/不应该被用户Z看到”,有着大量的基于浏览器级别的这种用例。
(这些隐私规则当然也会利用一些更低级别的方法被测试到,但是这些规则的实现是必须要严格实行的,并有着非常高的优先级,因此这部分必须要有足够的测试用例来覆盖)

除了一些利用watir的全自动化用例以外,我们也有一些半自动化的测试。
这些测试也利用了waitir技能,这样可以使一些表格添补或者点击button来完成整改界面上的流程的测试不太单调乏味,而且我们可以很清楚地检讨和验证当前的步骤或流程是否精确合理。

我们也在考试测验开始利用JSSpec (注:JavaScript单元测试框架)去做一些JavaScript代码的单元测试,但当前也是刚刚开始做。

对付后端做事的测试,根据不同的做事特性我们采取了许多不同的测试框架与方法。
对付一些须要开源发布的项目,我们会利用开源的测试框架,像Boost和JUnit测试框架(注:Boost是针对C++/JUnit是针对Java的测试框架);对付其余一些项目,可能永久都不会发布到外界,我们便是利用内部开拓的可以很紧密地与我们build系统集成在一起的C++测试框架。
还有少数项目会利用项目级别的测试工具。
多数后端做事的测试都会牢牢地和持续集成/Build系统结合在一起,这些持续集成的build系统会一直地针对源代码自动地运行测试用例并天生测试结果,测试结果在存储在数据库的同时会发送到关照系统中去。

HipHop(注:HipHop for PHP是Facebook的PHP项目)有一套类似的持续集成系统,HipHop的单元测试和所有基于PHPUnit的测试都会被运行。
所有的这些测试结果会和基于普通的PHP阐明器的结果做比拟,从而可以看到不同PHP上的行为的不同;

Facebook的测试工具将测试结果存储在数据库的同时会发送一份关照邮件,这个邮件会包含实行失落败的信息并且邮件的吸收范围是开拓同学可以自己调度的。
(例如,你可以选择只有在测试连续失落败一段时候的时候才吸收到关照邮件,或者当一个用力失落败的时候急速收到关照)。
在浏览器UI上,测试结果和 毛病/开拓任务跟踪系统会结合在一起,可以很随意马虎的将测试失落败与开拓任务关联起来。

测试中一个非常主要的征象是“导致壅塞”,也便是一个测试用例失落败有可能会阻挡发布(在Facebook,有发布工程师会来评估是否可以将带有问题的代码发布莅临盆环境,发布工程师在必要的情形下会得到授权去阻挡产品的发布)。
阻挡产品发布上线的事情是被认为是非常严重的问题,由于在Facebook大家对付这种快速发布的模式是深深引以为豪的。

我所在的团队是测试工程部门,紧张职责是打造通用根本工具,这些工具会被上述的所有人用到,同时我们也在掩护测试框架,像PHPUnit和Watir。
Facebook没有专职的测试团队,所有的工程师都须要为他们的代码写自动化测试用例,并掩护这些测试用例,担保产品代码改变的同时这些测试代码可以精确地运行。

Facebook的测试还处于一个初期起步考试测验阶段,上面的先容都只是我们在当前运行的方法而已。

作者:西边人

头条号、"大众号请搜索(软件测试资源站):testpu

关注后私信回答 入群,加入自学社群同盟。

标签:

相关文章

php报错302技巧_PHP面试题

面向工具是程序的一种设计办法,它利于提高程序的重用性,使程序构造更加清晰。紧张特色:封装、继续、多态。2. SESSION 与 C...

Web前端 2024-12-11 阅读0 评论0