除了大大減少人工測試的時間,開發同學借助自動化測試工具,能大膽重構代碼,通過自動化測試來確保重構不影響排版結果,擁抱快速變更的需求。
隨著自動化測試覆蓋的變更版本、測試的書籍數量越來越多,帶來的收益越大。
借助自動化測試流程,對于任何代碼修改而導致樣本書籍、每一頁、每個像素點的排版結果變更,都能夠納入我們的監控,最終達到確保微信讀書排版引擎質量的目的。
目前,自動化測試工具已經投入使用。未來會持續優化、增加特性,以滿足測試、開發同學的需求。
未來工作包括但不限于:
郵件通知:執行腳本得到結果后,如果兩個版本之間的排版結果有差異,通過郵件通知相關同學;另外,排版的性能對比結果也可以生成一份報告,通過郵件通報。
運行速度優化:目前對 20 本書生成排版結果,耗時約 10 分鐘,對比耗時約 2 分鐘??梢赃M一步優化運行速度,爭取覆蓋更多樣本書籍
支持微信讀書安卓版
嘗試應用在其他模塊:對運行預期結果相對固定、測試代價大的功能模塊,可以通過支持測試 scheme,輸出運行結果截圖,以插件的形式接入這一套自動化測試流程。
本文介紹了微信讀書排版引擎的日常修改時,人工測試所面臨的問題,以及為什么需要自動化測試的原因。
然后本文分析了人工測試的流程,以及這些流程改造成自動化的可能性。
最后,介紹了我們整套自動化測試流程,以及應用自動化測試以后所來的好處,最終達到確保微信讀書排版引擎質量的目的。
原文轉自:http://wereadteam.github.io/2016/08/23/Typesetter/