iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Software Development

精實30天:QA 概念養成計劃系列 第 23

【D23】實作:測試案例的設計和執行之情境範例

  • 分享至 

  • xImage
  •  

前言

當說明完 Test case 和 TestRail 怎麼實作後,再回到整體專案會如何過呢?我們要如何把測試案例的執行進行完整的操作呢?

實際測試案例

背景

我們團隊負責開發一個新的股票下單 App。我們使用 Jira 來管理測試計劃、測試案例和問題報告,並使用 GitLab 來管理應用程式的原始代碼和持續集成/持續部署(CI/CD)過程。

實例說明

這邊就先以單元測試為例,如果是另外的測試階段,直接套用即可;如果是手動測試,就把自的部分,有就是 Gitlab 變動的 CI/CD 部分改成人工觸發與檢查就行了。

案例說明:

  • 當有新版本時:

當我們的股票下單 App 在 GitLab 中的特定分支(例如:feature/stock-ordering) 上有了新的版本時,我們會啟動測試流程。這個流程包括單元測試,我們使用 GitLab CI/CD 持續整合工具自動執行這些測試。

  • 我們測試團隊的測試流程將會是:

    1. 新版本部署:當新版本的程式碼被合併(merge)到指定分支(feature/stock-ordering)後,GitLab CI/CD 會自動觸發部署到測試環境
    2. 單元測試執行:在測試環境中,我們的測試套件將啟動單元測試,這些測試會根據我們之前設計的測試案例檢查程式碼的個別元件,如函式、類別、模組等是否正常運作。如果單元測試通過,我們會繼續進行整合測試和系統測試。
    3. 測試結果記錄:測試結果將自動記錄在我們的測試管理工具 TestRail 中。對於每個單元測試案例,我們將記錄以下資訊(記錄在 Test run 中):
      • 測試是否通過
      • 測試執行的時間戳記
      • 測試的狀態(通過/失敗)
      • 測試執行的環境訊息
      • 測試案例的描述和預期結果
    4. 問題追蹤:如果在單元測試階段中發現了問題(意思是測試失敗),我們將在 TestRail 中建立新的測試案例(如果需要更多測試案例時),並且建立一個 Jira 的 Bug Issue。這個 Bug Issue 包括了問題的詳細資訊,如何重現問題,問題的嚴重性等等。同時,我們會分配這個問題給相關的開發人員進行修復。

這個流程確保了我們在每個新版本中都進行了單元測試,並在測試不通過時能夠及時記錄和解決問題。這有助於確保我們的股票下單 App 保持高品質並滿足業務需求。

Bug issue 內容

Bug issue 的內容也是一門學問,提供的資料需要精確地表達測試時遇到的問題、環境,以及如何重現問題,而這些資料又不能提供太複雜,導致測試人員會需要很多時間進行撰寫,也會讓開發者花很多時間在解讀內文。因此簡明扼要是個首要的準則。

所以 Bug issue 內的資料會包含著(但不限於這些):

  • 標題 (Title): 清晰而簡潔的描述問題,讓任何人都能快速了解問題的性質。
    • 例子:下單功能失敗 - 股票未正確扣除庫存
    • 說明 (Description): 詳細描述問題,包括問題發生的情境、重現步驟、預期行為和實際觀察到的行為。
    • 例子:
**問題描述:**

當用戶下單一筆購買股票時,應該扣除庫存中的股票數量,但目前並未發生。這導致庫存和交易記錄不一致。

**重現步驟:**
1. 登入股票下單 App
2. 選擇一支股票進行購買,設定價格和數量
3. 點擊下單按鈕

**預期行為:**
購買成功後,應該增加股票的庫存,並記錄交易。

**實際觀察到的行為:**
库存未正確更新,交易記錄也不一致。
  • 重現步驟 (Reproduction Steps): 提供清晰的步驟,以便其他人可以複製問題。
    • 例子:上述描述中的「重現步驟」部分
  • 問題嚴重性 (Severity): 標示著問題的嚴重程度,依據影響的嚴重性,通常會由高到低分成:Critical、Major、Minor 等。
  • 優先順序 (Priority): 標示著該 issue 的處理優先權,專案負責人或是 issue 處理者可以根據重要程度進行工作安排,通常會有的等級優高到低有 High、Medium、Low 等。
  • 環境 (Environment): 描述問題發生的環境,包括操作系统、使用的 app 版本、行動裝置為何等等。
  • 例子:iOS 14.5、股票下單 App 版本 2.1.0
  • 附件 (Attachments): 可添加截圖、log 或其他資訊的附件,以便更好地理解和姐月問提。
  • 負責人 (Assignee): 指定問題的負責人,通常是開發人員或測試人員。
  • 狀態 (Status): 描述問題當前的狀態,例如:待處理、處理中、已解決等等。
  • 建立日期 (Created Date): 問題建立的日期和時間。
  • 評論 (Comments): 可以在問題上添加評論,用於討論問題、提供進一步的資訊或進行協作。

這些資料可以幫助團隊更好地理解問題、重現問題、評估問題的嚴重性和優先順序,以及跟蹤問題的狀態和進展。這些資訊有助於確保問題得到有效地處理和解決。


參考資料


上一篇
【D22】實作:測試案例的設計和執行之測試案例範例
下一篇
【D24】實作:測試結果與反思
系列文
精實30天:QA 概念養成計劃31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言