• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 探索式測試:基本概念

    發表于:2014-09-22來源:infoq作者:liangshi點擊數: 標簽:探索式測試
    探索式測試(exploratory testing)是一種自由的軟件測試風格,強調測試人員同時開展測試學習、測試設計、測試執行和測試結果評估等活動,以持續優化測試工作??紤]到它所具備的即興發

      什么是探索式測試?

      探索式測試(exploratory testing)是一種自由的軟件測試風格,強調測試人員同時開展測試學習、測試設計、測試執行和測試結果評估等活動,以持續優化測試工作??紤]到它所具備的即興發揮、快速實驗、隨時調整等特征,其思維方法可以追溯到軟件開發的最初歲月。作為一個特定的技術術語,它是由測試專家Cem Kaner博士在1983年提出的,并受到語境驅動的軟件測試學派(context driven testing school)的支持。測試專家James A. Whittaker曾是Cem Kaner在佛羅里達工學院(Florida Institute of Technology)的同事,后來擔任過微軟測試架構師和Google測試總監?;谠谖④浀墓ぷ鹘洑v和積累,他撰寫了《Exploratory Software Testing》一書,進一步擴展了探索式測試的概念和方法。

      探索式測試有豐富的內涵,Kaner博士用一頁幻燈片的篇幅介紹了探索式測試的核心。

    image

      首先,探索式測試是一種軟件測試風格(style),而不是一種具體的軟件測試技術(如等價類劃分、邊界值分析、組合測試等)。作為一種思維方法,探索式測試強調依據當前語境(context)選擇合適的測試技術,而不局限于特定的測試技術。雖然James A. Whittaker將他的書命名為《探索式軟件測試》,該書所提出的方法集仍舊屬于軟件測試技術(基于系統化錯誤猜測和測試隱喻),而不代表整個探索式測試。Whittaker的工作是很有意義的,本文指出它不是探索式測試的全部,是為了強調:當你和別人討論”探索式測試“時,你們得達成共識。你們是在討論一種思考方法,還是在討論這種思考方法指導下的測試技術。

      然后,探索式測試強調獨立測試人員(individual tester)的個人自由和責任(personal freedom and responsibility),其目的是為了持續優化其工作的價值(value)。測試人員應該為個人和團隊負責,調動所有能量,發揮人的靈活性,在整體上持續優化個人和團隊的產出。這段描述和精益生產(lean production)、敏捷軟件開發的理念高度一致,這也是探索式測試受到敏捷團隊歡迎的原因之一。

      最后,探索測試建議在整個項目過程中(throughout the project),將測試相關學習(test-related learning)、測試設計(test design)、測試執行(test execution)和測試結果解讀(test result interpretation)作為相互支持的活動(mutually supportive activities),并行地(parallel)執行。實際上,人腦難以并行地執行多項任務。探索式測試旨在將測試學習、測試設計、測試執行和測試分析做為一個循環快速地迭代,在較短的時間內(如1個小時)完成多次循環,以不斷收集反饋、調整測試、優化價值。該思路再次與敏捷軟件開發小步快跑、持續反饋的理念不謀而合。

      探索式測試與即興測試(ad-hoc testing)有何區別?

      探索式測試與即興測試的都強調”即興發揮“,利用直覺和經驗,快速地試驗被測試應用,并不停地調整測試策略。開發大師Andy Hunt在《Pragmatic Thinking and Learning》中指出,直覺是非顯性知識的代名詞,是大腦富(Rich)模式的杰出能力。如果我們只使用大腦的線性模式(語言可表達的顯性知識、邏輯思維),而漠視富模式的能量,我們將浪費自身的巨大潛力。

      然而人是不完美的,某些直覺可能是認知偏見或錯誤。這就引出了探索式測試與即興測試的關鍵不同:探索式測試是帶著”反思“的學習和優化過程。在探索式測試中,測試人員不斷地提出假設,用測試去檢驗假設,通過解讀測試結果來證實或推翻假設。在這個過程中,測試人員不斷完善頭腦中被測試應用的模型,然后利用模型、技能、經驗去驅動進一步的測試。相比即興測試不注重測試計劃和設計,探索式測試在不停地優化測試模型和測試設計。因為測試設計和測試執行的切換速度很快,許多人誤以為探索式測試沒有測試計劃和設計。實際上,這些活動是被切分到細微的時間片中,并被反復執行。

      如何實施探索式測試?

      探索式測試是一種測試風格,它鼓勵測試人員依據當前語境選擇合適的測試實施方法。我個人認為SMART原則為探索式測試提供了一些很好的建議。

      Specific(具體的):測試需要一個具體的目標。

      Measurable(可度量的):有明確的度量可以評估目標是否達成。

      Achievable(可實現的):當前的目標應該是可實現的。這潛在地要求將一個大的目標分解為多個小目標,每個小目標也是具體的、可度量的。此外,跟蹤小目標的完成情況也提供了整體進度的可度量性。

    原文轉自:http://www.cnblogs.com/liangshi/archive/2010/12/26/1917229.html

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>