# Hermes in the Making - 測試項目規劃 ## 測試環境資訊 ### 測試站點 - **前台**: https://liff.line.me/2003848642-oxGw8ZgW/exhibition/hermesinthemaking - **後台**: https://line-uat.hermes.com/admin - **Figma設計稿**: https://www.figma.com/design/pKKTyIMKSWVlqZsf9LnZX4/RD_Hermes_HITM-Reservation-improve?node-id=61-2&t=dYemsIC4o2jhmvzD-1 ### 測試帳號 | 角色 | 帳號 | 密碼 | 權限說明 | |------|------|------|----------| | Admin | uat-498134@imagtw.com | mGocRx4Vj7 | 所有權限 | | Staff | staff-test@mail.com | RI4q38+sYj | 報到系統 | | SA | sa-test@mail.com | u0Y*dqkRls | VIP預約、預約查詢(僅VIP) | | Staff Head | staff-head-test@mail.com | @9!+YGOuoW | 預約查詢(全部)、報到系統<br>(需手機驗證) | --- ## 業務規則說明 ### 活動預約規則 #### 1. 匠心工坊 - 1人預約1場 - 1人可預約2張票 - 可分票給朋友 - **前置條件**: 無(首次進入即可預約) #### 2. 馬鞍針縫 - 1人預約1場 - 1人可預約2張票 - 可分票給朋友 - **前置條件**: 必須先預約或領取「匠心工坊」票券 #### 3. 全球足跡 - 1天可預約1場 - 1人可預約2張票 - 可分票給朋友 - **前置條件**: 無(首次進入即可預約) ### OTP驗證規則 - 當user沒有關閉Liff或重新整理的情況下,可以不用重複驗證手機OTP ### 分票規則 - 被分票的人可以重複被多人分票 - 有取得1張分票,就視同已經有了匠心工坊票,能解鎖馬鞍針縫預約 - 自己也可以再預約1場 - 被分票的人領取朋友的票,不用經過手機OTP驗證 ### 通知訊息類型 1. 預約完成 2. 前一天活動通知 3. 預約分享 4. 取消預約 (sender) 5. 取消預約 (receiver) 6. 退還票券 (sender) 7. 退還票券 (receiver) 8. 不達活動條件被取消文案 (sender) --- ## 測試項目規劃 ### 【模組一】使用者註冊與登入 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-001 | 首次進入Liff - 已加入OA好友 | 1. 已加入Hermes LINE OA<br>2. 點擊Liff連結<br>3. 進行手機OTP驗證 | 成功進入系統首頁 | P0 | | TC-002 | 首次進入Liff - 未加入OA好友 | 1. 未加入Hermes LINE OA<br>2. 點擊Liff連結<br>3. 提示加入好友<br>4. 加入好友後<br>5. 進行手機OTP驗證 | 成功加入好友並進入系統 | P0 | | TC-003 | OTP驗證 - 正確驗證碼 | 1. 輸入手機號碼<br>2. 接收OTP<br>3. 輸入正確OTP | 驗證成功,進入系統 | P0 | | TC-004 | OTP驗證 - 錯誤驗證碼 | 1. 輸入手機號碼<br>2. 接收OTP<br>3. 輸入錯誤OTP | 顯示錯誤訊息,要求重新輸入 | P1 | | TC-005 | OTP驗證 - 重複驗證測試 | 1. 完成OTP驗證<br>2. 不關閉/重新整理Liff<br>3. 操作系統功能 | 不需要重複驗證OTP | P1 | | TC-006 | OTP驗證 - 重新整理後 | 1. 完成OTP驗證<br>2. 重新整理頁面 | 需要重新進行OTP驗證 | P2 | --- ### 【模組二】一般預約功能 #### 2.1 匠心工坊預約 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-101 | 首次預約匠心工坊 - 1張票 | 1. 首次進入系統<br>2. 選擇匠心工坊<br>3. 選擇場次<br>4. 選擇1張票<br>5. 確認預約 | 1. 預約成功<br>2. 收到「預約完成」通知<br>3. 解鎖馬鞍針縫預約 | P0 | | TC-102 | 首次預約匠心工坊 - 2張票 | 1. 首次進入系統<br>2. 選擇匠心工坊<br>3. 選擇場次<br>4. 選擇2張票<br>5. 確認預約 | 1. 預約成功<br>2. 收到「預約完成」通知<br>3. 解鎖馬鞍針縫預約<br>4. 可進行分票 | P0 | | TC-103 | 重複預約匠心工坊 | 1. 已預約過匠心工坊<br>2. 嘗試再次預約匠心工坊 | 系統提示已預約,無法重複預約 | P0 | | TC-104 | 查看匠心工坊可預約場次 | 1. 進入匠心工坊預約頁面<br>2. 查看所有場次 | 正確顯示可預約和已滿場次 | P1 | | TC-105 | 預約已滿場次 | 1. 選擇已滿的場次<br>2. 嘗試預約 | 系統提示該場次已滿 | P1 | #### 2.2 馬鞍針縫預約 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-201 | 未預約匠心工坊 - 嘗試預約馬鞍針縫 | 1. 首次進入系統<br>2. 未預約匠心工坊<br>3. 嘗試點擊馬鞍針縫 | 系統鎖定或提示需先預約匠心工坊 | P0 | | TC-202 | 已預約匠心工坊 - 預約馬鞍針縫 | 1. 已預約匠心工坊<br>2. 選擇馬鞍針縫<br>3. 選擇場次<br>4. 選擇1張票<br>5. 確認預約 | 1. 預約成功<br>2. 收到「預約完成」通知 | P0 | | TC-203 | 領取分票 - 預約馬鞍針縫 | 1. 領取他人分享的匠心工坊票<br>2. 未自己預約過匠心工坊<br>3. 嘗試預約馬鞍針縫 | 成功解鎖,可預約馬鞍針縫 | P0 | | TC-204 | 馬鞍針縫預約 - 2張票 | 1. 已解鎖馬鞍針縫<br>2. 選擇場次<br>3. 選擇2張票<br>4. 確認預約 | 1. 預約成功<br>2. 收到「預約完成」通知<br>3. 可進行分票 | P0 | | TC-205 | 重複預約馬鞍針縫 | 1. 已預約過馬鞍針縫<br>2. 嘗試再次預約 | 系統提示已預約,無法重複預約 | P0 | #### 2.3 全球足跡預約 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-301 | 首次預約全球足跡 | 1. 首次進入系統<br>2. 選擇全球足跡<br>3. 選擇場次(當天)<br>4. 選擇票數<br>5. 確認預約 | 1. 預約成功<br>2. 收到「預約完成」通知 | P0 | | TC-302 | 當天重複預約全球足跡 | 1. 已預約當天某場次<br>2. 嘗試預約當天其他場次 | 系統提示當天已預約,無法重複預約 | P0 | | TC-303 | 次日預約全球足跡 | 1. 已預約第一天場次<br>2. 第二天嘗試預約 | 可成功預約第二天場次 | P0 | | TC-304 | 連續多日預約全球足跡 | 1. 第一天預約成功<br>2. 第二天預約成功<br>3. 第三天預約成功 | 每天都可成功預約一場 | P1 | | TC-305 | 全球足跡 - 2張票分票 | 1. 預約2張票<br>2. 分享1張給朋友 | 分票成功,朋友可領取 | P1 | --- ### 【模組三】分票流程 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-401 | 分票功能 - 基本流程 | 1. User A預約匠心工坊2張票<br>2. User A選擇分享1張<br>3. 生成分享連結<br>4. User B點擊連結<br>5. User B領取票券 | 1. User A剩1張票<br>2. User B獲得1張票<br>3. User B解鎖馬鞍針縫<br>4. User A和B都收到通知 | P0 | | TC-402 | 分票 - 不需OTP驗證 | 1. User A分享票券給User B<br>2. User B點擊分享連結<br>3. 觀察驗證流程 | User B不需要手機OTP驗證即可領取 | P0 | | TC-403 | 被分票者自行預約 | 1. User B領取User A的分票<br>2. User B自行預約匠心工坊 | User B可成功再預約1場匠心工坊 | P0 | | TC-404 | 重複被分票 | 1. User A分票給User C<br>2. User B也分票給User C<br>3. User C領取兩張分票 | User C可成功領取多人的分票 | P1 | | TC-405 | 分票連結過期 | 1. User A分享票券<br>2. User A取消預約<br>3. User B使用過期連結 | 系統提示連結已失效 | P1 | | TC-406 | 分票 - 馬鞍針縫解鎖驗證 | 1. User B從未預約匠心工坊<br>2. User B領取User A的匠心工坊分票<br>3. User B查看馬鞍針縫選項 | 馬鞍針縫已解鎖,可預約 | P0 | | TC-407 | 分享馬鞍針縫票券 | 1. User A預約馬鞍針縫2張票<br>2. User A分享1張給User D<br>3. User D領取 | 分票成功,雙方收到通知 | P1 | | TC-408 | 分享全球足跡票券 | 1. User A預約全球足跡2張票<br>2. User A分享1張給User E<br>3. User E領取 | 分票成功,雙方收到通知 | P1 | --- ### 【模組四】分票取消流程 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-501 | 分票後取消預約 - 連鎖取消 | 1. User A預約匠心工坊2張,分1張給User B<br>2. User A和User B都預約了馬鞍針縫<br>3. User A取消匠心工坊預約 | 1. User A的匠心工坊和馬鞍針縫都被取消<br>2. User B的匠心工坊和馬鞍針縫都被取消<br>3. User A收到「不達活動條件被取消」通知<br>4. User B收到「取消預約(receiver)」通知 | P0 | | TC-502 | 僅取消馬鞍針縫 - 不影響匠心工坊 | 1. User A預約匠心工坊並分票<br>2. User A取消馬鞍針縫預約 | 只取消馬鞍針縫,匠心工坊分票不受影響 | P1 | | TC-503 | 接收者取消分票前的馬鞍針縫 | 1. User B領取分票後預約馬鞍針縫<br>2. User B取消馬鞍針縫 | 馬鞍針縫取消,匠心工坊分票保留 | P1 | | TC-504 | 取消通知訊息驗證 - Sender | 1. User A取消預約<br>2. 檢查User A收到的通知 | 收到正確的Flex msg(sender版本) | P1 | | TC-505 | 取消通知訊息驗證 - Receiver | 1. User A取消預約(有分票給User B)<br>2. 檢查User B收到的通知 | 收到正確的Flex msg(receiver版本) | P1 | --- ### 【模組五】退票流程 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-601 | 退還分票 - 基本流程 | 1. User B領取User A的分票<br>2. User B決定退票<br>3. User B點擊取消<br>4. 確認退票 | 1. User B的票取消<br>2. User A可再次分享<br>3. User A收到「退還票券(sender)」通知<br>4. User B收到「退還票券(receiver)」通知 | P0 | | TC-602 | 退票後重新分享 | 1. User B退還分票給User A<br>2. User A重新分享給User C<br>3. User C領取 | User C成功領取票券 | P0 | | TC-603 | 退票後馬鞍針縫狀態 | 1. User B領取分票後預約馬鞍針縫<br>2. User B退還匠心工坊分票<br>3. 檢查馬鞍針縫狀態 | User B的馬鞍針縫預約被取消 | P0 | | TC-604 | 退票通知驗證 - Sender | 1. User B退票<br>2. 檢查User A的通知 | User A收到正確的退還票券通知 | P1 | | TC-605 | 退票通知驗證 - Receiver | 1. User B退票<br>2. 檢查User B的通知 | User B收到正確的退還票券通知 | P1 | | TC-606 | 重複退票 | 1. User B領取並退票一次<br>2. User A重新分享<br>3. User B再次領取<br>4. User B再次退票 | 兩次退票都成功 | P2 | --- ### 【模組六】VIP預約功能 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-701 | SA後台建立VIP預約 | 1. SA登入後台<br>2. 選擇VIP預約功能<br>3. 輸入VIP資訊<br>4. 選擇活動和場次<br>5. 確認預約 | 1. 預約建立成功<br>2. VIP收到簡訊 | P0 | | TC-702 | VIP領取票券 - 已加入OA | 1. VIP收到簡訊<br>2. VIP已加入Hermes OA<br>3. 點擊簡訊連結<br>4. 輸入手機號碼綁定<br>5. 進入Liff | 1. 綁定成功<br>2. 成功領取票券<br>3. 票券顯示在系統中 | P0 | | TC-703 | VIP領取票券 - 未加入OA | 1. VIP收到簡訊<br>2. VIP未加入Hermes OA<br>3. 點擊簡訊連結<br>4. 提示加入好友<br>5. 加入好友<br>6. 輸入手機號碼綁定<br>7. 進入Liff | 1. 成功加入OA<br>2. 綁定成功<br>3. 成功領取票券 | P0 | | TC-704 | VIP簡訊內容驗證 | 1. SA建立VIP預約<br>2. 檢查VIP收到的簡訊 | 簡訊包含正確的綁定連結和活動資訊 | P1 | | TC-705 | 錯誤手機號碼綁定 | 1. VIP點擊簡訊連結<br>2. 輸入錯誤的手機號碼 | 系統提示號碼不符,無法綁定 | P1 | | TC-706 | VIP預約多場活動 | 1. SA為同一VIP預約匠心工坊<br>2. SA為同一VIP預約馬鞍針縫<br>3. VIP綁定領取 | VIP可看到所有預約的票券 | P1 | | TC-707 | SA查詢VIP預約記錄 | 1. SA登入後台<br>2. 進入預約查詢<br>3. 查看VIP預約 | 可正確顯示所有VIP預約記錄 | P2 | --- ### 【模組七】後台報到系統 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-801 | Staff報到 - 掃描QR Code | 1. Staff登入報到系統<br>2. User出示票券QR Code<br>3. Staff掃描QR Code | 1. 報到成功<br>2. User票券顯示「已核銷」 | P0 | | TC-802 | Staff報到 - 手動輸入 | 1. Staff登入報到系統<br>2. 手動輸入User票券編號<br>3. 確認報到 | 報到成功,票券狀態更新 | P1 | | TC-803 | 重複報到驗證 | 1. User已完成報到<br>2. Staff再次掃描同一票券 | 系統提示已報到,無法重複核銷 | P0 | | TC-804 | 報到統計查詢 | 1. Staff登入<br>2. 查看報到統計 | 正確顯示各場次報到人數 | P2 | | TC-805 | 無效票券報到 | 1. Staff掃描已取消的票券<br>2. 或掃描過期票券 | 系統提示票券無效 | P1 | | TC-806 | Staff Head報到 | 1. Staff Head完成手機驗證<br>2. 登入報到系統<br>3. 執行報到操作 | 可正常執行報到功能 | P1 | | TC-807 | 跨場次報到檢查 | 1. User預約場次A<br>2. Staff在場次B嘗試報到 | 系統提示場次不符 | P1 | --- ### 【模組八】後台管理功能 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-901 | Admin登入 | 1. 使用Admin帳號登入<br>2. 檢查權限 | 可訪問所有功能模組 | P0 | | TC-902 | Staff登入 | 1. 使用Staff帳號登入<br>2. 檢查權限 | 只能訪問報到系統 | P0 | | TC-903 | SA登入 | 1. 使用SA帳號登入<br>2. 檢查權限 | 可訪問VIP預約和VIP預約查詢 | P0 | | TC-904 | Staff Head登入 - 手機驗證 | 1. 使用Staff Head帳號登入<br>2. 進行手機驗證<br>3. 輸入正確手機號碼 | 驗證成功,可訪問功能 | P0 | | TC-905 | Staff Head - 錯誤手機號碼 | 1. Staff Head登入<br>2. 輸入錯誤手機號碼 | 驗證失敗,無法訪問 | P1 | | TC-906 | Admin查詢所有預約 | 1. Admin登入<br>2. 進入預約查詢<br>3. 查看所有預約 | 顯示所有用戶預約記錄 | P1 | | TC-907 | Staff Head查詢所有預約 | 1. Staff Head登入並驗證<br>2. 進入預約查詢 | 可查看所有預約記錄 | P1 | | TC-908 | SA查詢僅VIP預約 | 1. SA登入<br>2. 進入預約查詢 | 只顯示VIP預約,不顯示一般預約 | P1 | | TC-909 | Admin場次管理 | 1. Admin登入<br>2. 新增/編輯/刪除場次<br>3. 設定場次容量 | 場次管理功能正常運作 | P2 | | TC-910 | 後台登出 | 1. 任意角色登入<br>2. 點擊登出 | 成功登出,無法訪問後台 | P2 | --- ### 【模組九】通知訊息驗證 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-1001 | 預約完成通知 | 1. User完成任一活動預約<br>2. 檢查LINE訊息 | 收到「預約完成」Flex message,內容正確 | P0 | | TC-1002 | 前一天活動通知 | 1. User有明天的預約<br>2. 等待系統發送提醒 | 在活動前一天收到提醒通知 | P1 | | TC-1003 | 預約分享通知 | 1. User A分享票券給User B<br>2. 檢查雙方訊息 | 雙方收到分享相關通知 | P1 | | TC-1004 | 取消預約通知 - Sender | 1. User A取消預約(有分票)<br>2. 檢查User A的訊息 | User A收到sender版本的取消通知 | P1 | | TC-1005 | 取消預約通知 - Receiver | 1. User A取消預約(有分票給User B)<br>2. 檢查User B的訊息 | User B收到receiver版本的取消通知 | P1 | | TC-1006 | 退還票券通知 - Sender | 1. User B退票給User A<br>2. 檢查User A的訊息 | User A收到sender版本的退還通知 | P1 | | TC-1007 | 退還票券通知 - Receiver | 1. User B退票<br>2. 檢查User B的訊息 | User B收到receiver版本的退還通知 | P1 | | TC-1008 | 不達條件取消通知 | 1. 觸發連鎖取消(如TC-501)<br>2. 檢查原預約者的訊息 | 收到「不達活動條件被取消」通知 | P1 | | TC-1009 | Flex Message格式驗證 | 1. 收到任一通知<br>2. 檢查排版和按鈕 | Flex message格式符合Figma設計 | P2 | | TC-1010 | VIP簡訊通知 | 1. SA建立VIP預約<br>2. 檢查VIP手機簡訊 | VIP收到簡訊,包含綁定連結 | P0 | --- ### 【模組十】邊界與異常測試 | 測試編號 | 測試項目 | 測試步驟 | 預期結果 | 優先級 | |---------|---------|---------|---------|--------| | TC-1101 | 同時多人預約同一場次 | 1. 多個User同時預約即將額滿的場次<br>2. 觀察系統行為 | 正確處理並發,不超額 | P1 | | TC-1102 | 網路中斷恢復 | 1. 預約過程中斷網<br>2. 恢復網路<br>3. 重試操作 | 系統正確處理,不產生重複預約 | P2 | | TC-1103 | 過期場次預約 | 1. 嘗試預約已過期場次 | 系統提示場次已過期 | P1 | | TC-1104 | 票券數量邊界 | 1. 嘗試預約0張票<br>2. 嘗試預約3張票(超過上限) | 系統限制在1-2張範圍內 | P1 | | TC-1105 | 特殊字元輸入 | 1. 在手機號碼輸入特殊字元<br>2. 在姓名輸入特殊字元 | 系統正確驗證和過濾 | P2 | | TC-1106 | 長時間停留頁面 | 1. 打開預約頁面<br>2. 停留30分鐘不操作<br>3. 嘗試提交預約 | Session timeout或重新驗證 | P2 | | TC-1107 | 瀏覽器兼容性 | 1. 在不同瀏覽器測試(LINE內建、Safari、Chrome) | 所有功能正常運作 | P2 | | TC-1108 | 手機裝置兼容性 | 1. 在iOS和Android測試<br>2. 測試不同螢幕尺寸 | UI正確顯示,功能正常 | P2 | | TC-1109 | 分享連結失效時間 | 1. 建立分享連結<br>2. 等待特定時間後使用 | 正確處理過期連結 | P2 | | TC-1110 | 取消預約後立即重新預約 | 1. 取消預約<br>2. 立即重新預約相同場次 | 可成功重新預約 | P1 | --- ## 測試執行建議 ### 測試順序 1. **第一階段(基礎功能)**: TC-001~006, TC-101~105, TC-201~205, TC-301~305 2. **第二階段(核心流程)**: TC-401~408, TC-501~505, TC-601~606 3. **第三階段(VIP與後台)**: TC-701~707, TC-801~807, TC-901~910 4. **第四階段(通知與異常)**: TC-1001~1010, TC-1101~1110 ### 測試數據準備 - 至少準備5組真實LINE帳號進行分票測試 - 準備測試用手機號碼接收OTP和簡訊 - 建立足夠的場次資料(包含不同日期和時間) - 準備VIP測試名單 ### 測試環境要求 - iOS裝置(iPhone)至少1台 - Android裝置至少1台 - 可接收簡訊的手機號碼至少3組 - 已加入和未加入Hermes OA的LINE帳號各若干 ### 注意事項 1. 所有涉及通知的測試項目需實際檢查LINE訊息 2. 分票測試需要多個真實LINE帳號配合 3. VIP預約需要實際發送簡訊,注意簡訊費用 4. 報到測試需要真實的QR Code掃描 5. 前一天活動通知需要跨日測試 --- ## 缺陷等級定義 | 等級 | 說明 | 範例 | |------|------|------| | P0 | 阻斷性缺陷,核心功能無法使用 | 無法預約、無法登入、支付失敗 | | P1 | 嚴重缺陷,影響重要功能 | 通知未發送、分票失敗、取消異常 | | P2 | 一般缺陷,影響使用體驗 | UI顯示錯誤、載入較慢、文案錯誤 | | P3 | 輕微缺陷,不影響使用 | 對齊問題、顏色偏差 | --- ## 測試報告要求 每個測試項目執行後需記錄: - 測試編號 - 執行日期 - 執行人員 - 測試結果(Pass/Fail) - 實際結果描述 - 缺陷編號(如有) - 截圖或錄影(重要流程) --- ## 附錄:測試場景組合 ### 推薦測試路徑 #### 路徑A:完整一般用戶流程 1. 首次進入 → OTP驗證 2. 預約匠心工坊(2張) 3. 預約馬鞍針縫(2張) 4. 預約全球足跡(當天) 5. 分享匠心工坊給朋友 6. 分享馬鞍針縫給朋友 7. 朋友報到核銷 #### 路徑B:分票連鎖取消 1. User A: 預約匠心工坊(2張),分1張給User B 2. User A: 預約馬鞍針縫 3. User B: 領取分票 4. User B: 預約馬鞍針縫 5. User A: 取消匠心工坊 6. 驗證User A和User B的所有票券狀態 7. 驗證雙方收到的通知 #### 路徑C:VIP完整流程 1. SA後台建立VIP預約(匠心工坊) 2. VIP收到簡訊(未加入OA情境) 3. VIP加入OA好友 4. VIP綁定手機號碼 5. VIP查看票券 6. Staff為VIP報到 7. SA查詢該VIP預約記錄 #### 路徑D:退票流程 1. User A預約匠心工坊(2張),分1張給User B 2. User B領取後預約馬鞍針縫 3. User B退還匠心工坊票券 4. 驗證User B的馬鞍針縫被取消 5. User A重新分享給User C 6. User C成功領取 --- *文件版本:v1.0* *建立日期:2025-10-22* *最後更新:2025-10-22*