先準備兩筆虛構記錄

這是紙面教學示例,以下帳號、客戶、合約與金額全部虛構。可以將用例放進自己的練習專案,再記錄實際結果。

練習帳號 允許查看的客戶記錄 合約編號 金額
A A-001 HT-A-01 10000 CNY(人民幣)
B B-001 HT-B-01 20000 CNY(人民幣)

第一版需求:登入後按記錄編號查合約,只能查看本帳號有權存取的記錄。暫不做新增、修改與匯出。

問題可能怎樣產生

假設頁面有登入,介面卻只按輸入的記錄編號查詢。A 輸入 A-001 能得到自己的合約;若再輸入 B-001,也收到 B 的合約。

這代表查詢缺少資料範圍限制。頁面只顯示 A 的客戶,仍不足以保護介面:請求可能從別處送出,也可能被修改。

查詢應該怎樣安排

  1. 伺服器從已驗證的登入狀態取得目前身分;未登入時拒絕讀取受限資料。
  2. 依該身分有權存取的範圍,結合輸入編號查詢。不要相信請求自行填入的帳號身分。
  3. 沒有可查看記錄時,回傳不含合約內容的提示;頁面可顯示「沒有找到可查看的資料」。

實際系統可能依個人、團隊或其他業務規則授權。先寫清楚規則,再選擇適合的資料結構與實作方式。

修改後,用這些輸入複查

這張表列出測試計畫與預期結果,需要在自己的專案實際執行,不是已完成的測試結果。

登入狀態與操作 預期結果
A 查詢 A-001 回傳 HT-A-01,金額 10000 CNY(人民幣)
A 查詢 B-001 不回傳 B 的合約或金額
B 查詢 B-001 回傳 HT-B-01,金額 20000 CNY(人民幣)
B 查詢 A-001 不回傳 A 的合約或金額
未登入,直接請求 A-001 拒絕讀取,不回傳合約內容
A 繞過頁面,直接請求 B-001 仍受權限限制,不回傳 B 的資料
A 輸入不存在的編號 明確提示,不含其他合約內容

保存每次使用的帳號、輸入與實際結果。還要檢查回應內容是否夾帶頁面沒顯示的其他記錄;只看頁面文字,可能漏掉介面多回傳的資料。

新增入口,也要沿用規則

以後加搜尋、匯出或 AI 問答,都要確認採用相同的資料範圍。AI 回答前能讀什麼,也應由系統權限決定。

這組用例主要檢查跨帳號讀取。完整專案還須依功能檢查輸入處理、修改權限、日誌、部署與備份等問題。可用上線清單補齊適用項目,需求階段則先寫一頁任務說明。

常見問題

這是實際客戶專案嗎?
這是虛構的紙面教學示例,帳號、客戶與合約都是練習資料。文中的表格是可在練習專案執行的測試用例,不是已執行的測試報告。
頁面有登入,為什麼可能看到別人的資料?
登入確認身分,伺服器端查詢還要依身分限制資料範圍。若只按客戶名稱或記錄編號取資料,登入身分可能沒有參與權限判斷。

接著讀


預約 15 分鐘免費諮詢 看費用與教學範圍