Netflix设备的自动化测试(上)

发表于:2016-11-17来源:杰微刊作者:译者macsokolot点击数: 标签:Netflix
作为NetflixSDK工作团队的一员,我们的职责是确保Netflix应用新版本都经过了彻底的测试,在部署到游戏终端上或是作为一个SDK分发到(可作为一个参考样例程序)Netflix设备的合作伙伴之

作为NetflixSDK工作团队的一员,我们的职责是确保Netflix应用新版本都经过了彻底的测试,在部署到游戏终端上或是作为一个SDK分发到(可作为一个参考样例程序)Netflix设备的合作伙伴之前保证其高运行质量;并最终向智能电视的百万和机顶盒子(set top boxes,STB’s)推送。总的来说,我们的测试是保证在数以百万计游戏终端以及通过互联网连接的电视/机顶盒中的Netflix运行质量。

 

不同于服务端的软件分发方式,客户端软件分发所特有的挑战在于在程序崩溃的情况下并没有红/黑推送(red/black pushes)或立即回滚功能。如果客户端有一个BUG,那么从代码修正到客户端推送,修复这个BUG的代价将非常之高。Netflix不得不重新与众多合作商重新对他们的设备进行再次认证,尽管他们的设备可能已经被Netflix认证过,但只要修复版本一推送,这个流程就得重新走一遍,这样整个项目的时间花费无论是外部还是内部都是十分巨大的。与此同时,用户对这个BUG将束手无策,随之而来的便是糟糕的Netflix用户体验。那么避免此类问题出现的最好办法就是:在版本推送之前确保应用的每项测试都能引导到设备之中,然后检测应用的回归测试是否达到要求。

 

这是关于自动测试系统一系列文章中的第一部分,阐述了我们在多个设备上用于自动化功能、性能和压力测试Netflix SDK的关键概念和基础框架。


期许目标(Aspirational Goals)
多年来,我们使用手动和自动化手段测试Netflix应用程序的经验告诉我们几个教训。 因此,是时候重新设计我们的自动化系统以进入下一个级别和规模,我们需确保将这些定为核心目标。


低设置成本/高测试“灵活性”(Low setup cost / High test “agility”)
当使用自动化才测试时,测试不应难以创建和/或使用。特别是在能够简单地手动运行的测试应该也能在自动化中运行并保持简单化。这意味着使用自动化工具应该具有接近零的设置成本(如果存在)。确保创建新的测试,和调试现有的测试应该是快速和无缝的,这非常重要。在测试中,这也确保了重点尽可能长地保持在测试和功能上。

原文转自:http://www.ltesting.net