自動化
測試能夠節省大量的時間和人力,可是有些
測試的狀況必須經過人的視角來看待。
目前,不少
開發團隊開始採用
自動化測試,在必定程度上,
自動化測試就像他們的聖盃。自動化測試對於
迴歸測試和檢查冗餘組件是一個很好的
安全保障。但咱們仍然十分支持人工以及探索性測試,即便自動化測試目前已經十分先進,但他們仍然須要人力驅動。實際上,自動化測試一般是從最初的手動工做轉化而來的,這就是不管外包仍是內部使用,
開發者仍然須要手動
測試人員的緣由。
1必須存在手動的全套測試
人工測試顯得重要的一個最大的緣由就是用戶的經驗,咱們(甚至開發者)能夠時不時的提出一些有價值的批評。當說起系統功能或第一印象時,人眼是沒法被取代的。儘管煙霧測試能夠自動化進行,但它們更適合手動測試的形式。一個測試人員能夠隨意的使用你的應用程序,看看它是否準備好進行核心測試,這比寫一個有一樣功能的腳本要快得多。並且早期的腳本確定不能一直使用。另外,只有人能夠仔細檢查一個針對多個地區的產品的語言使用以及其餘關鍵的
本地化因素。
2自動化測試令人工測試變得可能
就像緊急狀況下爲你而開的車,當你離開時,自動化測試也一直在忙碌着。自動的
軟件測試能夠節省重複工做的時間,從而令人工測試能夠圍繞更加富有創造力的
測試
用例展開。自動化測試最成功的地方不在於試圖使它的行爲像人類同樣,而是過建立新的、獨特的腳原本提升總體產品的覆蓋率。
3Bugs老是出如今最不可能的地方
即便在測試特定的用例時,測試人員仍能夠找到不少他們並不須要找的
bug,這是一個很大的問題。對於一些項目來講,大多數
bug其實是由尋找其餘內容的測試人員發現的。自動化測試不能發現沒有
編程的錯誤。
4人具備創造力和分析能力
儘管咱們老是想到人類的
缺陷(好比咱們爲何不會飛),可是咱們確實有咱們本身的優勢。測試人員所帶來的技能和經驗,能夠幫助他們在每次開始一個新階段時制定策略。在這一點上,咱們的快速處理速度以及分析無可替代。
5測試腳本必須在敏捷中重寫
在敏捷環境中使用不斷的反饋意味着對於產品流程、UI甚至功能的不固定的更改。並且幾乎每一次更改,都意味着你在下一次的衝刺中須要重寫你的自動化腳本。新的更改也會影響到迴歸測試的腳本,因此即便是經典的自動化測試示例,也須要在敏捷中進行大量的更新。當開發團隊試圖思考如何投入資源的時候,這個的工做量是值得考慮進去的。
6自動化對於小項目太過於昂貴
你不只須要購買自動化軟件,同時因爲腳本的編寫和重寫以及設置和處理的時間,你還得支付更高的相關維護和管理成本。對於長期項目和大型工程,高成本是值得的。可是對於短時間的,較小的項目來講,這是對於時間和金錢的巨大浪費。當在計算購買自動化軟件的潛在投資回報率時,你也必須考慮到所以所增長的工時。
7除非通過嚴格的管理,不然自動化將趨於落後
咱們但願技術能夠爲咱們作的事情,和實際上咱們能用技術作的事情是不一樣的。經過持續的腳本更新,使衝刺保持自動化測試是很是難的。測試再也不是最新的補丁是毫無心義的。成功的自動化測試很早就開始了,而且歷來沒有落後過任何一次衝刺。若是一個開發團隊沒有資源來實現這一點,最好一開始就不要嘗試(除非團隊正在進行長期的投資,而且計劃改進整個流程)。
8人工測試者更瞭解用戶視角
人類整日都在學習。你確定不肯意浪費這些知識。由於人工測試人員一般以用戶的方式進行操做,因此他們所能提供的價值遠超對於產品目前表現的瞭解。測試人員還能夠經過提交問題和建議來幫助產品尋找新方向。
9自動化測試沒法捕獲人類意識不到的問題
這就回到了第3點,bugs一般出如今人們意識不到的地方。但除此以外,還有一些咱們不會當即注意到的用例和巨大的風險。這種天生的無知能夠經過探索性測試或者開發新腳本的探索性測試來緩解。不管團隊的測試形式如何,預先的策略老是必須的。可是咱們永遠不能期待在最剛開始時就考慮到全部問題。對於咱們忽略的大多數問題,人工測試有更快的速度。
10優秀的測試是可重複的,也是可變的
大多數成功的測試都是兩個因素的結合:可重複性和可變性。自動化測試對於持續的檢查很是有用,但這還不夠。你還想要變化,以及一些通配符用例。綜合來看,這兩個因素可使產品有更高的機會實現全面的覆蓋。
11移動設備有更復雜的用例
自動化測試腳本沒法覆蓋設備的
兼容性以及交互。像斷開和從新鏈接WIFI,同時運行其餘應用程序,設備權限,接收電話和短信,均可能對應用程序形成嚴重的破壞。更改滑動方向和點擊屏幕的手指的數量也可能會影響移動應用。顯然,若是你但願你的應用有更少的怪事發生,你須要一我的工測試人員。
12人工測試賽過 」 經過 / 失敗 」
「經過/失敗」測試很是酷,咱們要求咱們的Testlions一直使用設定了輸出的測試用例。可是對於大多數項目來講,有更復雜的場景。
Web表單是一個很好的例子。儘管自動化腳本能夠輕鬆地在
web頁面中填入值,可是若是用戶離開了頁面而後返回回來,腳本就沒法值是否被保存了。另外,提交速度如何呢?人們必定會注意到,當其餘網站全速加載時,
web表單是否會提交變得異常緩慢。可是速度並不適合「經過/失敗」測試。 13人工測試能夠快速重現客戶發現的錯誤 儘管你期待在部署以前能夠發現全部bug,但也但願你的客戶可以讓你知道任何發生的錯誤。對於基於雲的產品,熱修復是必須的。一我的工測試人員能夠用客戶提交的信息,提交一個對開發者有幫助的bug報告。經過人工測試,客戶反饋問題和問題被修復之間的時間會大大縮短。若是你喜歡,那麼人工測試是很是棒的。可是,人工測試是一個不能被自動化的服務。