LinkedIn的軟件測試生命周期
如果我們按時交貨,但產品有缺陷,還是證明我們沒有按時交付。——Philip Crosby
測試生命周期
看看在LinkedIn中測試生命周期是什么樣子的:
1.需求收集
產品團隊定義了功能需求和設計者創建的線框圖。在設計和產品需求文檔(PRD)被創建后,一切都涉及到整個團隊,包括開發人員和測試工程師。
2.測試計劃
在生命周期的下一步是對產品或功能的所有測試,進行計劃,包括:
創建測試計劃
編寫測試用例
按高、中或低的順序進行優先測試用例,這樣他們可以基于項目的范圍運行
舉行一個測試計劃和測試用例評審會議,以確保溝通和充分理解測試范圍
3.功能測試
功能測試和回歸測試在測試計劃完成后開始。這個測試包括:
新功能測試:瀏覽器兼容性測試,使用VMWare(Firefox、Safari、Chrome、IE)。
Bug生命周期:在JIRA提交Bug。對bugs進行修復和驗證。
回歸測試:確保沒有任何現功能壞了(即:不可用)。我們使用自動化測試用例組進行測試。
A / B測試:我們一步一步來發布功能。首先發布到內部組織,然后是公司,所以我們要捕獲所有邊界情況。畢竟錯誤是固定的,我們會慢慢傾斜于我們的用戶。
4.自動化
自動化是并行在功能測試中完成的。我們使用 Selenium with Ruby進行UI自動化和Selenium with Java進行移動版自動化。單元測試也為新功能而寫。在LinkedIn,我們發布一個新特性后,100%自動化時間表就相應計算出來了。
5.回歸運行和CI
我們創建一個持續集成(CI)在Hudson上運行,開始單元測試運行和自動化的回歸測試用例集。為了一個分支通過“GO”的標準,它必須在上述所有取得成功。
6.發布分支的創建
分支的特性確認合格后,與所有其他功能分支合并發布。執行回歸測試和功能測試分支的發布,以確保分支合并之間的兼容性。
7.部署和測試
接著,發布分支被部署到交付的準備環境。執行完整性測試,用不同的措施來保證向后兼容的代碼被推為應用程序和服務。所有發現的問題都需要修復以確保順利部署。測試工程師進行最后一輪回歸和特性測試,開發人員需要查看日志。
8.性能測試
我們的性能團隊要進行JMeter測試,確保功能可以在工作中正常負載。這些測試在測試環境上運行,1/8th 的生產負荷。
9.產品推進
我們密切關注代碼,使其生產方式,確保交付出去的代碼具有良好的質量。這幾乎是可以慶祝的事。
10.監控
我們的工作還沒有完成。我們還需要不斷地通過監控日志和實時圖表,以確保一切都順利工作。
11.補丁(如果需要)
功能運用生產環境中后,我們的客戶服務團隊、產品團隊和工程師會不斷地從我們的網站會從反饋工具中監控到所有客戶的反饋。如果有任何問題,我們試圖盡快修復它們。在大多數情況下,會在24小時內修復。這被稱為hotfixing bug。
在LinkedIn的測試工作
我們的目標是,在LinkedIn中,發揮產品的可用性,提供最優質的產品。作為測試工程師,我可以得到一個良好的睡眠,你要知道在LinkedIn中永遠不會在任何環節對質量進行妥協。
Quality is never an accident; It is always the result of intelligent effort. -- John Ruskin
質量從來不是偶然的,它總是聰明努力的結果。——約翰·拉斯金
posted on 2014-06-11 11:09 順其自然EVO 閱讀(162) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄