2016-04-28 71 views
0

自動化測試是指您使用一段代碼/程序測試另一段代碼/程序的任何類型的測試。這可以是如上所述的單元測試,也可以通過特定的自動化工具,如TestComplete,QTP,Selenium等。單元測試往往由相關代碼的開發人員創建和執行,而GUI自動化將會更有可能由軟件質量保證專家執行。自動化單元測試與GUI自動化

關於這個問題浮現在腦海中。

1)使用代碼編寫自動單元測試或使用QTP,Selenium等自動測試工具執行GUI自動化會更好嗎?

2)在SDLC生命週期中,使用自動化測試工具使用代碼與GUI自動化編寫自動化測試涉及哪些工作?

3)他們的優點是寫自動化單元測試使用代碼和使用自動化測試工具執行GUI自動化?

回答

1

單元測試和GUI自動化測試的目的是不同的。單元測試(通常由開發人員執行)應該驗證測試下的一個函數的不同輸入和輸出。如果需要,可以在模擬系統的幫助下實施。單元測試通常運行得很快,所有這樣的套件都不會超過1秒。 GUI測試模擬用戶行爲(我們經常稱它們爲端到端測試),並且可能需要更多的時間來執行。

  1. 我不會建議使用GUI自動化的幫助,每次編寫單元測試,因爲你要運行它們快,重新運行,是非常穩定的,而不是從像瀏覽器的其他物體的影響。
  2. 使用某些自動化記錄編寫自動化測試非常容易,但通常它比您自己使用專用API編寫的代碼要穩定得多。
  3. 我不確定我是否在這裏跟着你,但是單元測試在沒有GUI的代碼中最好寫代碼,系統測試通常應該用像Selenium這樣的GUI自動化環境來編寫。
0

通過GUI進行單元測試和自動化測試有不同的目的。而且,高級自動化測試不一定通過UI完成。

你見過測試金字塔嗎? enter image description here

這當然是理想的情況,這在現實生活中很少發生。但這是要努力的。

單元測試更容易編寫。儘管遺留代碼可能並非如此。如果代碼沒有考慮到可測試性,則需要重構代碼才能添加單元測試。在這種情況下,通過公共API或GUI進行的高級測試將更容易編寫。但這不一定是正確的做法。

單元測試的執行速度更快,因此開發人員可以更快地獲得反饋,並且可以在出現問題時立即發現問題。同樣,一個精心編寫的單元測試可以很容易地診斷問題並快速找到錯誤的代碼行。 通過GUI測試和一般的高級測試,需要更多時間來診斷問題。測試失敗的可能性更高只是環境問題或其他依賴性問題。

考慮到這一切,測試金字塔總結得非常好。越早發現問題就越好。因此大部分測試工作應該進行單元測試。但總有一些錯誤無法在「方法級別」上捕獲。所以你升級一級,這就是你的集成測試閃耀的地方。 GUI測試可以覆蓋對產品至關重要的E2E情況,例如,確保登錄按鈕確實存在並且可點擊:D

總之,沒有簡單的答案,哪個更好,因爲他們實現完全不同的目標。