qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          如何攻破軟件

           《How to break software》是James A.Whittaker 2000年的一篇有關如何組織帶有明確目標的測試策略的文獻。文章軟件測試的過程比喻為“攻擊”軟件以發現bug的狩獵過程。目的在于使測試用例的設計變得有章可循,迅速提高軟件測試效率。
            James A.Whittaker,測試界的權威人物,先后在IBMGoogle、Microsoft擔任過顧問、工程總監、架構師等職位,在測試領域著有《How google test software》等著作。
            文章將“攻擊”軟件的策略分為三個大類:
              輸入/輸出攻擊
              數據攻擊
              運算攻擊
            每個類型又分為多個小類型,導致特定的有趣的bug。然后以Microsoft Office系列產品為主要對象,以其中真實的
            bug為例,具體說明每一種攻擊策略是怎樣導致缺陷呈現的。
            輸入/輸出攻擊
            所謂的“黑盒測試”,又可以分為以下具體的類型和施行策略。
            數據攻擊
            首先要理解數據是如何、在何處建立是必要的。
            從本質上講,數據的存儲是通過讀取輸入,然后將其存儲在內部或者存儲一些內部計算的結果來實現的。因此,測試正是通過提供輸入和執行計算來實現數據在應用程序中的傳遞。
            具體分為以下具體的類型和施行策略:
            
            運算攻擊
            
            總的來說,找bug不外乎幾種大概的思路:1.遍歷一遍輸入,把能出現的結果都覆蓋到;2.通過構造錯誤的輸出來設計輸入并執行輸入,驗證是否bug;3.有相互作用的事務組合測試,包括相互作用的數據、功能等行為。
            另外,作者提出了兩個更重要的測試思想:
            1.永遠不要低估了測試時懷揣一個具體目標的作用。太多的測試人員把時間浪費在毫無目的地輸入或者隨機地調用API試圖導致軟件出錯。實行測試意味著制定明確的目標——基于會出錯的點——然后設計測試用例來實踐該目標。這樣,每個測試用例都有目的性并且進度可以被隨時控制。
            2.測試應該是有趣的。

          posted on 2014-05-08 16:34 順其自然EVO 閱讀(196) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永康市| 利川市| 彝良县| 那曲县| 合山市| 射洪县| 台南县| 西华县| 太康县| 普兰县| 玛多县| 丰原市| 林周县| 金秀| 蓝田县| 普宁市| 兰考县| 华宁县| 临泉县| 鸡泽县| 宁强县| 石阡县| 四平市| 岚皋县| 闽侯县| 华亭县| 福建省| 钟山县| 星座| 黄浦区| 郁南县| 工布江达县| 收藏| 泰州市| 丹江口市| 津市市| 郁南县| 来凤县| 社旗县| 分宜县| 宝清县|