• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 微信讀書排版引擎自動化測試方案(2)

    發表于:2017-03-10來源:WeRead團隊博客作者:WeRead點擊數: 標簽:微信
    測試同學使用持續集成工具編譯打包,得到排版引擎修改后的 App 安裝包;然后在兩臺設備安裝排版引擎修改前、后兩個版本的 App,同時打開需要測試的書

    測試同學使用持續集成工具編譯打包,得到排版引擎修改后的 App 安裝包;然后在兩臺設備安裝排版引擎修改前、后兩個版本的 App,同時打開需要測試的書籍,翻頁,對比,通過肉眼觀察排版差異是否符合預期。

    人工測試方法比較耗時,需要打開每本書,一頁一頁地翻頁、對比,而且無法覆蓋很多書籍,存在漏測的風險。

    另外,通過人眼檢查兩臺設備上的排版結果有沒有差異,是很困難的任務,一是容易疲憊導致判斷失誤,二是對細致的排版變更(如第二個例子)很難判斷是否符合預期。

    為什么需要自動化測試?

    前面提到,人工測試費時耗力,且容易漏測。

    此外,排版需求的特點是細節多、變更快,且修改影響范圍大,全網書籍上萬本,無法一一驗證。一旦出錯,直接影響口碑。這些因素都增加了人工測試的工作量和壓力。

    除了精細化的排版需求會對排版引擎代碼做修改,在日常的維護中,也會重構排版引擎、修改排版引擎相關但不影響排版結果的代碼。每次重構、修改后,也會交給測試同學驗證此次修改對排版結果沒有影響。由于人工測試比較耗時、無法一一驗證,每次重構排版引擎代碼壓力很大,輕易不敢改動。

    還有一種情況,是在開發其他需求、修復缺陷時,意外地導致排版結果受影響。這種錯誤一旦發布到現網,后果很嚴重。

    所以,把人工測試流程自動化十分有必要。自動化以后,可以大大減少人工測試的時間,同時方便開發同學自測。開發同學對排版引擎也可以大膽重構、持續改進代碼質量。最終,達到確保排版引擎質量的目的。

    如何自動化測試?

    首先,我們要分析一下,在人工測試中,主要有哪些步驟?每個步驟是否能自動化?

    在人工測試中,對每次變更的測試,有步驟如下:

    1. 需要把變更前、變更后的 App 包安裝到兩臺設備
    2. 打開 App,登錄,把要測試的書購買、加入到書架
    3. 打開要測試的書,設置排版偏好,翻頁,用眼睛查看屏幕上的排版結果,對比屏幕中的排版結果是否有差異
    4. 如果有差異,根據需求判斷差異是否符合預期

    其中步驟 1、2 利用自動化測試工具是比較容易完成的。步驟 3 借助算法能夠使其自動化,會在后面詳細展開。步驟 4 自動化的難度比較大,可能需要借助非常高階的人工智能完成,我們把這個步驟交給測試和開發同學。

    原文轉自:http://wereadteam.github.io/2016/08/23/Typesetter/

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>