對DevOps來說,即便自動化測試比人工測試帶來的收益更大,人工測試依然是軟件開發過程中的一個重要部分。中培《軟件自動化性能測試》專家劉老師指出,即便沒有別的原因,為了將測試自動化,我們至少也得手動執行一次測試來驗證。
接受測試( Acceptance testing)尤其難以替代,即使有人嘗試去這么做。即使對那些開發功能實現需求的人來說,軟件需求規范簡短并且難以理解。在這些情況下,有質量保證的人盯著是有價值并不可替代的。
讓人工測試變簡單的東西和讓自動化的集成測試變簡單的東西一樣,所以這兩種測試策略之間也存在協同效應。
為了讓質量保證人員開心,你需要:
·管理測試數據,主要是后端數據庫的內容,這樣當你重復運行測試時,才能得到相同的結果。
·為了驗證缺陷是否修復,需要盡快部署新代碼。
看上去顯而易見,但是實踐起來會有些難度。也許你的數據庫太大,無法復制到測試環境。也許它包含最終用戶的數據,根據法律需要保護。在這些情況下,你需要在部署測試環境前辨識并清洗任何關于私人信息的數據。
每個企業都是不一樣的,所以在這個領域很難給出除了KISS原則(Keep it simple,stupid)之外的普適的有用建議。
自動化測試的優缺點
當你和大家交流時,大多數人對自動化測試的前景充滿熱情。試想下它可能會帶給我們的好處:
·更高的軟件質量。
·對于發布按照預期工作的軟件有更強的自信。
·減少費力且單調乏味的人工測試。
一切看上去都是那么美好!
但在實踐中,如果在不同企業中復雜的多層產品上花費時間,你會發現人們都在討論自動化測試,但是你也會注意到實踐中卻缺乏自動化測試。這是為什么呢?
如果你僅僅是編譯程序并在編譯完成時部署,結果可能會很糟糕。為了讓現實世界中的軟件能可靠工作,軟件測試是完全有必要的。人工測試對于實現持續交付來說太慢。所以,我們需要自動化測試來完成持續交付。
想了解更多IT資訊,請訪問中培偉業官網:中培偉業