<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>

            探索式測試:基本概念

            發(fā)表于:2014-09-22來(lái)源:infoq作者:liangshi點(diǎn)擊數: 標簽:探索式測試
            探索式測試(exploratory testing)是一種自由的軟件測試風(fēng)格,強調測試人員同時(shí)開(kāi)展測試學(xué)習、測試設計、測試執行和測試結果評估等活動(dòng),以持續優(yōu)化測試工作??紤]到它所具備的即興發(fā)

              什么是探索式測試?

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

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

            image

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

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

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

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

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

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

              如何實(shí)施探索式測試?

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

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

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

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

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

            ...
            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>