在 微信讀書 App 中,排版引擎負責解析 EPUB 或 TXT 格式的書籍源文件,將排版后的書籍內容如文字、圖像、注解等元素渲染至屏幕上,是最常用、最復雜的組件之一。
而開發同學對排版引擎的日常修改,可能影響了海量書籍的排版結果。對排版引擎代碼變更的測試,往往耗時多、難度大、容易漏測。本文介紹了為解決測試的難題,如何逐步將人工測試步驟自動化,最終構建了一套微信讀書排版引擎自動化測試流程,以確保微信讀書排版引擎的質量。
為了獲得極致的閱讀體驗,產品同學經常會提出細致的排版需求,交給開發同學修改。而排版引擎的修改,往往牽一發動全身,可能導致書城上萬本書籍排版結果受影響。
舉個例子,有個需求是增加正文段落的 margin:
再舉個極端的例子,有個需求要把章節標題往右移動1個像素:
那么,如何確保微信讀書的排版質量?最開始,我們用人工測試的方法來確保質量。
當開發按需求修改排版引擎、自測后,會把代碼提交到 svn,然后交給測試同學進行測試。
原文轉自:http://wereadteam.github.io/2016/08/23/Typesetter/