我完全Torbjorn的答案同意,但想補充幾點:
開始小
頁面對象圖案是很好的方法來簡化你的測試,但是你會發現獲得抽象是需要很長時間的。首先抽取你需要的東西,然後慢慢加入。
增加價值
不要走極端,並嘗試寫終端到終端的迴歸測試。相反,專注於編寫增值的測試。例如,一個演示應用程序啓動沒有錯誤的單個測試非常有用,可以爲您的構建過程提供早期反饋。從那裏出來。
平衡「深」與「淺」
有用於測試用戶界面的幾個不同的理念。建立它們之間的混合。
顯而易見的方法是使用類似生產的設置來測試應用程序,以證明應用程序「從前到後」工作。這些是「深層次」的集成測試,可以鍛鍊代碼的所有部分並且很有用。由於它們通常依賴於外部服務等,它們也可能會非常緩慢。通常,爲了保證可靠性,應用程序必須在測試運行之間重新啓動以確保有效的環境。
該方法稍作修改就是測試應用程序與殘缺服務(假冒產品目錄,假身份驗證提供程序等)。這些是「淺」測試,它們表明用戶界面在集成在一起時起作用。他們通常運行更快一點,因爲他們不會有相同的物理約束,如網絡延遲考慮。您可以更多地關注演示文稿細節和其他邊緣案例。
進一步的修改是隔離部分用戶界面並在測試工具中運行它們。這些測試的運行速度比以前的方法快得多,因爲它們不會具有啓動整個應用程序的相同開銷。使用這些測試來確定顏色和高度專業化的演示問題。
迭代時穩定
如果您打算編寫功能測試,以取代手工迴歸測試你可能會發現,最好等到發展爲它編寫自動化之前穩定該功能。如果您在開發過程中開始編寫自動化程序,您將不斷重新編寫測試。如果您想在開發過程中自動化,請記住:從小處着手。
獲取早期反饋
的UI(也稱爲功能測試)的自動化測試是有用的,但它可以是非常,非常緩慢。 (我已經看到運行需要幾個小時才能完成。)如果你每天運行一次整個測試套件,你會發現反饋循環太長,導致誤報和維護問題等。
儘可能將功能測試集成到構建過程中。如果測試套件花費太長時間,請找到一種方法來集成的一些測試,以便您的構建管道可以驗證重要測試作爲構建的一部分。
對於UI測試,您可以使用Microsoft Test Manager來指定您的測試用例並記錄UI測試。 – 2012-07-13 09:41:32
您可以使用MS Coded UI測試。 – HiperiX 2012-07-13 13:34:14