轉帖|其它|編輯:鄭恭琳|2020-05-27 11:44:54.787|閱讀 347 次
概述:在與Coveros測試自動化總監Max Saperstone的對話的第三部分中,我們討論了他在測試自動化中遇到的成功和失敗。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在與Coveros測試自動化總監Max Saperstone的對話的第三部分(閱讀第一部分和第二部分)中,我們討論了他在測試自動化中遇到的成功和失敗。
Max發現了與我們在市場上看到的類似的經歷:糟糕的計劃和各個層次的買斷都不是成功的好環境。但是,當自動化的投資回報率明確時,成功的可能性就更大。讓我們來看看Max在這方面的經驗。
Mark Lambert:讓我們用最后兩個問題來結束這個討論。第一個問題是,給我一個例子,您進入一個組織來幫助他們進行自動化測試,這是成功的。它運行良好的原因是什么?
Max Saperstone:有趣的問題。我想到的一個例子是,我去了一家進行大量手動測試的組織。他們的測試實際上是在輸入數據并進行表單驗證。他們的挑戰是由于測試應用程序所需的復雜性和不同輸入組合而花了數周的時間僅測試系統。他們甚至知道他們沒有涵蓋所有內容。
我們與他們坐下,討論了需求以及他們正在尋找的一切。他們說:“您知道嗎?老實說,我們不知道。”他們正在做的部分工作是手動輸入郵政編碼,然后該應用程序報告了不同的用戶。對于返回的每個用戶,他們都需要執行另一個查詢,以確保信息正確。
我們創建并運行了一些腳本,結果,我認為是一百萬種不同組合中的四分之三。一個晚上花了大約八個小時才能運行所有這些測試。他們查看了數據,然后我們問:“好吧。那我們該怎么辦?”他們說:“我們不知道。”
我們知道所有這些東西都在他們的數據庫中,但是我們沒有辦法對其進行測試。因此,實際上有人做下了這些數據,大概花了一個月的時間。他們最終回來說:“我們仔細研究了所有這些數據,并不都是正確的。”他們發現了30或40個不同的差異,但實際上他們從來沒有真正發現過這些差異——他們實際上是在進行隨機采樣。
我們能夠做的就是獲取該數據集,而不是編寫這些輸出的腳本,我們將其轉換為測試。仍然需要花費整夜的時間來運行,但是他們沒有花數周的時間來分析覆蓋率較差的結果。這些新測試驗證了所有輸出實際上都是正確的,并且組織能夠以更少的工作來測試結果,從而繼續向數據庫中添加新客戶。
我們不僅發現了錯誤,而且這種新的自動化功能使客戶端實際上可以跟蹤所有內容。對我來說,那是巨大的成功。將自動化和智能手動工作相結合,可以節省大量時間和精力。另外,另一項成功是發現了如果最終出現在最終產品中,則絕對會影響公司盈利的錯誤。
Mark Lambert:因此,他們通過利用整個數據集獲得了完整的測試覆蓋率?而不是隨機抽樣以嘗試發現缺陷。
Max Saperstone:差不多。同樣,它完全覆蓋了應用程序的一個區域。但是實際看到的正是自動化的使用。但是,這是一項昂貴的工作,如果客戶真的希望我們拋棄所有存在的問題,我們會的。在這種情況下,這對我們的客戶而言是一個巨大的提升,最終,對他們而言這是非常值得的,這很好。
Mark Lambert:好的,最后一個問題。這個項目完全出錯的例子呢?是什么原因導致實施出錯?從中學到了什么?
Max Saperstone:我當時與現在的公司不在同一個公司,一位客戶邀請我們說:“我們真的需要您使我們的測試自動化。我們有所有這些手動測試員,他們花費數周的時間進行回歸測試。真正需要的是使這些測試自動化并加快測試時間。”
這是前一陣子,我天真地說:“可以。”我開始研究問題,編寫一些測試,并與手動測試人員交談以弄清他們在大部分時間上花費了多少。一兩個月后,我進行了一套不錯的測試,并將其交給測試人員。
我說:“您來了。您不再需要運行手動測試。這些自動化測試將為您調查應用程序的某些領域。”
發生的事情是測試人員沒有運行這些自動化測試,或者他們將運行它們,但是隨后他們將手動重新運行它們。據我了解,他們之所以沒有運行它們,部分原因是測試人員不在乎運行它們。他們不一定信任它們。他們沒有看到能夠從自動化獲得的價值。同樣,測試的構建方式也不是測試人員用來運行的完整的端到端測試。測試確實完成了他們所需的應用程序部分,但是測試人員仍然必須執行許多其他步驟才能獲得所需的覆蓋范圍。
最后,他們說:“好吧,如果我必須運行這些手動測試,我們并沒有真正節省那么多時間。”客戶只是看不到被添加到他們的值。我認為該項目的主要問題是溝通。我們弄清了測試人員花費了很多時間,但是我們沒有與他們談論他們如何測試軟件以及他們希望能夠實現什么自動化。我們需要問他們:“如果您能做任何事情,那會是什么?”
我們過多地關注最佳實踐。問題在于這些實踐和我們自動化的測試不適合他們的整體質量工作流程,而這正是他們真正需要的,以便減少一些質量檢查時間。
我認為我們應該討論更多的高級策略,并更好地了解可以立即減少手工測試次數的方法。我們應該問我們該怎么做才能使測試人員真正為嘗試使用感到興奮?甚至,他們認為實現自動化有什么意義,他們熟悉什么技術?
事實證明,有些測試人員甚至不想在計算機上單擊“執行”以運行自動化測試。但是,其他人則對自動化很滿意,每天早晨都會通過電子郵件發送報告給他們,說:“運行了,就完成了。”不幸的是,這些討論還沒有開始。
因此,我們返回并重申了該項目。但是,毫無疑問,可以通過對這種高級測試策略進行更多討論來節省很多前期工作。這可以回溯到我們正在談論的第一個評論。
Mark Lambert:因此,沒有計劃,沒有團隊的支持,就沒有信任或感知的價值。您盲目地進入測試自動化并沒有真正的幫助。
Max Saperstone:完全正確。它是為了測試自動化而進行測試自動化,而不是真正確定什么是真正的價值,以及我們如何從中獲得最大的收益。
Mark Lambert:太好了。好,非常感謝您,Max。真的很感激您的分享。我認為這是一個很棒的討論。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn