前端自動化測試解決方案探析

發表于:2016-11-23來源:ouven作者:ouven點擊數: 標簽:前端
前端測試一直是前端項目開發過程中機器重要的一個環節,高效的測試方法可以減少我們進行代碼自測的時間,提高我們的開發效率,如果你的代碼涉及的測試用例較多,而且項目需要

前端測試一直是前端項目開發過程中機器重要的一個環節,高效的測試方法可以減少我們進行代碼自測的時間,提高我們的開發效率,如果你的代碼涉及的測試用例較多,而且項目需要長期維護,這時就可以考慮使用一下自動化測試了。

一、前端自動化測試

  前端自動化測試一般是指是在預設條件下運行前端頁面或邏輯模塊,評估運行結果。預設條件應包括正常條件和異常條件,以達到自動運行測試過程、減少或避免人工干預測試的目的。在前端自動化測試中,我們通常是通過不同的工具來解決不同場景下不同的問題的。就測試類型來看,主要分為BDD(Bebavior Driven Developement,行為驅動測試)和TDD(Testing Driven Developement,測試驅動開發)。BDD可以讓項目成員(甚至是不懂編程的)使用自然描述語言來描述系統功能和業務邏輯,從而根據這些描述步驟進行系統自動化的測試;TDD則要求在編寫某個功能的代碼之前先編寫測試代碼,然后只編寫使測試通過的功能代碼,通過測試來推動整個開發的進行。這有助于編寫簡潔可用和高質量的代碼,并加速實際開發過程

  BDD和TDD均有各自的適用場景,BDD一般更偏向于系統功能和業務邏輯的自動化測試設計,而TDD在快速開發并測試功能模塊的過程中則更加高效,以快速完成開發為目的。下面我們看下BDD和TDD具體的特點:

BDD的特點: - 從業務邏輯的角度定義具體的輸入與預期輸出,以及可衡量的目標; - 盡可能覆蓋所有的測試用例情況; - 描述一系列可執行的行為,根據業務的分析來定義預期輸出。例如,expect, should, assert; - 設定關鍵的測試通過節點輸出提示,便于測試人員理解; - 最大程度的交付出符合用戶期望的產品,避免輸出不一致帶來的問題。

TDD的特點: - 需求分析,快速編寫對應的輸入輸出測試腳本; - 實現代碼讓測試為成功; - 重構,然后重復測試,最終讓程序符合所有要求。

二、單元測試解決方案

  就前端而言,單元測試的實現工具比較多。主要有mocha,jasmine和qunit。我們先來看看使用mocha是怎樣實現單元測試的。

  • mocha

  mocha的特點是簡單可擴展、支持瀏覽器和Node、支持同步和異步、支持連續用例測試。測試集,以函數describe(string, function)封裝;測試用例,以it(string, function)函數封裝,它包含2個參數;斷言,以assert語句表示,返回true或false。另外,mocha在完成異步測試用例時通過done()來標記。

原文轉自:http://jixianqianduan.com/frontend-javascript/2016/11/22/front-end-auto-test.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97