什么時候使用猴子測試

發表于:2009-05-04來源:作者:點擊數: 標簽:猴子
關鍵字: 軟件測試 、猴子測試 盡管我們的項目組使用笨猴子來尋找操作系統的 bug ,我們也同樣找到了不少應用程序的bug。笨猴子在四種情況下對于測試產品周期內的程序非常有用: 在產品周期的早期階段,笨猴子會找到很多很好的bug,為你節省不少的時間。笨猴

關鍵字:軟件測試、猴子測試

        盡管我們的項目組使用笨猴子來尋找操作系統的bug,我們也同樣找到了不少應用程序的bug。笨猴子在四種情況下對于測試產品周期內的程序非常有用:
 
        在產品周期的早期階段,笨猴子會找到很多很好的bug,為你節省不少的時間。笨猴子不需要知道程序的任何用戶交互方面的知識。昨天編譯的版本的界面是否改變或者缺少了一半,對它來說都是無所謂的。猴子會測試任何它找到的東西。因此,一旦新版本出來你就可以開始笨猴子測試。在你還在為新的界面改變而調整你的正式的自動化測試包時,笨猴子已經開始探索程序并且很可能已經找到bug了。  
        笨猴子能運行很長時間的測試。除非找到了引起程序崩潰的bug,你想讓他們運行多長時間他們就會運行多長時間,把內存和資源使用推到極限。如果你的程序有資源泄漏或者內存問題,笨猴子會幫你找到它。
 
        在產品周期的后半段,當你在想你已經找到了所有的可惡的bug,笨猴子測試能幫助你提高你的信心。運行笨猴子幾天的時間而沒有引起錯誤能讓你從另外一個角度來判斷程序的穩定性。
 
       笨猴子測試能顯示傳統測試覆蓋的漏洞。用覆蓋率分析工具運行幾個小時的笨猴子測試,然后與那些非猴子測試進行比較。如果猴子測試測試到的一個函數是沒有被你的傳統測試所覆蓋的,那么你需要重新檢查你的測試計劃用例。如果你有程序的狀態表,讓猴子讀入這個狀態表,并核對每個測試到的狀態。如果它找到一個新的狀態是沒有在你的狀態表中定義的,那么猴子就找到了一個嶄新的未被測試的、可能充滿了bug的程序區域 – 就像在β象限儀的中心地帶發現了一個蛀洞一樣!至少有一個商業工具(Rational的TestFactory)使用笨猴子方法來探索應用程序并創建自動化測試來最大化覆蓋率,同時最小化測試時間。
 
        (你也許會對笨猴子能達到的測試覆蓋率感到驚訝。在一個微軟內部的應用程序,復雜度類似于寫字板,我們在不到15分鐘的笨猴子測試中就得到了65%的代碼函數覆蓋率。)
 
笨猴子測試的成本

        相對聰明猴子和大部分傳統的自動化和手工測試,笨猴子是非?!氨阋说摹?。一個笨猴子可以測試幾乎所有的應用程序。因此你可以把它調整到很多不相關的項目中。 

        如果笨猴子能知道一些關于你的程序的信息,則會得到更佳的效果。如果你能告訴猴子什么地方是程序窗體值得注意和測試的地方,則猴子會少浪費很多時間。但是給予笨猴子太多的知識則會帶來更高的成本。我們的目標是花少于30分鐘的時間來教會笨猴子學習一個新的程序。

        一旦你給了笨猴子探索程序需要的最基本的信息后,把它安置在一臺殘舊的、運行速度慢的、被放在實驗室或辦公室角落的、沒人會用來做測試的計算機上。讓它開始在調試器模式下運行程序并每天檢查一下它的進展情況。如果猴子發現了bug,那么這些是你的項目組報告的bug中最低成本的。 [Page]

        像其他軟件測試工具一樣,一個好的笨猴子需要一定的代價來開發。但是不像很多測試工具,

        一個普通的笨猴子或“初學者”都能有很多發現bug的機會,只要你以合適的目的,在適當的時間運行它。隨著猴子顯示出它的價值,你可以添加更多的功能特性,給它更多的技巧。如果你在Windows平臺上使用Rational Visual Test,你就可以開始嘗試使用笨猴子,使用基于我們微軟內部的一個簡化的測試猴子。 

        (“Freddie”笨猴子是一個在Thomas R.Arnold的《Visual Test 6 Bible》這本書附帶的光盤上的程序。這本書的第14章詳細描述了猴子測試,并教你怎樣給Freddie添加更多的功能特性。)


請做出明智的選擇

        猴子測試絕對不應該只是你唯一的測試方法。猴子不了解你的程序,出于無知它們會漏掉很多bug。對于嵌入式系統,在簡單環境下運行的軟件,或者是很難實現自動化的項目,猴子都不會有什么大的作用。

        除非你已經有一個自動化的可讀入的模型或狀態表,否則聰明猴子的開發成本會非常的高。但是對于項目的關鍵部分,有一個簡單的小的狀態表,則會比較有效。對于壓力測試負載測試也很有用。在正確的地方使用的話,聰明猴子會找到很多有意義的bug。

        能理解操作系統的笨猴子可以在各種程序中使用,可以測試很多基本的東西。給你的猴子一些適當的教育,就能有效地提高猴子發現bug的機會。笨猴子不會找到很多的bug,但是它們找到的bug是程序崩潰,程序不響應等嚴重類型的,都是你最不想它們出現在產品中的bug。


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97