這不僅僅是一個問題,而是關於在真實世界的應用程序中使用自動GUI測試的最佳實踐的討論(其中真實世界的應用程序是具有超過兩個表格和三個按鈕以及超出計算兩個數字並在texbox中顯示結果的複雜性)。實際桌面和/或Web應用程序的自動GUI測試
我在網上搜索了關於實際應用程序的自動GUI測試的實際經驗。大多數文章提供了非常有限的示例(即測試簡單的計算器式應用程序),這些示例對於在具有100k + LOC的應用程序中啓動自動GUI測試無用。
在實現自動化GUI測試我不想讓初學者的錯誤,所以我要問你:
- 什麼是當你的自動GUI測試你的做法?
- 你使用什麼工具,爲什麼?
- 你如何處理複雜的執行路徑?
- ...
更具體的,讓我描述更詳細的情況: 我們100K + LOC項目用C#編寫。這是一個Windows應用程序,並與硬件(通過不同通信協議的各種測量單元)進行交互。我們對「通用」功能(庫等)進行了單元測試,這些功能是獨立的,可以單獨進行測試。由於使用真實硬件的侷限性,我們無法以自動方式測試所有內容(投資太高) - 但我們可以自動完成我們測試人員手動完成的一半工作。我想「改造」我們的一些測試人員來管理自動UI測試。我們的測試人員編程技能有限,因此我們案例的最佳工作流程將記錄UI測試或使用一些簡化的編程方法。 UI測試的未來維護應由測試人員完成(相對於由程序員進行維護的單元測試)。
- 該應用程序使用SQLite數據庫來存儲其配置和數據。
- 測試必須針對不同的測試數據集運行。如何/在哪裏存儲數據?
- 當使用多組測試數據時,在使用下一組測試數據之前必須實現「安全」狀態 - 我們100%確定的狀態,應用程序正常。您是否喜歡重新啓動應用程序或以編程方式恢復您對測試所做的更改?這方面的一個例子是登錄 - 登錄每次測試或登錄一次,並連續做幾次測試?
- 所有測試應該在混合環境(虛擬和物理)的不同Windows操作系統平臺(Win7/Win8,x86/x64)上運行。
- 你如何運行組件的UI測試?你做了簡單的測試程序,並使用這個程序進行UI測試?或者也許還有其他什麼