作為NetflixSDK工作團隊的一員,我們的職責是確保Netflix應用新版本都經過了徹底的測試,在部署到游戲終端上或是作為一個SDK分發到(可作為一個參考樣例程序)Netflix設備的合作伙伴之前保證其高運行質量;并最終向智能電視的百萬和機頂盒子(set top boxes,STB’s)推送??偟膩碚f,我們的測試是保證在數以百萬計游戲終端以及通過互聯網連接的電視/機頂盒中的Netflix運行質量。
不同于服務端的軟件分發方式,客戶端軟件分發所特有的挑戰在于在程序崩潰的情況下并沒有紅/黑推送(red/black pushes)或立即回滾功能。如果客戶端有一個BUG,那么從代碼修正到客戶端推送,修復這個BUG的代價將非常之高。Netflix不得不重新與眾多合作商重新對他們的設備進行再次認證,盡管他們的設備可能已經被Netflix認證過,但只要修復版本一推送,這個流程就得重新走一遍,這樣整個項目的時間花費無論是外部還是內部都是十分巨大的。與此同時,用戶對這個BUG將束手無策,隨之而來的便是糟糕的Netflix用戶體驗。那么避免此類問題出現的最好辦法就是:在版本推送之前確保應用的每項測試都能引導到設備之中,然后檢測應用的回歸測試是否達到要求。
這是關于自動測試系統一系列文章中的第一部分,闡述了我們在多個設備上用于自動化功能、性能和壓力測試Netflix SDK的關鍵概念和基礎框架。
期許目標(Aspirational Goals)
多年來,我們使用手動和自動化手段測試Netflix應用程序的經驗告訴我們幾個教訓。 因此,是時候重新設計我們的自動化系統以進入下一個級別和規模,我們需確保將這些定為核心目標。
原文轉自:http://www.anti-gravitydesign.com
低設置成本/高測試“靈活性”(Low setup cost / High test “agility”)
當使用自動化才測試時,測試不應難以創建和/或使用。特別是在能夠簡單地手動運行的測試應該也能在自動化中運行并保持簡單化。這意味著使用自動化工具應該具有接近零的設置成本(如果存在)。確保創建新的測試,和調試現有的測試應該是快速和無縫的,這非常重要。在測試中,這也確保了重點盡可能長地保持在測試和功能上。