完整流程共 8 個階段,下圖標出每個階段的產出與目前進度。用例設計的展開方式列在它下方:先用測試矩陣、狀態機與互動原型系統化展開,再寫成 BDD 情境,最後交給獨立評審打分。
- 01上下文收集5 個需求來源完成
- 02風險分析8 個風險完成
- 03用例設計19 個情境完成
- 04人工確認等待你確認進行中
- 05腳本生成19 個 @auto 情境尚未開始
- 06執行與修復執行並修正測試尚未開始
- 07代碼審查審查測試與產品碼尚未開始
- 08報告發布結論尚未開始
- 測試矩陣4 張矩陣 · 16 列
- 狀態機6 條轉換
- 互動原型4 個畫面 · 19 個示範
- BDD 情境19 個情境
- 獨立評審93 分
★ 人工確認是整個流程中唯一需要你決定的地方;其他階段由 AI 完成,並由 CLI 檢查放行條件。確認之後才會開始寫自動化測試。
覆蓋摘要
由設計產物自動計算。
驗收範圍
這次要驗收的內容與資料來源。
- dochttps://deephow.com/platform/youtubification-of-operational-knowledge
- dochttps://deephow.com/product-tour(Knowledge thru Video 導覽) 第 8–17 步(截圖 #18–#41)
- dochttps://deephow.com/product-tour(Knowledge thru Video 導覽) 第 19 步(截圖 #43–#46)
- dochttps://deephow.com/product-tour(Knowledge thru Video 導覽) 第 28 步(截圖 #63–#67)
- dochttps://deephow.com/product-tour(Knowledge thru Video 導覽) 第 1–7、29–30 步(截圖 #00–#07、#67–#71)
風險與覆蓋
P0 與 P1 必須被情境覆蓋,或寫明延後的理由。
- R-1P1必填欄位沒填完也能上傳,或填完了卻按不了 Upload作者上傳到錯的地方,或卡住無法上傳TC-1 TC-6 TC-7已覆蓋
- R-2P0工作區群組與工作區對應錯誤,影片放到錯的工作區知識被放到錯的工作區,該看的人看不到TC-4 TC-5 TC-8已覆蓋
- R-3P2選檔後名稱沒有帶入檔名或字數計算錯誤作者要重打名稱,或以為超過上限TC-2 TC-3已覆蓋
- R-4P1上傳後影片沒出現在工作區,或未標示未發布作者找不到影片,或學員看到還沒審核的內容TC-8 TC-9已覆蓋
- R-5P1新增翻譯語言後步驟翻譯缺漏或沒出現非英語學員看不懂步驟TC-10 TC-11 TC-12已覆蓋
- R-6P0發布後狀態沒更新,學員看不到或仍顯示未發布知識無法傳遞給學員TC-12 TC-13 TC-14 TC-15已覆蓋
- R-7P1學員看到的步驟、字卡與字幕和影片不一致學員照錯步驟操作TC-16 TC-17已覆蓋
- R-8P2Q&A 沒有回應或 Comments 空狀態錯誤學員無法提問或留言TC-18 TC-19已覆蓋
測試設計技法
12 種技法逐一判定;不適用必須寫出理由。
成對組合
pairwise · 不適用上傳欄位的組合已在 M-2 決策表展開,獨立因子不足 3 個
併發與重複操作
concurrency · 不適用官網導覽沒有多人同時操作或重複送出的畫面
外部依賴失效
dependency-failure · 不適用官網導覽沒有展示 AI 處理或轉檔失敗的畫面
環境與設定差異
environment · 不適用官網導覽沒有提到方案或設定差異
評審
依評分標準逐項打分;點開每個維度可以看到核對了什麼、為什麼扣分。
及格門檻 85 分 · 共 1 輪評審
- 每條情境都對到官網 product tour 的截圖編號
- 官網沒有示範的錯誤訊息與限制,寫成 4 個待釐清問題
待釐清
需要需求方回答的問題,會影響預期結果。
- 選了不支援的格式、超過 3 GB 或超過 2 小時的影片時,畫面顯示什麼訊息?(官網第 20 張只寫出限制)
- Smart Video 名稱超過 90 字時會怎樣?(官網只顯示計數 0 / 90)
- 名稱清空後 Upload 是否變成不可點?(官網未示範)
- Q&A 回答的內容來源與格式?(官網只顯示處理中的三個狀態)
檢查提醒
不會擋下流程,但值得確認。
- P1 風險 R-4 只有正向用例,建議補負向/邊界/例外情境
- P1 風險 R-7 只有正向用例,建議補負向/邊界/例外情境
每一列是一個要驗證的條件組合。有對應情境的列會標出情境編號;不測的列必須寫明理由。
Upload Video 欄位(官網 #20–#35)
| 欄位 | 輸入 | 預期 | 情境 |
|---|---|---|---|
| 檔案 | mp4(1740412158754.mp4) | 名稱帶入檔名、計數 17 / 90 | TC-2 |
| 名稱 | 改成 Forklift Operation Walkthrough | 計數 30 / 90 | TC-3 |
| Workspace Group | Global | 可選 General、Maintenance | TC-4 |
| Workspace Group | Georgia Plant | No results found. | TC-5 |
| 檔案 | 不支援的格式、超過 3 GB、超過 2 小時 | — | 不測官網只寫出限制,沒有示範被拒時的畫面,已列入待釐清問題 |
| 名稱 | 超過 90 字、清空 | — | 不測官網只顯示計數上限,沒有示範超過或清空,已列入待釐清問題 |
Upload 按鈕啟用條件(決策表,官網 #30、#35)
| 檔案 | 名稱 | 群組 | 工作區 | Upload | 情境 |
|---|---|---|---|---|---|
| 無 | 空 | 未選 | 未選 | 不可點 | TC-1 |
| 有 | 有 | Global | 未選 | 不可點 | TC-6 |
| 有 | 有 | Global | Maintenance | 可點 | TC-7 |
功能中的狀態與轉換。允許的轉換都要有情境走過;系統必須阻擋的轉換也要有負向情境驗證。
Smart Video
只畫出允許的轉換。
flowchart LR
start(("·")):::start
s0("尚未上傳")
s1("已上傳未發布")
s2("已發布")
s3("學員觀看")
start --> s0
s0 -->|"填好必填欄位並按 Upload"| s1
s1_loop("↺ 新增翻譯<br>在 Publish 對話框按 Cancel"):::loop
s1 -.- s1_loop
s1 -->|"在 Publish 對話框按 Publish"| s2
s2 -->|"學員開啟影片"| s3
classDef start fill:#16191a,stroke:#16191a
classDef loop stroke-dasharray:4 3,font-size:12px無法載入狀態圖元件(可能離線),請參考轉換表。
轉換表
允許與應被阻擋的轉換。
在左側點選情境,右側會自動示範該情境的操作與結果;也可以直接在畫面上點擊、輸入,自由走一遍流程。 在新分頁開啟原型 ↗
給 PM 與 RD 對齊的 user story 驗收:主要正向、負向,以及需要 PM 決定的異常與高價值邊界。完整測試範圍見 QA 驗收清單。
上傳後找得到影片
沒選工作區不能上傳
沒加入的群組沒有工作區可選
加上中文翻譯
發布給團隊
發布後不再是未發布
取消發布
學員依步驟觀看
學員提問
QA 測試範圍:每個情境一段,前置條件、操作、預期結果。逐條核對後打勾,勾選只存在你的瀏覽器中。
上傳影片擷取專家知識
作為一個 Smart Video 作者我想要把現場錄好的影片上傳到正確的工作區以便 AI 把它切成步驟,讓團隊取用
開啟上傳與選檔3
從 Create 選單開啟 Upload Video 時顯示檔案限制
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
操作
- 我從 "Create" 選單點 "Upload Video"
預期結果
- 對話框顯示 "File Format: mp4, webm, mov. Max size is 3 GB. Max duration is up to 2 hours"
- "Upload" 無法點擊
選擇影片後名稱自動帶入檔名
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我開啟了 Upload Video 對話框
操作
- 我選擇影片 "1740412158754.mp4"
預期結果
- Smart Video name 為 "1740412158754.mp4"
- 名稱字數顯示 "17 / 90"
修改名稱後字數同步更新
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我開啟了 Upload Video 對話框並選擇影片 "1740412158754.mp4"
操作
- 我把名稱改成 "Forklift Operation Walkthrough"
預期結果
- 名稱字數顯示 "30 / 90"
選擇工作區2
選 Global 群組後可以選 General 或 Maintenance
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我開啟了 Upload Video 對話框
操作
- 我在 Workspace Group 選 "Global" 並展開 Add to Workspace
預期結果
- 可選的工作區為 "General" 與 "Maintenance"
選 Georgia Plant 群組時沒有可上傳的工作區
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我開啟了 Upload Video 對話框
操作
- 我在 Workspace Group 選 "Georgia Plant" 並展開 Add to Workspace
預期結果
- 工作區清單顯示 "No results found."
送出上傳4
還沒選工作區時不能上傳
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我開啟了 Upload Video 對話框並選擇影片 "1740412158754.mp4"
操作
- 我在 Workspace Group 選 "Global" 但沒有選工作區
預期結果
- "Upload" 無法點擊
必填欄位都填好後可以上傳
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我開啟了 Upload Video 對話框並選擇影片 "1740412158754.mp4"
操作
- 我把名稱改成 "Forklift Operation Walkthrough" 並選擇 "Global" 的 "Maintenance"
預期結果
- "Upload" 可以點擊
上傳成功後提示影片將出現在 Maintenance
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我填好名稱 "Forklift Operation Walkthrough" 並選擇 "Global" 的 "Maintenance"
操作
- 我按 "Upload"
預期結果
- 顯示 "Success!" 與 "Your video will be available in the [Maintenance] workspace momentarily."
上傳後影片出現在工作區並標示未發布
前置條件
- 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video
- 我上傳了 "Forklift Operation Walkthrough" 到 "Global" 的 "Maintenance"
操作
- 我在成功提示按 "Okay"
預期結果
- 工作區顯示 "9 Smart Videos"
- 第一張卡片為 "Forklift Operation Walkthrough" 並標示 "UNPUBLISHED"
翻譯並發布給團隊
作為一個 Smart Video 作者我想要為影片加上其他語言並發布以便不同語言的同仁都能學到這個作業
翻譯2
還沒有翻譯時提示可以新增語言
前置條件
- "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布
操作
- 我開啟這支影片的 Translations
預期結果
- 顯示 "Click here to add a new language to your video"
新增 Chinese (Traditional) 後出現逐步翻譯
前置條件
- "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布
操作
- 我開啟這支影片的 Translations 並新增 "Chinese (Traditional)"
預期結果
- 翻譯標題為 "堆高機操作演練"
- 翻譯第 "1" 步為 "操作 Skyjack 剪式升降機"
發布4
發布前對話框顯示已指派的翻譯數
前置條件
- "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布
- 這支影片已有 "Chinese (Traditional)" 與 "Spanish-MX" 翻譯
操作
- 我按 "Publish"
預期結果
- 對話框顯示 "Are you sure you want to Publish this Smart Video?"
- 對話框顯示 "2 Translations assigned"
確認發布後顯示發布成功
前置條件
- "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布
操作
- 我按 "Publish" 並在對話框確認
預期結果
- 顯示 "Your Smart Video was successfully published."
- 顯示 "Transcoding is in process."
發布後工作區卡片不再標示未發布
前置條件
- "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布
- 我已確認發布這支影片
操作
- 我回到 "Global / Maintenance" 工作區
預期結果
- "Forklift Operation Walkthrough" 的卡片沒有 "UNPUBLISHED" 標示
在發布對話框按取消時影片仍未發布
前置條件
- "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布
操作
- 我按 "Publish" 後在對話框按 "Cancel"
預期結果
- Editor 標題旁仍顯示 "Unpublished"
學員觀看專家知識
作為一位現場學員我想要依步驟觀看專家影片並提問以便照正確的步驟完成作業
步驟2
Steps 分頁列出步驟名稱與長度
前置條件
- "Forklift Operation Walkthrough" 已發布到 "Global / Maintenance"
- 我開啟這支影片
操作
- 我切到 "Steps" 分頁
預期結果
- 第 "2" 步為 "Enter the List",長度 "00:06"
- 第 "6" 步為 "Control Motion with Joystick",長度 "00:56"
播放時畫面顯示目前步驟的字卡
前置條件
- "Forklift Operation Walkthrough" 已發布到 "Global / Maintenance"
- 我開啟這支影片
操作
- 我從頭播放影片
預期結果
- 畫面顯示步驟字卡 "01 Operate Skyjack Scissor Lift"
提問與留言2
在 Q&A 送出問題後顯示 AI 正在處理
前置條件
- "Forklift Operation Walkthrough" 已發布到 "Global / Maintenance"
- 我開啟這支影片
操作
- 我在 "Q&A" 輸入 "How do I stop the lift?" 並送出
預期結果
- 顯示 "Doing research..."
還沒有留言時 Comments 顯示空狀態
前置條件
- "Forklift Operation Walkthrough" 已發布到 "Global / Maintenance"
- 我開啟這支影片
操作
- 我切到 "Comments" 分頁
預期結果
- 顯示 "No comments yet..." 與 "Make the first comment below"
沒有符合篩選條件的情境。
以下 Gherkin 是用例的原文,確認後會直接轉成自動化測試。
步驟顏色
Given、When、Then 各用一種顏色,一眼分出前置、操作與結果。
Tag 說明
CLI 依 tag 做覆蓋檢查。
| 套件 | @regression 每個情境都要有;核心正向流程再加 @smoke |
| 執行 | @auto 代表可以自動化;沒有 @auto 就是人工驗收 |
| 性質 | @邊界 只標臨界值、資源耗盡、競態、故障這類極端情境 |
| 描述 | 其餘中文 tag 描述頁面與情境條件,例如 @登入頁面 @密碼錯誤 |
| 編號 | 情境編號、優先級與風險記在 design.json,不放進 tag |
# 註:依據為官網 product-tour「Knowledge thru Video」第 8–17 步(截圖 #18–#41);導覽沒有示範錯誤訊息,用例不驗證訊息文字Feature: 上傳影片擷取專家知識 作為一個 Smart Video 作者 我想要把現場錄好的影片上傳到正確的工作區 以便 AI 把它切成步驟,讓團隊取用 Background: Given 我在 "Global / Maintenance" 工作區,目前有 "8" 支 Smart Video # ############################################ # 開啟上傳與選檔 # ############################################ @UploadVideo對話框 @smoke @regression @auto @開啟上傳 Scenario: 從 Create 選單開啟 Upload Video 時顯示檔案限制 When 我從 "Create" 選單點 "Upload Video" Then 對話框顯示 "File Format: mp4, webm, mov. Max size is 3 GB. Max duration is up to 2 hours" And "Upload" 無法點擊 @UploadVideo對話框 @regression @auto @帶入檔名 Scenario: 選擇影片後名稱自動帶入檔名 Given 我開啟了 Upload Video 對話框 When 我選擇影片 "1740412158754.mp4" Then Smart Video name 為 "1740412158754.mp4" And 名稱字數顯示 "17 / 90" @UploadVideo對話框 @regression @auto @修改名稱 Scenario: 修改名稱後字數同步更新 Given 我開啟了 Upload Video 對話框並選擇影片 "1740412158754.mp4" When 我把名稱改成 "Forklift Operation Walkthrough" Then 名稱字數顯示 "30 / 90" # ############################################ # 選擇工作區 # ############################################ @UploadVideo對話框 @regression @auto @Global工作區 Scenario: 選 Global 群組後可以選 General 或 Maintenance Given 我開啟了 Upload Video 對話框 When 我在 Workspace Group 選 "Global" 並展開 Add to Workspace Then 可選的工作區為 "General" 與 "Maintenance" @UploadVideo對話框 @regression @auto @沒有工作區 Scenario: 選 Georgia Plant 群組時沒有可上傳的工作區 Given 我開啟了 Upload Video 對話框 When 我在 Workspace Group 選 "Georgia Plant" 並展開 Add to Workspace Then 工作區清單顯示 "No results found." # ############################################ # 送出上傳 # ############################################ @UploadVideo對話框 @regression @auto @缺少工作區 Scenario: 還沒選工作區時不能上傳 Given 我開啟了 Upload Video 對話框並選擇影片 "1740412158754.mp4" When 我在 Workspace Group 選 "Global" 但沒有選工作區 Then "Upload" 無法點擊 @UploadVideo對話框 @regression @auto @必填齊全 Scenario: 必填欄位都填好後可以上傳 Given 我開啟了 Upload Video 對話框並選擇影片 "1740412158754.mp4" When 我把名稱改成 "Forklift Operation Walkthrough" 並選擇 "Global" 的 "Maintenance" Then "Upload" 可以點擊 @UploadVideo對話框 @smoke @regression @auto @上傳成功 Scenario: 上傳成功後提示影片將出現在 Maintenance Given 我填好名稱 "Forklift Operation Walkthrough" 並選擇 "Global" 的 "Maintenance" When 我按 "Upload" Then 顯示 "Success!" 與 "Your video will be available in the [Maintenance] workspace momentarily." @工作區影片清單 @smoke @regression @auto @出現在工作區 Scenario: 上傳後影片出現在工作區並標示未發布 Given 我上傳了 "Forklift Operation Walkthrough" 到 "Global" 的 "Maintenance" When 我在成功提示按 "Okay" Then 工作區顯示 "9 Smart Videos" And 第一張卡片為 "Forklift Operation Walkthrough" 並標示 "UNPUBLISHED"
# 註:依據為官網 product-tour「Knowledge thru Video」第 19 步(截圖 #43–#46)與第 28–29 步(截圖 #63–#67)Feature: 翻譯並發布給團隊 作為一個 Smart Video 作者 我想要為影片加上其他語言並發布 以便不同語言的同仁都能學到這個作業 Background: Given "Forklift Operation Walkthrough" 已上傳到 "Global / Maintenance" 且尚未發布 # ############################################ # 翻譯 # ############################################ @Translations面板 @regression @auto @尚無翻譯 Scenario: 還沒有翻譯時提示可以新增語言 When 我開啟這支影片的 Translations Then 顯示 "Click here to add a new language to your video" @Translations面板 @smoke @regression @auto @新增翻譯 Scenario: 新增 Chinese (Traditional) 後出現逐步翻譯 When 我開啟這支影片的 Translations 並新增 "Chinese (Traditional)" Then 翻譯標題為 "堆高機操作演練" And 翻譯第 "1" 步為 "操作 Skyjack 剪式升降機" # ############################################ # 發布 # ############################################ @Publish對話框 @regression @auto @發布確認 Scenario: 發布前對話框顯示已指派的翻譯數 Given 這支影片已有 "Chinese (Traditional)" 與 "Spanish-MX" 翻譯 When 我按 "Publish" Then 對話框顯示 "Are you sure you want to Publish this Smart Video?" And 對話框顯示 "2 Translations assigned" @Publish對話框 @smoke @regression @auto @發布成功 Scenario: 確認發布後顯示發布成功 When 我按 "Publish" 並在對話框確認 Then 顯示 "Your Smart Video was successfully published." And 顯示 "Transcoding is in process." @工作區影片清單 @smoke @regression @auto @發布後卡片 Scenario: 發布後工作區卡片不再標示未發布 Given 我已確認發布這支影片 When 我回到 "Global / Maintenance" 工作區 Then "Forklift Operation Walkthrough" 的卡片沒有 "UNPUBLISHED" 標示 @Publish對話框 @regression @auto @取消發布 Scenario: 在發布對話框按取消時影片仍未發布 When 我按 "Publish" 後在對話框按 "Cancel" Then Editor 標題旁仍顯示 "Unpublished"
# 註:依據為官網 product-tour「Knowledge thru Video」第 1–7 步(截圖 #00–#07)與第 29–30 步(截圖 #67–#71)Feature: 學員觀看專家知識 作為一位現場學員 我想要依步驟觀看專家影片並提問 以便照正確的步驟完成作業 Background: Given "Forklift Operation Walkthrough" 已發布到 "Global / Maintenance" And 我開啟這支影片 # ############################################ # 步驟 # ############################################ @學員播放器 @smoke @regression @auto @步驟清單 Scenario: Steps 分頁列出步驟名稱與長度 When 我切到 "Steps" 分頁 Then 第 "2" 步為 "Enter the List",長度 "00:06" And 第 "6" 步為 "Control Motion with Joystick",長度 "00:56" @學員播放器 @regression @auto @步驟字卡 Scenario: 播放時畫面顯示目前步驟的字卡 When 我從頭播放影片 Then 畫面顯示步驟字卡 "01 Operate Skyjack Scissor Lift" # ############################################ # 提問與留言 # ############################################ @學員播放器 @regression @auto @Q&A提問 Scenario: 在 Q&A 送出問題後顯示 AI 正在處理 When 我在 "Q&A" 輸入 "How do I stop the lift?" 並送出 Then 顯示 "Doing research..." @學員播放器 @regression @auto @邊界 @沒有留言 Scenario: 還沒有留言時 Comments 顯示空狀態 When 我切到 "Comments" 分頁 Then 顯示 "No comments yet..." 與 "Make the first comment below"