<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ā)表于:2013-02-17來(lái)源:一淘測試作者:菁菁點(diǎn)擊數: 標簽:探索性測試
            探索性測試不是終結性測試。探索性測試能夠(而且的確可以)發(fā)生在開(kāi)發(fā)或測試的任何階段。 事實(shí)上,TDD(測試驅動(dòng)開(kāi)發(fā))是探索性開(kāi)發(fā)的一種形式。

              探索性測試不是終結性測試。探索性測試能夠(而且的確可以)發(fā)生在開(kāi)發(fā)或測試的任何階段。

              事實(shí)上,TDD(測試驅動(dòng)開(kāi)發(fā))是探索性開(kāi)發(fā)的一種形式。TDD是循環(huán)進(jìn)行的,在這個(gè)過(guò)程中,程序員建立了一個(gè)檢查,繼而開(kāi)發(fā)代碼,以使這個(gè)檢查(以及之前的所有檢查)通過(guò),然后修復她發(fā)現的一些問(wèn)題,接著(zhù)會(huì )再次循環(huán)去實(shí)現一些新的特性,并開(kāi)展新的檢查。從每個(gè)循環(huán)中獲得的信息反饋到下個(gè)循環(huán);該活動(dòng)由當時(shí)參與的而不是提前設計的人來(lái)指導和構建的。檢查本身是定制的,而產(chǎn)生和分析結果所需的活動(dòng)卻不是定制的。和代碼開(kāi)發(fā)過(guò)程中所進(jìn)行的探索性的、迭代的、復雜的認知活動(dòng)相比,這些定制的、線(xiàn)性的檢查本身就不那么重要了。

              需求評審也是一項探索性的活動(dòng)。審查的要求(或規格,或用戶(hù)或實(shí)例),無(wú)論它是一個(gè)長(cháng)的或短的周期,往往發(fā)生在開(kāi)發(fā)周期的早期。雖然檢查列表可能會(huì )指導評審的開(kāi)展,但是做決定的卻是那些參與活動(dòng)并經(jīng)歷了設計,調查,發(fā)現問(wèn)題及學(xué)習,這個(gè)整個(gè)回環(huán)過(guò)程的人。每個(gè)循環(huán)的結果往往會(huì )緊接著(zhù)反饋到下一個(gè)活動(dòng)。

              代碼審查也可以通過(guò)照本定制的方式或探索的方式進(jìn)行。當人們分析代碼的時(shí)候,是循環(huán)發(fā)生、非照本宣科的、自我導向的活動(dòng);它是探索性的。我們稱(chēng)之為審查,但它收集信息的目的是告知一個(gè)決定;因此這就是測試。有一種圍繞著(zhù)定制程序應用的代碼審查方法,它通過(guò)一個(gè)人們一般稱(chēng)之為“靜態(tài)測試工具”的工具。當一臺機器解析代碼并產(chǎn)生一個(gè)報告,根據定義,它是一種形式的檢查,而且它是定制的。然而,高效的使用這些工具需要大量的探索活動(dòng)。分析和解釋報告,以及對它做出反應是多形態(tài)的,因此,人的這種非照本宣科的、開(kāi)放式結尾的、迭代的活動(dòng)是探索性的。

              如果你想這樣做或促進(jìn)這個(gè)新產(chǎn)品或功能的發(fā)展,了解一個(gè)新產(chǎn)品或新功能亦是一項探索性的活動(dòng)。有些人認為,測試腳本提供了一種訓練測試人員的有效的手段。對學(xué)習的研究表明,當他們的學(xué)習是基于互動(dòng)和反饋的時(shí)候他們往往會(huì )學(xué)得更快更深入;這可能是因為他們是被引導著(zhù)去學(xué)習而不是受控制去學(xué)習。如果你真的想了解一個(gè)產(chǎn)品,那就嘗試創(chuàng )建一個(gè)思維導圖,去證明這個(gè)程序行為的某一方面,或者創(chuàng )建出人們在使用或誤用這個(gè)產(chǎn)品時(shí)可能會(huì )產(chǎn)生的情況。所有這些活動(dòng)都促進(jìn)了你對該產(chǎn)品的了解,所以他們都是探索性活動(dòng)。在這個(gè)過(guò)程中,有大量你可以使用、應用及發(fā)現的信息,它遠遠超過(guò)了一個(gè)腳本所能告訴你的。試想想,那這種活動(dòng)的的腳本又從何而來(lái)呢?

              開(kāi)發(fā)測試程序---甚至是開(kāi)發(fā)一個(gè)測試腳本,無(wú)論是為一臺機器還是為一個(gè)人的,或開(kāi)發(fā)熟練的測試員稱(chēng)之為示范的那種“測試”,這是一個(gè)探索性的活動(dòng)。沒(méi)有任何一個(gè)腳本會(huì )詳述如何編寫(xiě)一個(gè)為某一目的而開(kāi)發(fā)的新腳本。你是不是聽(tīng)說(shuō)了一項新功能并思考著(zhù)你可能會(huì )如何測試它?實(shí)際上從這時(shí)候你已經(jīng)開(kāi)始測試了;你正在做測試設計,同時(shí)你也很可能在學(xué)習。在一定程度上,你使用該產(chǎn)品或與它進(jìn)行交互,把你的觀(guān)點(diǎn)反饋給其他人,或批判性的思考你的設計,這個(gè)時(shí)候你在測試,而且你是用一種隨機方式的方式去進(jìn)行。有些人可能會(huì )認為,某些工具創(chuàng )建的腳本可以執行自動(dòng)檢查。然而,這些檢查的適當性審查,解釋結果,并進(jìn)行故障排除意外的結果所有這些都是探索性活動(dòng)。

              假設一個(gè)程序員,在她快要完成一個(gè)新模塊時(shí)候,想要獲得關(guān)于她做的這個(gè)新模塊到目前為止的一些反饋。她遞給你一些代碼來(lái)看。你可以直接通過(guò)她提供的測試工具與代碼交互,或通過(guò)比如Ruby這樣的解釋器,或者你也可以寫(xiě)一些腳本代碼來(lái)運行她這個(gè)模塊中的一些功能。無(wú)論是通過(guò)這些方式的任何一個(gè),你都會(huì )發(fā)現它的一些問(wèn)題。為了調查你所發(fā)現的問(wèn)題,你必須探究。您必須探究你所識別的問(wèn)題由你自己與這個(gè)程序的互動(dòng)引出的,還是由機械執行的腳本所引出的。你控制著(zhù)整個(gè)活動(dòng);圍繞著(zhù)這一問(wèn)題的每一個(gè)新的測試會(huì )反饋到你所選擇的下一個(gè)活動(dòng),以及反饋到你要講的關(guān)于這個(gè)產(chǎn)品的具體詳情。

              我上面描述的所有較大的活動(dòng)都是探索性的,他們發(fā)生在你得到一個(gè)完整的有關(guān)產(chǎn)品的詳情或功能之前,或一個(gè)程序完成之前。探索性測試不是在你執行完其他測試技術(shù)之后你又要展開(kāi)的一個(gè)測試的一個(gè)階段。探索性測試不是另一個(gè)“其他”測試技術(shù),因為它根本不是一個(gè)技術(shù)。探索性測試不是你做的一件事情,而是你工作(思考和行為)一種方法,它的特點(diǎn)是人(或事物)可控制的,而且在一定程度上你的活動(dòng)是一個(gè)循環(huán)的一部分,而不是直線(xiàn)進(jìn)行的。任何測試技術(shù)都可以用固定的方法或探索性方法去執行。對于那些宣揚通過(guò)可接受性測試之后再做探索性測試的人來(lái)說(shuō),我給他們的建議就是:要仔細審視,并時(shí)刻注意你是否做到了探索性測試。

            原文轉自:http://www.developsense.com/blog/2011/12/what-exploratory-testing-is-not-part-2-after-everything-else-testing/

            老湿亚洲永久精品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>