technine.io
淺藍色背景上的一張白紙,印有三個空白方格,最上面的方格打了紅色剔號。

指南

用戶驗收測試(UAT)是甚麼?系統上線前由用戶確認

用戶驗收測試(UAT)是新系統上線前,由實際使用者確認系統能否配合日常工作。了解 UAT 由誰參與、要準備甚麼,以及如何簽收。

更新於

用戶驗收測試(user acceptance testing,簡稱 UAT),是新系統上線前,由實際使用者確認系統能否配合日常工作的階段。開發團隊的測試確認軟件按設計運作;UAT 則要確認系統符合業務需要,並配合員工和客戶實際的使用方式。對委託開發軟件的企業來說,UAT 往往是交付或上線前確認成果的主要機會。

UAT 與其他測試有何不同

軟件項目通常有幾輪測試,負責人和目的各有不同:

  • 開發及 QA 測試:確認功能符合規格、程式運作正確,一般由開發團隊負責。
  • 回歸測試:確認系統修改後,原有功能仍然正常。
  • 用戶驗收測試:以真實的工作、資料和用戶角色,確認系統配合業務流程,由業務用戶負責或參與。

通過開發測試,不代表一定通過驗收。一張表格可以完全正常運作,但欄位次序未必配合前台同事接受預約的實際做法。

誰應該參與

參與 UAT 的,最好是日後真正依賴系統的人,而不只是項目負責人。視乎項目,可包括:

  • 處理預約、訂單或查詢的前線同事;
  • 負責審批、修改記錄或查看報表的主管或管理員;
  • 核對金額、匯出資料和對賬的財務或營運同事;
  • 在適當情況下,少量測試對外流程的客戶或會員。

開發團隊通常負責準備測試環境、說明如何報告問題,以及修正錯誤;系統是否可以接受,則由企業決定。

開始前要準備甚麼

  • 驗收準則:以書面議定每項功能或流程怎樣才算「通過」,最好在訂立範圍時已寫好,而不是留到項目尾聲。
  • 測試情境:簡短而貼近現實的任務,例如「為會員建立預約、更改時間,然後取消」,並列明每一步的預期結果。
  • 測試環境:UAT 一般在與正式資料分開的測試或 staging 版本進行,即使操作出錯也不會影響實際業務。
  • 測試帳戶及資料:為每個用戶角色準備帳戶,以及接近真實的樣本資料。除非已妥善議定,否則不要使用真實的個人或付款資料。
  • 問題記錄方式:用共用清單或追蹤工具,記下操作步驟、預期結果、實際結果和截圖。
  • 時間表:測試人員有本身的工作,要預留時間進行 UAT 及第二輪重新檢查。

以下示例僅供說明:一間公司以 Web App 取代用試算表處理的預約流程,請兩位前台同事和一位經理進行 UAT。開發團隊的測試全部通過,但同事發現,客人如果沒有電郵地址,系統便無法儲存電話預約。問題記錄後,雙方議定這屬於錯誤還是範圍改動,修正後於上線前再檢查一次。

為發現的問題分類

UAT 發現的問題不一定是錯誤,可以先分類:

  • 錯誤:系統沒有按議定內容運作。
  • 改動要求:系統按議定內容運作,但業務現在需要不同做法。這類要求可能影響時間或費用,應另行議定。
  • 疑問及培訓需要:功能已經存在,只是用戶不知道如何使用。

每項錯誤都應議定嚴重程度,例如會否阻礙上線,還是可留待之後的版本修正,讓簽收有清楚的優先次序,而不是只看問題數目。

簽收與上線之後

UAT 通常以簽收作結,即記錄系統可以上線的決定,有時會附上已知的輕微問題及修正安排。請確認協議中簽收代表甚麼,例如是否標誌保養期或支援安排開始。

UAT 只反映系統在某一時間的狀態。上線後的修改和更新,可能影響早前已驗收的功能,這時便需要回歸測試和持續的網站監察。簽收後的支援條款,通常寫在軟件支援 SLA 之中。如果你正開發第一個版本來驗證構思,可參閱 MVP 解說。

如需了解服務範圍,可參閱 technine.io 的網站及 Web App 開發服務,當中包括 UAT 及上線驗證。

常見問題

UAT 由客戶還是開發商負責?

通常雙方都有責任。開發商準備測試環境、支援測試人員及修正錯誤;企業負責或參與測試,並作出驗收決定。這些角色最好在項目開始前議定。

UAT 需要多長時間?

視乎系統規模、用戶角色數目,以及測試人員可以投入多少時間。最少要安排一輪測試和一輪修正後的重新檢查,並及早訂好時間表。

UAT 可以自動化嗎?

驗收決定要由人作出,因為這是判斷系統是否配合業務。議定流程的重複檢查則可以自動化,日後亦可用於回歸測試,詳情可參閱 technine.io 的自動化 UI 及用戶流程測試。

諮詢WhatsApp
用戶驗收測試 UAT 是甚麼?上線前要準備甚麼 | technine.io