劉 燕,謝曉妤,劉 巖(中國(guó)電子科技集團(tuán)公司第二十八研究所,南京,210007)
?
探索式軟件測(cè)試方法分析
劉 燕,謝曉妤,劉 巖
(中國(guó)電子科技集團(tuán)公司第二十八研究所,南京,210007)
摘要:本文將從探索式軟件測(cè)試的定義、思維模式和特點(diǎn)上進(jìn)行闡述,論述如何制定優(yōu)質(zhì)的探索章程以及探索式軟件測(cè)試的應(yīng)用和未來前景。
關(guān)鍵詞:探索式測(cè)試;探索式思維過程;探索章程
軟件已經(jīng)與我們的生活息息相關(guān),軟件測(cè)試是為了發(fā)現(xiàn)軟件設(shè)計(jì)和實(shí)現(xiàn)過程中的疏忽,保證軟件質(zhì)量的重要手段。軟件測(cè)試是與軟件進(jìn)行交互,觀察其行為并與預(yù)期進(jìn)行比較。一方面,受數(shù)據(jù)、交互、順序、配置、時(shí)間等因素影響,事先創(chuàng)建覆蓋全部情況的測(cè)試集用例是不可能的,另一方面,很多的軟件缺陷和軟件潛在風(fēng)險(xiǎn)并不是通過事先創(chuàng)建好的測(cè)試集用例發(fā)現(xiàn)的,軟件缺陷需要軟件測(cè)試人員運(yùn)用探索式軟件測(cè)試方法,通過自己的能力進(jìn)行觀察發(fā)現(xiàn)潛在風(fēng)險(xiǎn)進(jìn)行探索。
1.1定義
探索式軟件測(cè)試不是一個(gè)新近剛被提出來的測(cè)試技術(shù),也不是一種深?yuàn)W的技術(shù)。事實(shí)上,許多測(cè)試人員在知覺和不知覺地使用了這種技術(shù)。2003年,Jame Bach 給出了探索式測(cè)試的一個(gè)廣泛定義,探索式測(cè)試就是同時(shí)進(jìn)行學(xué)習(xí)和同時(shí)進(jìn)行測(cè)試設(shè)計(jì)和執(zhí)行。之后2008年,Cem Kaner又給出來探索式測(cè)試較為完整的定義,探索式軟件測(cè)試是一種測(cè)試風(fēng)格,強(qiáng)調(diào)個(gè)人自由和個(gè)人測(cè)試的責(zé)任,不斷優(yōu)化測(cè)試人員的工作質(zhì)量,把測(cè)試學(xué)習(xí)、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行和測(cè)試結(jié)果解析視為相互支持的活動(dòng),它們?cè)谡麄€(gè)項(xiàng)目過程中并行的運(yùn)行。
1.2探索式思維過程
探索式軟件測(cè)試的思維模型簡(jiǎn)稱為CPIE:
收集(collation):測(cè)試人員需要收集所有關(guān)于被測(cè)系統(tǒng)的所有信息,去了解和理解;
劃分優(yōu)先級(jí)(prioritization):測(cè)試人員需要對(duì)所有待測(cè)試的任務(wù)或模塊或特性進(jìn)行優(yōu)先級(jí)的劃分;
分析(investigation):測(cè)試人員劃分好有效級(jí)后,就需要對(duì)確定即將測(cè)試的任務(wù)進(jìn)行仔細(xì)的分析并預(yù)測(cè)其可能輸出的結(jié)果;
實(shí)施(experimentation):測(cè)試人員需要實(shí)際的去進(jìn)行測(cè)試,看看測(cè)試預(yù)期是否正確,信息是否正確,就會(huì)循環(huán)得影響到收集(collation)階段。
探索式軟件測(cè)試強(qiáng)調(diào)實(shí)施(experimentation)階段,設(shè)計(jì)的再好的測(cè)試集用例,在沒有實(shí)際進(jìn)行測(cè)試之前,不知道是好還是不好或者還有沒有其它更好的測(cè)試思路。同樣可以發(fā)現(xiàn)CPIE過程是一個(gè)循環(huán)的過程,在探索式軟件測(cè)試過程中,設(shè)計(jì)測(cè)試和執(zhí)行測(cè)試是互相驅(qū)動(dòng)和完善的過程。
1.3特點(diǎn)
探索式軟件測(cè)試的立場(chǎng)是測(cè)試人員結(jié)合場(chǎng)景真正使用了被測(cè)試系統(tǒng),只有對(duì)被測(cè)試系統(tǒng)有一定的了解和掌握,才能夠有效地對(duì)該系統(tǒng)進(jìn)行測(cè)試,在我們沒有真正接觸一個(gè)系統(tǒng)之前,我們很難完全了解這個(gè)系統(tǒng),雖然我們可以在測(cè)試計(jì)劃階段按照需求或設(shè)計(jì)要求寫出測(cè)試方案和測(cè)試用例,但寫出的測(cè)試方案和測(cè)試用例的可操作性有可能不強(qiáng)。對(duì)這種情況,探索式測(cè)試給測(cè)試者一個(gè)測(cè)試思路,如果我們可以在對(duì)系統(tǒng)的測(cè)試中逐步深入地學(xué)習(xí)該系統(tǒng),隨著測(cè)試人員在測(cè)試中對(duì)該系統(tǒng)越來越深入地了解,測(cè)試人員會(huì)注意到哪些情況是系統(tǒng)無(wú)法應(yīng)付自如的,這將指導(dǎo)下一個(gè)的測(cè)試,這使測(cè)試變得更加有效率。
2.1章程含義
測(cè)試人員進(jìn)行探索的終極目標(biāo)是搜尋那些有價(jià)值的信息。有價(jià)值的信息可分成三大類:
這就是我們的一個(gè)簡(jiǎn)單的探索章程三段式模板。一個(gè)優(yōu)質(zhì)的探索章程既能提供給測(cè)試人員一個(gè)明確的導(dǎo)向,又不會(huì)過度細(xì)化成了測(cè)試用例。但如果探索章程太過于寬泛,無(wú)法給問題提供足夠的關(guān)注,即目標(biāo)太大,可能永遠(yuǎn)也完不成探索任務(wù)。
2.2制定探索章程
探索章程的制定是在提醒軟件測(cè)試人員集中精力關(guān)注某個(gè)特定種類的信息或風(fēng)險(xiǎn)。舉例說明,在空中交通管制系統(tǒng)中,管制員是系統(tǒng)用戶,對(duì)用戶可能會(huì)做的修改經(jīng)緯度操作制定一個(gè)探索章程,如下所示:
這個(gè)探索章程只關(guān)注于飛行航線編輯功能,只對(duì)經(jīng)緯度的輸入錯(cuò)誤時(shí)進(jìn)行探索。如果把資源改成“使用負(fù)的經(jīng)緯度”,那制定的這個(gè)探索章程就太具體了,已經(jīng)沒有什么可以探索的了,所以探索章程的制定,是在發(fā)現(xiàn)了一個(gè)不確定性或者是依賴關(guān)系不明確的信息進(jìn)行探索。
探索式軟件測(cè)試技術(shù)在某些情況下,它比腳本測(cè)試更高效,那么在什么樣的情況下應(yīng)用更為高效。
探索式軟件測(cè)試是測(cè)試人員根據(jù)現(xiàn)實(shí)場(chǎng)景進(jìn)行的一種主動(dòng)測(cè)試,需要在有限的時(shí)間中選擇并做出正確的事情,需要有明確的戰(zhàn)略和方向,但又必須預(yù)留一定的空間和時(shí)間使每個(gè)測(cè)試人員可以充分運(yùn)作起來,在測(cè)試的過程中隨機(jī)應(yīng)變。探索式軟件測(cè)試鼓勵(lì)著測(cè)試人員邊測(cè)試邊計(jì)劃,運(yùn)用測(cè)試中收集到的信息,影響自己正在進(jìn)行測(cè)試的實(shí)際方式。
參考文獻(xiàn)
[1]James Bach,Exploratory Testing Explained[EB/ OL],2003.4.(1)http://www.satisfice.com/articles/etarticle.pdf
[2]Cem Kaner,A Tutorial in Exploratory Testing[EB/ OL],2008.4:(36).http://http://www.kaner.com/pdfs/ QAIExploring.pdf
Analysis of test method for exploring software
Liu Yan,Xie Xiaoyu,Liu Yan
(twenty-eighth Research Institute, China Electronic Technology Group Corporation,Nanjing,210007)
Abstract:In this paper,the definition,thinking mode and characteristics of exploratory software testing are discussed,and how to make the quality of the articles of association and the application and future prospects of exploratory software testing are discussed.
Keywords:exploratory testing;exploratory thinking process;exploration of the articles of association