Mars's Blog

開發及測試要點

開發及測試要點

一、說明

軟體開發/維護,離開不了測試,產品品質不但直接影響用戶體驗,更代表著企業形像、信譽,極為重要。

二、RD開發及測試要點

  • 必需知道「原由」 (故事)
  • 必需有明確「開發目標」 (案例)
  • 必需拆解出「工作項目」
  • 每個「工作項目」應有對應的「測試項目」
  • 測試項目應需有明確敘述
    • 環境: 如有前置環境,請描述如何建構測試環境
    • 5W1H: 對象(What)、目的(Why)、位置(Where)、時間/步驟(When)、人員(Who)、方法(How)
    • 對與錯: 測試正確性時,什麼狀況為「正確」;測試錯誤狀態時,什麼狀況為「錯誤」
  • 所有改動的影響,必需親自測試一次
    • QA難以測試的,需在RD內部做「白箱測試」
    • 需大量資料比對的,需編寫測試工具

故事 <=> 案例 <=> 工作項目 <=> 測試項目

三、QA測試要點

  • 必需知道「原由」 (故事)
  • 必需有明確「測試目標」 (案例)
  • 需了解「原由」、「測試目標」、「工作項目」、「測試項目」之間的關係
  • 精確測試與模糊測試
    • 精確測試
      • 必需要求RD條列測試項目,如果測試複雜,還要步驟化環境建置
      • 必需要求RD說明改動影響
        • 功能、頁面、按鈕、表單欄位、錯誤訊息、流程
    • 模糊測試
      • 自行評估可能影響並設計測試項目
      • 請「限時」測試

        精確測試必需100%完成,模糊測試取重點完成

  • 評估本案對使用者影響或使用者可能遇到的狀況

QA是RD與User間的橋樑,不但需要求程式正確性,還需注意使用者體驗
QA的全名為Quality Assurance engineer,即品質保證工程師,其中最核心的任務並非是測試,而是保證產品交付的品質

四、測試分類

  • 邏輯行為正確性
    • 步驟(Create, Read, Update, Delete, Search, Export, Import)
  • 資料正確性
    • 資料內容、計算規則、計算數值
  • 畫面正確性
    • 前端顯示內容、版面、順序、習慣
  • 錯誤訊息
    • 錯誤訊息處理&顯示
  • 自動化測試
    • 前端自動化測試
      • 行為測試(BDD)
    • 後端自動化測試
      • 單元測試(unit test)
      • 功能測試(function test)

五、參考

六、Log

  • 2019-04: Mars Hung編寫於HackMD
  • 2019-08-01: Mars Hung重製成md檔