[Coded UI Test(CUIT)] 執行Coded UI Test時的一些訣竅與經驗分享
一般來說,進行CUIT前會先撰寫測試案例,當然也可能有人是邊寫邊錄,這篇是我自己個人對於執行CUIT時,從撰寫案例到測試結束的一些流程與經驗分享:
1.取得功能測試案例,功能測試案例一般會根據使用者案例去撰寫,通常也比較可以正確反應出當初設計的使用流程。
2.功能測試案例中可能有很多重複的部分:
像上面的登入與檢查連線狀態就是重複的行為,可以抽出來獨立撰寫測試案例,而不要在測試功能A~C的案例中重複撰寫,甚至錄製或手動撰寫CUIT的時候也做重複的事情。
3.案例順序排列:
以檔案管理為例,案例的順序決定了測試的流暢與否,通常都是新增、查詢、修改、刪除這樣的順序,假若說把刪除直接放在第二個步驟來執行,那麼做查詢與修改的測試之前不就要重新新增,並解測試完查詢與修改之後又要刪除檔案?故對於例如檔案操作、設定檔處理、單據簽核等等有流程性或者順序性的測試案例,均須考慮其案例之先後順序,以避免不必要或者多餘的測試。
4.決定與設置驗證點:
在測試當中,我們需要設定驗證點,以確定我們執行過程當中沒有問題,畫面UI如預期的反應與顯示該顯示的項目,但是有些東西是沒辦法進行驗證的,這裡我列出一些經驗,也歡迎大家討論:
- 圖片
- 字型、字顏色、字體
- 密碼欄位(無法如驗證一般TextBox)
5.實際錄製:
手動撰寫CUIT案例比較花時間,但是會比較簡潔,用錄製的比較省時間,但是有時候會發生錄製的劇情未能正常執行,所以實際上我在做CUIT的時候是以自動為主,並且於錄製過程中每錄一段就進行播放,如果發現有無法撥放劇情的部分,就改用手動撰寫。另外就是錄製的步驟與驗證點命名最好可以與之前撰寫的測試案例相對應,這樣在偵錯與改進的時候,也會提升效率。
6.反覆驗證:
錄製CUIT另一個花時間的其實我覺得就是會有點類似進行迴歸測試的行為,為確保新錄製的測試案例與舊的案例不會有牴觸或者互相影響,通常新錄製的案例完成後會連同舊的案例一起執行試試看,當然,這也要案例之間有關連性才需要這麼作。
希望對大家有所幫助^^