我們系統的訂單生成的流程是這樣子的,用戶下單后,系統會在用戶端和賣家端生成一個待付款的訂單,同時在數據庫也會生成一個待付款的訂單;當用戶付款之后,用戶端顯示待發貨狀態,賣家端顯示已付款待發貨狀態,訂單在數據庫的狀態為待發貨,產品相應的庫存量會減少,用戶的賬戶金額減少相應的金額;當賣家發貨后,用戶端和賣家端的訂單狀態都顯示為配送中,數據庫中的訂單狀態也同時發生變化;當用戶確認收貨后,訂單狀態會顯示為已完成,待評價狀態,數據庫中的訂單狀態也同時發生變化,買家支付的款項會打入到賣家的賬戶;當用戶評論完后,訂單狀態顯示為已結束,數據庫中的訂單狀態也同時發生變化。這是一個正常的流程,我們測試的時候,要優先把這個流程測試通過。
然后再考慮用戶的其他使用場景,比如:
- 用戶下單后,取消訂單;
- 下單后,一直不付款,檢查訂單超時不付款的場景下,會不會自動取消訂單;
- 在訂單快超時時,付款;
- 下單后,在不同的終端登錄,一端取消訂單,同時一端對該訂單進行付款;
- 弱網狀態下,多次點擊提交訂單按鈕,檢查是否會生成多個訂單;
- 用戶付款后,申請退款,買家端的訂單狀態為退款申請中,賣家端顯示為退款審核;申請退款通過后,訂單狀態為已關閉狀態,買家收到退還的金額;賣家拒絕退款,訂單狀態為待發貨狀態;賣家超時不處理退款申請,自動退款,訂單自動設置為已退款狀態,買家收到退還的金額;
- 當賣家發貨后,買家申請退款,買家端的訂單狀態為退款申請中,賣家端顯示為退款審核;申請退款通過后,訂單狀態為已關閉狀態,買家收到退還的金額;賣家拒絕退款,訂單狀態為待發貨狀態;賣家超時不處理退款申請,自動退款,訂單自動設置為已退款狀態,買家收到退還的金額;
- 買家收貨后,買家申請退款/退貨,買家端的訂單狀態為退款申請中,賣家端顯示為退款審核;申請退款通過后,訂單狀態為已關閉狀態,買家收到退還的金額;賣家拒絕款/退貨,訂單狀態為已確認收貨狀態;賣家超時不處理退款/退貨申請,自動退款,訂單自動設置為已退款狀態,買家收到退還的金額;
- 買家長時間不確認收貨,系統自動確認收貨,系統自動設為好評,訂單狀態為已結束,賣家收到買家的貨款;
- 收貨后,超時不評論,系統自動設為好評,訂單狀態為已結束。
這些是功能測試的場景,每個場景,我們都要檢查數據庫對應訂單的數據變化。
- 用戶體驗:
- 訂單界面是否整潔,清晰,文字大小是否適中,訂單編號是否能復制;
- 下單,取消訂單,申請退款等功能是否有響應的提示,提示是否合理;
- 超時時長是否有倒計時提示;
- 只對訂單的部分商品進行發貨,訂單里的商品發貨狀態是否分開展示;
- 是否支持Enter,tab等快捷鍵。
- 安全性:
- 使用Fiddler,檢查是否能攔截篡改修改訂單的信息。
- 兼容性:
- web端,在不同的瀏覽器,比如:谷歌,IE,火狐,360上測試;
- app端,在主流的不同的機型,不同的分辨率,不同的操作系統的手機上進行測試,比如:xxx;
- 性能:
- 多用戶並發下單;
- 提交訂單,取消訂單,申請退款的響應時間。
- 可靠性:
- 多用戶長時間運行提交訂單功能。