楊麗波
摘 要:探索性測(cè)試是為解決傳統(tǒng)軟件測(cè)試方法中軟件需求或者設(shè)計(jì)文檔不完備,或者測(cè)試周期短導(dǎo)致的問(wèn)題而出現(xiàn)的新型的軟件測(cè)試方法。這種方法在一種全新的測(cè)試思維形式的指導(dǎo)下,通過(guò)激發(fā)測(cè)試人員的主觀能動(dòng)性和創(chuàng)造性,使測(cè)試人員在對(duì)系統(tǒng)邊理解、邊設(shè)計(jì)、邊測(cè)試的過(guò)程中發(fā)現(xiàn)傳統(tǒng)測(cè)試方法很難發(fā)現(xiàn)的缺陷。
關(guān)鍵詞:探索性測(cè)試;傳統(tǒng)軟件測(cè)試
探索性測(cè)試
探索性測(cè)試(Exploratory Testing)強(qiáng)調(diào)測(cè)試人員的主觀能動(dòng)性,要求測(cè)試人員在了解系統(tǒng)功能和結(jié)構(gòu)特點(diǎn)的同時(shí)進(jìn)行測(cè)試設(shè)計(jì)和測(cè)試執(zhí)行,簡(jiǎn)化測(cè)試的過(guò)程設(shè)計(jì),并在測(cè)試中根據(jù)不同情況及時(shí)調(diào)整測(cè)試策略。探索性測(cè)試要求測(cè)試人員具有長(zhǎng)期的測(cè)試經(jīng)驗(yàn),并具有較高的創(chuàng)造力和主動(dòng)性,能夠根據(jù)從系統(tǒng)獲取的信息去理解和分析系統(tǒng),并依據(jù)分析結(jié)果調(diào)整測(cè)試方法和設(shè)計(jì)新的用例,使測(cè)試、分析、設(shè)計(jì)成為一個(gè)循環(huán)的過(guò)程。
探索性測(cè)試方法
探索性測(cè)試的方法采用全新的測(cè)試思維,弱化了對(duì)完備的測(cè)試文檔的依賴性,簡(jiǎn)化了測(cè)試流程,測(cè)試人員根據(jù)對(duì)系統(tǒng)功能和結(jié)構(gòu)的理解和分析去設(shè)計(jì)測(cè)試,并不斷更新測(cè)試方法,在探索中發(fā)現(xiàn)系統(tǒng)的缺陷。目前比較常用的探索性測(cè)試方法主要有遍歷測(cè)試方法、純自由的探索性測(cè)試和漫游式探索性測(cè)試方法等。
遍歷測(cè)試方法就是在測(cè)試時(shí)選定某一類(lèi)目標(biāo),例如:所有對(duì)話框或者所有菜單項(xiàng),對(duì)這一類(lèi)目標(biāo)中的每一個(gè)個(gè)體,按照一定的次序依次測(cè)試,測(cè)試時(shí)不必追究非常細(xì)節(jié)的東西,只測(cè)試明顯的部分,這樣既避免遺漏,又可以保證總體測(cè)試效率。
純自由的探索性測(cè)試就是在測(cè)試過(guò)程中不依據(jù)某種設(shè)計(jì)測(cè)試用例的方法,設(shè)計(jì)用例集,而是任意抽取數(shù)據(jù)或者數(shù)據(jù)組合作為輸入,其形式與隨機(jī)測(cè)試非常相似,采用這種純自由的方式選擇數(shù)據(jù),優(yōu)點(diǎn)是能夠避免測(cè)試中的疲勞現(xiàn)象,而且能夠發(fā)現(xiàn)類(lèi)似頁(yè)面元素顯示錯(cuò)誤等不易發(fā)現(xiàn)但是危害程度也不高的缺陷。
漫游式探索性測(cè)試方法主要是啟發(fā)測(cè)試人員發(fā)揮想象力和創(chuàng)造性,盡可能地拓展測(cè)試設(shè)計(jì)思路,采用豐富而變化的測(cè)試方法發(fā)現(xiàn)更多的缺陷。
不管哪種探索性測(cè)試方法,其本質(zhì)都是結(jié)合測(cè)試人員自身經(jīng)驗(yàn),通過(guò)探索和考察被測(cè)軟件,在不拘泥于固定的測(cè)試流程和完備的測(cè)試文檔的前提下,采用拓展的方法和思想去測(cè)試軟件產(chǎn)品,發(fā)現(xiàn)缺陷。
探索性測(cè)試與傳統(tǒng)測(cè)試比較
傳統(tǒng)軟件測(cè)試
傳統(tǒng)的軟件測(cè)試方法本著早測(cè)試、早發(fā)現(xiàn)缺陷,提高軟件產(chǎn)品質(zhì)量的原則,要求在軟件的開(kāi)發(fā)初期就引入軟件測(cè)試。
例如在軟件測(cè)試 V 模型中,在軟件開(kāi)發(fā)的系統(tǒng)需求分析階段要做好系統(tǒng)測(cè)試的計(jì)劃和準(zhǔn)備工作,在概要設(shè)計(jì)階段要作好集成測(cè)試的準(zhǔn)備工作等等。但是,這樣提早進(jìn)行的測(cè)試工作,花費(fèi)了大量的時(shí)間在編寫(xiě)測(cè)試計(jì)劃和設(shè)計(jì)測(cè)試用例上,甚至在一些測(cè)試項(xiàng)目中,遠(yuǎn)遠(yuǎn)高于真正用在測(cè)試上的時(shí)間。
探索性測(cè)試
采用探索性測(cè)試方法進(jìn)行軟件測(cè)試,首先在了解軟件需求和測(cè)試任務(wù)等情況的基礎(chǔ)上制定最初的一批測(cè)試用例,然后執(zhí)行這些用例,分析執(zhí)行的結(jié)果,并根據(jù)在測(cè)試過(guò)程中獲得的信息對(duì)軟件產(chǎn)品進(jìn)行進(jìn)一步的理解,并反饋到測(cè)試設(shè)計(jì)中,形成新的一批測(cè)試用例并執(zhí)行,然后再分析執(zhí)行結(jié)果,再設(shè)計(jì)新用例,再執(zhí)行。如此反復(fù)循環(huán),直至完成原先設(shè)定的測(cè)試目標(biāo)。
探索性測(cè)試的特點(diǎn)
優(yōu)點(diǎn)
探索性測(cè)試不依賴事先設(shè)計(jì)好的完整的測(cè)試流程和完備的測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)文檔,在測(cè)試中根據(jù)測(cè)試人員對(duì)系統(tǒng)的分析理解靈活地調(diào)整測(cè)試設(shè)計(jì)和實(shí)現(xiàn)的方法,不斷設(shè)計(jì)更新測(cè)試用例,在較短的周期內(nèi)完成對(duì)系統(tǒng)的測(cè)試。采用探索性測(cè)試方法可以充分發(fā)揮測(cè)試者的創(chuàng)造性、主動(dòng)性、想象力,使測(cè)試者有更多的機(jī)會(huì)發(fā)現(xiàn)缺陷。
缺點(diǎn)
探索性測(cè)試方法因?yàn)槭孪炔蛔髡w規(guī)劃設(shè)計(jì),所以不利于測(cè)試的標(biāo)準(zhǔn)化,也不利于測(cè)試管理者對(duì)整個(gè)過(guò)程進(jìn)行管理和對(duì)測(cè)試結(jié)果的評(píng)估,在采用漫游式測(cè)試方法時(shí)經(jīng)常出現(xiàn)部分測(cè)試過(guò)程重復(fù)執(zhí)行,因此,探索性測(cè)試只適合在一些測(cè)試工期短或者測(cè)試文檔不足等特殊環(huán)境下使用,并不能取代傳統(tǒng)測(cè)試方法而廣泛使用。
(作者單位:淮安信息職業(yè)技術(shù)學(xué)院)
【參考文獻(xiàn)】
[1]朱昭俊,蘇賽. 探索性測(cè)試方法分析[M].工程技術(shù)出版社,2012.
[2]James A.Whittaker.探索式軟件測(cè)試[M].方敏,張勝,等譯.清華大學(xué)出版社,2010(04).
[3]鄭人杰. 計(jì)算機(jī)軟件測(cè)試技術(shù)[M].清華大學(xué)出版社,1992.
[4]譚鳳. 電腦迷[M]. 基于敏捷測(cè)試過(guò)程的探索性測(cè)試方法研究.科學(xué)技術(shù)學(xué)會(huì),2017.
[5]古樂(lè),史九林.軟件測(cè)試案例和實(shí)踐教程[M].清華大學(xué)出版社,2008.
[6]Ron Patton.軟件測(cè)試[M].周予濱,姚靜,譯.機(jī)械工業(yè)出版社,2002.