亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟 件 探 索 性 測(cè) 試 研 究 進(jìn) 展

        2014-02-05 02:09:14余久久張佑生
        實(shí)驗(yàn)室研究與探索 2014年2期
        關(guān)鍵詞:測(cè)試人員探索性測(cè)試用例

        余久久, 張佑生

        (安徽三聯(lián)學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,安徽 合肥 230601)

        0 引 言

        軟件探索性測(cè)試[1]是一種測(cè)試思想或測(cè)試策略,要求測(cè)試人員在測(cè)試過(guò)程中同時(shí)展開測(cè)試學(xué)習(xí)、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行和測(cè)試結(jié)果評(píng)估等活動(dòng),達(dá)到持續(xù)優(yōu)化測(cè)試工作的目的。探索性測(cè)試不是、也不隸屬于某一種具體的軟件測(cè)試技術(shù)(白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試),在實(shí)際測(cè)試應(yīng)用中不會(huì)受到測(cè)試軟件的某一特性或方面(如功能測(cè)試、性能測(cè)試、易用性測(cè)試、界面測(cè)試等)所約束,在軟件開發(fā)過(guò)程中的任一測(cè)試階段(如單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試等)均可應(yīng)用,亦可運(yùn)用于不同的測(cè)試實(shí)施組織(如用戶測(cè)試、第三方測(cè)試等)或與相應(yīng)的測(cè)試技術(shù)結(jié)合起來(lái)。

        探索性測(cè)試需要測(cè)試人員在測(cè)試過(guò)程中反復(fù)了解與學(xué)習(xí)被測(cè)軟件,結(jié)合自身測(cè)試經(jīng)驗(yàn)把不斷整理與綜合分析得出的測(cè)試信息快速反饋至下一次測(cè)試活動(dòng)中,從而激發(fā)出更多的測(cè)試思想或測(cè)試策略。探索性測(cè)試也是當(dāng)前軟件測(cè)試領(lǐng)域中較前沿的思想理論,并不完全依賴于事先所設(shè)計(jì)的一塵不變的測(cè)試場(chǎng)景或測(cè)試腳本。以測(cè)試目標(biāo)為向?qū)?,測(cè)試人員充分利用任何與測(cè)試目標(biāo)有關(guān)聯(lián)的信息,例如需求文檔、用戶手冊(cè)、甚至是被測(cè)軟件或類似產(chǎn)品的缺陷歷史信息等,在無(wú)明確的測(cè)試指導(dǎo)環(huán)境下通過(guò)主動(dòng)的“探索”來(lái)發(fā)現(xiàn)軟件缺陷。

        1 探索性測(cè)試

        1.1 探索性測(cè)試的引入

        探索性測(cè)試是近年來(lái)針對(duì)腳本化測(cè)試過(guò)程中因嚴(yán)格遵循“先測(cè)試設(shè)計(jì),后測(cè)試執(zhí)行”策略所暴露出的若干問(wèn)題[2-5]所提出。例如,測(cè)試初期因測(cè)試需求不明確而無(wú)法確定測(cè)試場(chǎng)景;測(cè)試執(zhí)行對(duì)需求變更的應(yīng)對(duì)能力較弱,測(cè)試環(huán)境與組合的不斷變化使腳本化測(cè)試難以及時(shí)跟蹤;使用事先設(shè)計(jì)好的測(cè)試用例去指導(dǎo)測(cè)試實(shí)施過(guò)程會(huì)降低測(cè)試者的主觀能動(dòng)性;耗費(fèi)在測(cè)試設(shè)計(jì)階段的時(shí)間已遠(yuǎn)遠(yuǎn)超過(guò)測(cè)試執(zhí)行時(shí)間而增加測(cè)試成本等。鑒于現(xiàn)代企業(yè)在實(shí)際測(cè)試項(xiàng)目的運(yùn)作過(guò)程中均存在開發(fā)初期文檔資料缺乏、短時(shí)間內(nèi)開發(fā)版本演化過(guò)于頻繁或產(chǎn)品不穩(wěn)定、測(cè)試人員缺乏相應(yīng)專業(yè)技能而沒有充裕時(shí)間編寫測(cè)試計(jì)劃和測(cè)試腳本的現(xiàn)狀,測(cè)試人員在測(cè)試實(shí)踐中均有意或無(wú)意的不同程度采用“探索或摸索的思想”執(zhí)行測(cè)試過(guò)程來(lái)彌補(bǔ)腳本化測(cè)試的不足,從而引入了對(duì)軟件“探索測(cè)試”的思維方式。

        1.2 探索性測(cè)試的組織與實(shí)施過(guò)程

        探索性測(cè)試中,平行展開且相互支持而形成循環(huán)反饋的學(xué)習(xí)、設(shè)計(jì)、執(zhí)行與結(jié)果分析四個(gè)測(cè)試活動(dòng)構(gòu)成了測(cè)試實(shí)施過(guò)程。學(xué)習(xí)階段中,學(xué)習(xí)的內(nèi)容不僅包括測(cè)試軟件的用途和系統(tǒng)需求、顯示用途及特性,也包括對(duì)相關(guān)軟件的風(fēng)險(xiǎn)與失效信息(如同類軟件或被測(cè)對(duì)象以前版本的失效信息)、被測(cè)對(duì)象的隱形規(guī)格說(shuō)明(如開發(fā)人員、專家和用戶等軟件不同利益相關(guān)者提出的設(shè)計(jì)規(guī)格要求)等。設(shè)計(jì)階段中,如何由學(xué)習(xí)階段所獲得一切與軟件有關(guān)的信息而設(shè)計(jì)出高效的測(cè)試用例(集)來(lái)定位軟件潛在的缺陷風(fēng)險(xiǎn)是該階段重要的挑戰(zhàn)。文獻(xiàn)[6]把開發(fā)針對(duì)測(cè)試對(duì)象的測(cè)試數(shù)據(jù)與判斷準(zhǔn)則作為探索性測(cè)試設(shè)計(jì)的輸出,但不必形成規(guī)范的腳本文檔。文獻(xiàn)[7]認(rèn)為設(shè)計(jì)內(nèi)容來(lái)源于軟件的失效列表和簡(jiǎn)單的被測(cè)功能信息清單。文獻(xiàn)[8]認(rèn)為把如何從應(yīng)用于某具體測(cè)試技術(shù)中所獲得的以及同類軟件的缺陷或風(fēng)險(xiǎn)列表中生成測(cè)試用例(集)是探索性測(cè)試設(shè)計(jì)的關(guān)鍵。文獻(xiàn)[9]提出了構(gòu)建分別由測(cè)試功能點(diǎn)描述信息與測(cè)試人員組合資源分配以行與列所組成的二維測(cè)試圖作為測(cè)試設(shè)計(jì)對(duì)象,通過(guò)把不同的測(cè)試功能點(diǎn)組合分配給不同測(cè)試人員測(cè)試所生成的各種排列組合來(lái)指導(dǎo)探索性測(cè)試的執(zhí)行。執(zhí)行階段可以采用手工測(cè)試或自動(dòng)化測(cè)試方式,通常采用不拘泥于測(cè)試計(jì)劃實(shí)現(xiàn),而易于激發(fā)測(cè)試人員測(cè)試主觀創(chuàng)造性的結(jié)對(duì)測(cè)試方式[10](兩位測(cè)試人員同時(shí)參與測(cè)試過(guò)程,其中一人執(zhí)行測(cè)試活動(dòng),另一人記錄測(cè)試結(jié)果并且提供測(cè)試建議或提出問(wèn)題)進(jìn)行。其優(yōu)點(diǎn)在于把兩個(gè)不同背景的測(cè)試人員的測(cè)試信息洞察力同時(shí)運(yùn)用于測(cè)試用例的設(shè)計(jì)或分析問(wèn)題,有利于測(cè)試思想的激發(fā)與延伸。結(jié)果分析主要是判斷測(cè)試用例是否執(zhí)行,測(cè)試過(guò)程中是否產(chǎn)生新發(fā)現(xiàn)或存在測(cè)試遺漏等問(wèn)題。測(cè)試用例執(zhí)行通過(guò)的評(píng)判標(biāo)準(zhǔn)是該階段的關(guān)鍵。作者傾向于文獻(xiàn)[11]中提出的準(zhǔn)則。

        實(shí)施探索性測(cè)試的難點(diǎn)在于測(cè)試執(zhí)行環(huán)節(jié),需要具有豐富測(cè)試設(shè)計(jì)經(jīng)驗(yàn)的測(cè)試者在項(xiàng)目開發(fā)周期中不完全依賴事先編寫好的測(cè)試用例或測(cè)試腳本,充分發(fā)揮自由想象空間去探索被測(cè)對(duì)象。當(dāng)前國(guó)內(nèi)外不少專家學(xué)者都一致提出“腳本化測(cè)試為主、探索性測(cè)試為輔”的二者相互融合的方案,在不同的項(xiàng)目中采取不同的結(jié)合方式可以取得良好的測(cè)試效果。比較典型的有:軟件測(cè)試之初以正式腳本為指導(dǎo),然后在腳本中隨機(jī)加入各種變化進(jìn)行探索性測(cè)試并觀察[12];或是先有計(jì)劃地修改事先所制定測(cè)試腳本中定義的某些步驟再進(jìn)行測(cè)試;以及先脫離測(cè)試腳本的描述,而使用探索性測(cè)試思想進(jìn)行自由發(fā)揮,再馬上回到腳本中[13]等。盡管以上研究已取得一定進(jìn)展,但是當(dāng)前針對(duì)有關(guān)在探索性測(cè)試執(zhí)行環(huán)節(jié)中如何取代腳本化測(cè)試中事先設(shè)計(jì)測(cè)試用例的活動(dòng),而采用另一種途徑計(jì)劃、建構(gòu)、引導(dǎo)及追蹤測(cè)試過(guò)程的探究仍屬空白,這將成為未來(lái)關(guān)注的熱點(diǎn)方向。

        1.3 探索性測(cè)試的特點(diǎn)

        近年來(lái)很多文獻(xiàn)[14-16]只是把探索性測(cè)試歸結(jié)為是一種可有可無(wú)的隨機(jī)測(cè)試方法,旨在發(fā)現(xiàn)更多的缺陷。和隨機(jī)測(cè)試不同,探索性測(cè)試注重對(duì)測(cè)試結(jié)果的分析與判斷,把對(duì)被測(cè)對(duì)象的學(xué)習(xí)、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行與分析結(jié)果作為并行與相互支持的測(cè)試活動(dòng)來(lái)形成一個(gè)快速迭代,達(dá)到持續(xù)優(yōu)化測(cè)試價(jià)值的目的。測(cè)試者可以缺乏測(cè)試經(jīng)驗(yàn),但是需要具備一定的天賦、測(cè)試直覺及想象力,高水平智商與外向型性格將直接決定探索性測(cè)試的效率[17]。探索性測(cè)試運(yùn)用于敏捷開發(fā)項(xiàng)目會(huì)呈現(xiàn)出較高測(cè)試效率。敏捷開發(fā)模式下,測(cè)試者設(shè)計(jì)和執(zhí)行的內(nèi)容來(lái)源于頻繁演化的測(cè)試用例。不斷設(shè)計(jì)與執(zhí)行被測(cè)對(duì)象中功能及數(shù)據(jù)的不同輸入組合將導(dǎo)致測(cè)試對(duì)象中新的測(cè)試組合,從而拓寬和增加測(cè)試覆蓋率[18]。然而其所表現(xiàn)出的測(cè)試組合無(wú)窮性,在腳本化測(cè)試中卻無(wú)法預(yù)先全部定義。此外,迭代開發(fā)早期所呈現(xiàn)出軟件需求變更頻繁、測(cè)試場(chǎng)景不確定等因素將導(dǎo)致軟件設(shè)計(jì)及測(cè)試文檔的更新有難度,而探索性測(cè)試在實(shí)際應(yīng)用中所具備的文檔最小化特征將體現(xiàn)出很好的測(cè)試優(yōu)勢(shì)。

        但是探索性測(cè)試也存在不足之處。由于當(dāng)前缺乏系統(tǒng)的理論指導(dǎo),不了解應(yīng)用探索性測(cè)試的具體流程及缺乏事先計(jì)劃好的測(cè)試架構(gòu),在評(píng)估測(cè)試效果與發(fā)現(xiàn)測(cè)試覆蓋率方面還存在困難。文獻(xiàn)[19]指出探索性測(cè)試在實(shí)際測(cè)試項(xiàng)目的應(yīng)用中沒有預(yù)防缺陷的能力。文獻(xiàn)[20]則認(rèn)為探索性測(cè)試會(huì)導(dǎo)致純自由或單一的測(cè)試過(guò)程,使得測(cè)試者在測(cè)試中沒有重點(diǎn),漫無(wú)目的嘗試各種情況試圖發(fā)現(xiàn)軟件缺陷,測(cè)試效率低下。所以目前大多數(shù)測(cè)試機(jī)構(gòu)都是把探索性測(cè)試及其應(yīng)用作為對(duì)常規(guī)腳本化測(cè)試過(guò)程的有益補(bǔ)充。

        1.4 對(duì)發(fā)現(xiàn)缺陷特征的研究

        對(duì)發(fā)現(xiàn)缺陷特征方面的研究也是近幾年軟件測(cè)試研究的熱點(diǎn),目前國(guó)內(nèi)研究尚未起步。但是國(guó)外一些測(cè)試機(jī)構(gòu)已開始嘗試,主要采取與腳本化測(cè)試過(guò)程的實(shí)驗(yàn)數(shù)據(jù)比較來(lái)研究所發(fā)現(xiàn)缺陷的數(shù)目、特征類型及覆蓋情況,并取得一定的成果。Juha.Itkonen等人在文獻(xiàn)[21]中通過(guò)對(duì)兩組測(cè)試者就包含于事先植入錯(cuò)誤的開源軟件分別進(jìn)行探索性與腳本化測(cè)試方式的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明在發(fā)現(xiàn)缺陷的難度方面兩種測(cè)試方法無(wú)顯著區(qū)別,但就所發(fā)現(xiàn)缺陷的危害嚴(yán)重程度而言,探索性測(cè)試所發(fā)現(xiàn)的較嚴(yán)重的缺陷數(shù)目略高于腳本化測(cè)試,嚴(yán)重性低的缺陷數(shù)目卻明顯高于腳本化測(cè)試。在發(fā)現(xiàn)缺陷類型方面,探索性測(cè)試所發(fā)現(xiàn)的功能性缺陷數(shù)目略高于腳本化測(cè)試;而用戶界面接口缺陷與軟件可用性缺陷數(shù)目則要顯著高于腳本化測(cè)試。而在發(fā)現(xiàn)技術(shù)性缺陷及性能缺陷方面,探索性測(cè)試明顯低于腳本化測(cè)試。

        同樣文獻(xiàn)[22]也認(rèn)為探索性測(cè)試能發(fā)現(xiàn)更多的用戶圖形界面接口缺陷,常規(guī)的腳本化測(cè)試過(guò)程中事先設(shè)計(jì)的測(cè)試用例在后續(xù)指導(dǎo)測(cè)試軟件用戶界面接口方面所起作用不大。

        Prakash.V等人在文獻(xiàn)[23]中則根據(jù)迭代開發(fā)某算數(shù)計(jì)算器程序?yàn)槔謩e通過(guò)腳本化與探索性兩種方法進(jìn)行測(cè)試,每次測(cè)試時(shí)間為8 h、共進(jìn)行7輪測(cè)試周期的迭代測(cè)試實(shí)驗(yàn)(實(shí)驗(yàn)數(shù)據(jù)如表1所示)。得出盡管腳本化測(cè)試與探索性測(cè)試都是可以發(fā)現(xiàn)大量缺陷,所發(fā)現(xiàn)的缺陷總數(shù)大體相當(dāng)(試驗(yàn)中兩種測(cè)試方法所發(fā)現(xiàn)缺陷數(shù)目總數(shù)分別為51和59)。但是在基于迭代開發(fā)方式下,測(cè)試初期探索性測(cè)試在較短時(shí)間內(nèi)能發(fā)現(xiàn)較多的軟件缺陷,例如在前兩輪測(cè)試周期中腳本化測(cè)試與探索性測(cè)試所發(fā)現(xiàn)的缺陷數(shù)目分別為14與21。腳本化測(cè)試所發(fā)現(xiàn)的缺陷大都集中在有限的迭代測(cè)試階段(如第2輪、第3輪與第4輪),而探索性測(cè)試所發(fā)現(xiàn)的缺陷相對(duì)較平均地分布在每次迭代測(cè)試階段中。

        表1 迭代開發(fā)模式下兩種測(cè)試方法發(fā)現(xiàn)缺陷數(shù)目

        2 探索性測(cè)試設(shè)計(jì)方法

        需求分析階段為了更好地了解產(chǎn)品,更周密地測(cè)試,測(cè)試人員會(huì)將被測(cè)對(duì)象所包含的功能進(jìn)行逐一分解來(lái)制定相應(yīng)測(cè)試設(shè)計(jì)方法。探索性測(cè)試作為一種測(cè)試思想或思考風(fēng)格,需要在一些典型的測(cè)試輸入設(shè)計(jì)技術(shù)中(如黑盒測(cè)試技術(shù)中的等價(jià)類劃分,邊界值分析等)融入相應(yīng)的探索式的測(cè)試輸入組合與變化,以便測(cè)試人員快速探索與掌握并且設(shè)計(jì)出測(cè)試范圍內(nèi)的關(guān)鍵測(cè)試點(diǎn)。作者在結(jié)合文獻(xiàn)[24-26]的基礎(chǔ)上分別從被測(cè)對(duì)象的單個(gè)功能特性、多個(gè)功能交互特性、與基于系統(tǒng)功能交互特性三個(gè)方面從探索性測(cè)試輸入設(shè)計(jì)的角度總結(jié)出相應(yīng)的測(cè)試設(shè)計(jì)方法。

        2.1 單個(gè)功能特性的測(cè)試設(shè)計(jì)方法

        2.1.1聯(lián)想測(cè)試設(shè)計(jì)方法

        適用于對(duì)被測(cè)對(duì)象的單一功能點(diǎn)進(jìn)行探索性測(cè)試的輸入設(shè)計(jì)。測(cè)試人員在無(wú)法全面了解被測(cè)對(duì)象的功能需求的環(huán)境下,探索使用的軟件產(chǎn)品,發(fā)現(xiàn)與記錄所遇到的缺陷,通過(guò)測(cè)試輸出進(jìn)一步補(bǔ)充與完善后續(xù)的測(cè)試設(shè)計(jì)活動(dòng)。方法的核心是基于黑盒測(cè)試中的等價(jià)類劃分測(cè)試技術(shù),歸納出的聯(lián)想測(cè)試設(shè)計(jì)方法如表2所示。

        2.1.2互聯(lián)網(wǎng)測(cè)試設(shè)計(jì)方法

        互聯(lián)網(wǎng)測(cè)試設(shè)計(jì)方法是基于互聯(lián)網(wǎng)環(huán)境下針對(duì)以網(wǎng)頁(yè)頁(yè)面形式所呈現(xiàn)的單個(gè)功能點(diǎn),以用戶操作視角主要從互聯(lián)網(wǎng)頁(yè)面的可用性與安全性兩個(gè)方面啟發(fā)測(cè)試設(shè)計(jì)思路,進(jìn)行探索性的測(cè)試設(shè)計(jì),學(xué)習(xí)與理解易遺漏的測(cè)試情景與異常流程。

        表2 聯(lián)想測(cè)試設(shè)計(jì)方法

        (注:① 無(wú)特定格式或含義,開發(fā)人員計(jì)劃中的或真實(shí)用戶使用的輸入值;② 測(cè)試輸入界面所提供的默認(rèn)值,如某一正常值、0值、空值、NULL等;③ 某些特殊情況下,或由某機(jī)緣巧合產(chǎn)生的輸入值:如字符A通過(guò)Shift+a輸入,變成了兩個(gè)輸入字符,可能與測(cè)試需求不符而發(fā)生測(cè)試異常;④ 測(cè)試輸入界面提供列表框或下拉列表框環(huán)境下,測(cè)試合法的輸入選項(xiàng)以及是否可以選定非法輸入選項(xiàng);⑤ 用類似選擇-判斷結(jié)構(gòu)實(shí)現(xiàn)的語(yǔ)句體,用來(lái)判斷接受輸入值合法;⑥ 位于程序結(jié)尾處或某單獨(dú)文件中,檢測(cè)與處理整個(gè)程序所發(fā)生的任何一個(gè)錯(cuò)誤的代碼段。)

        2.1.3單個(gè)特性漫游測(cè)試設(shè)計(jì)方法

        漫游探索性測(cè)試方法最早由James A. Whittaker提出,其最主要優(yōu)點(diǎn)是啟發(fā)與探索范圍更廣泛的測(cè)試設(shè)計(jì)思路,帶來(lái)更多的測(cè)試變化。作者在結(jié)合文獻(xiàn)[24,27]的基礎(chǔ)上從測(cè)試設(shè)計(jì)描述與實(shí)際測(cè)試意義(價(jià)值)兩個(gè)方面對(duì)單個(gè)被測(cè)特性歸納出多種漫游探索性測(cè)試設(shè)計(jì)方法,為新入職的測(cè)試人員與具備一定測(cè)試經(jīng)驗(yàn)的測(cè)試人員啟發(fā)探索性測(cè)試思路,歸納后如表5所示。

        2.2 基于多個(gè)功能交互特性測(cè)試設(shè)計(jì)方法

        2.2.1場(chǎng)景探索測(cè)試設(shè)計(jì)方法

        場(chǎng)景即從軟件需求分析中提煉出描述被測(cè)軟件功能及特性去實(shí)現(xiàn)用戶實(shí)際操作行為的問(wèn)題,從而由各種行為的不同組合來(lái)生成相應(yīng)的測(cè)試用例及其集合[28]。由于場(chǎng)景一般包含多個(gè)測(cè)試用例來(lái)描述用戶完成某一任務(wù)的條件、步驟與結(jié)果,用戶為完成某一場(chǎng)景中的任務(wù)需要進(jìn)行幾個(gè)單一功能的交互操作,所以場(chǎng)景探索測(cè)試設(shè)計(jì)方法適合對(duì)被測(cè)對(duì)象的交互特性的測(cè)試設(shè)計(jì),測(cè)試人員嘗試對(duì)場(chǎng)景的前提條件或?qū)崿F(xiàn)步驟做添增、刪除、重復(fù)、修改等相應(yīng)變化來(lái)探索發(fā)現(xiàn)更多缺陷。

        基于交互特性的場(chǎng)景測(cè)試設(shè)計(jì)方法思想,是根據(jù)用戶在實(shí)際中往往很少按照開發(fā)人員事先設(shè)計(jì)好的場(chǎng)景中所描述的步驟或方法使用軟件,通過(guò)為已知或基本場(chǎng)景注入相應(yīng)變化進(jìn)行的探索測(cè)試手段。作者從探索場(chǎng)景變化方案、測(cè)試設(shè)計(jì)變化內(nèi)容、測(cè)試設(shè)計(jì)描述與測(cè)試意義(價(jià)值)四個(gè)方面較詳細(xì)歸納出具體的基于場(chǎng)景的探索性測(cè)試方法,歸納后如表3所示。

        表3 基于交互特性的場(chǎng)景測(cè)試設(shè)計(jì)方法

        2.2.2交互特性的漫游測(cè)試設(shè)計(jì)方法

        基于交互特性的漫游探索測(cè)試設(shè)計(jì)方法的思路是在基礎(chǔ)測(cè)試場(chǎng)景的基礎(chǔ)上,探索被測(cè)任務(wù)可能產(chǎn)生的邏輯分支的步驟,先測(cè)試各個(gè)分支路徑(方向),然后再回到場(chǎng)景描述的路徑(方向)測(cè)試。該測(cè)試設(shè)計(jì)思路適合指導(dǎo)在軟件需求細(xì)節(jié)未明確的情況下有效開展探索性測(cè)試過(guò)程,彌補(bǔ)前期在需求測(cè)試與需求評(píng)審的不足,在一定程度上快速保證了測(cè)試質(zhì)量與覆蓋率。作者同樣在文獻(xiàn)[24-25]的基礎(chǔ)上就從測(cè)試設(shè)計(jì)描述與實(shí)際測(cè)試意義(價(jià)值)兩個(gè)方面對(duì)被測(cè)對(duì)象交互特性列出了以下漫游探索性測(cè)試設(shè)計(jì)方法。

        2.3 基于系統(tǒng)功能交互特性的測(cè)試設(shè)計(jì)方法

        2.3.1通用功能性與穩(wěn)定性的測(cè)試設(shè)計(jì)方法

        通用功能性與穩(wěn)定性的測(cè)試設(shè)計(jì)方法主要圍繞被測(cè)對(duì)象的使用目的、核心功能與潛在的不穩(wěn)定區(qū)域進(jìn)行的探索性測(cè)試設(shè)計(jì)方法。其專注于軟件核心任務(wù)的功能性和穩(wěn)定性。

        該方法認(rèn)為產(chǎn)品的某些隱藏性功能在僅僅考慮測(cè)試與用戶交互情景,而忽視與系統(tǒng)服務(wù)、其它程序、文件系統(tǒng)的交互過(guò)程是無(wú)法被識(shí)別出的,測(cè)試人員在產(chǎn)品界面上也不能直接觀察出某些隱藏性功能的作用。基于此,首先,把被測(cè)產(chǎn)品的功能在此測(cè)試設(shè)計(jì)方法中分為主要功能與貢獻(xiàn)性功能兩大類別。主要功能即從普通用戶的角度來(lái)看是否達(dá)到使用產(chǎn)品的主要目的;貢獻(xiàn)性功能即為使產(chǎn)品在使用上所具有相關(guān)實(shí)用性或易用性,提高用戶使用興趣的一些輔助性功能、增值服務(wù)類等隱藏性功能[24]。測(cè)試人員需要與軟件開發(fā)人員及產(chǎn)品經(jīng)理密切合作,重視與挖掘被測(cè)產(chǎn)品中的貢獻(xiàn)性功能。其次,測(cè)試人員還需要關(guān)注威脅產(chǎn)品穩(wěn)定性運(yùn)行的若干潛在的不穩(wěn)定因素:例如被測(cè)產(chǎn)品與操作系統(tǒng)交互緊密的功能;涉及到多線程操作的功能;與其它產(chǎn)品進(jìn)行交互的功能等。具有資深測(cè)試經(jīng)驗(yàn)的工程師可以就不穩(wěn)定因素參考與借鑒文獻(xiàn)[24]中表4所示的一些具有挑戰(zhàn)性的測(cè)試內(nèi)容及測(cè)試想法。

        測(cè)試人員在了解產(chǎn)品目的,確定產(chǎn)品功能與識(shí)別產(chǎn)品運(yùn)行不穩(wěn)定因素區(qū)域后,探索性設(shè)計(jì)每個(gè)被測(cè)功能點(diǎn)的測(cè)試用例,實(shí)施測(cè)試并記錄所發(fā)現(xiàn)問(wèn)題。

        2.3.2漫游地圖測(cè)試設(shè)計(jì)方法

        漫游地圖測(cè)試設(shè)計(jì)思想[29,30]是在被測(cè)系統(tǒng)主要功能測(cè)試完畢之后,采用“漫游”方法探索測(cè)試某些易忽視功能與特性。其趣味性體現(xiàn)在將被測(cè)軟件比喻成一個(gè)城市,把一些易于忽視的功能需求劃分成“觀光特點(diǎn)”不同的“旅游區(qū)域”。測(cè)試人員需要從整體上分析與把握被測(cè)系統(tǒng)的需求與目的,詳細(xì)了解其需求說(shuō)明文檔及架構(gòu)設(shè)計(jì)文檔,把被測(cè)系統(tǒng)功能需求劃分為“商業(yè)區(qū)”、“娛樂區(qū)”、“旅館區(qū)”、“破舊區(qū)”、“歷史區(qū)”、“旅游區(qū)”共六個(gè)測(cè)試著眼點(diǎn)不同的邏輯區(qū)域,在每一個(gè)區(qū)域內(nèi)確定出需要測(cè)試的單個(gè)特性或交互特性,運(yùn)用前文所介紹的單個(gè)特性與交互特性的探索性測(cè)試設(shè)計(jì)方法進(jìn)行測(cè)試設(shè)計(jì)與執(zhí)行。與指導(dǎo)旅游者游玩城市不同區(qū)域所借助的城市旅行指南類似,漫游地圖對(duì)被測(cè)系統(tǒng)區(qū)域的劃分從邏輯上劃分了產(chǎn)品的“非主要”特性,可以有效幫助測(cè)試人員探索出某些容易被忽視的測(cè)試范圍,制定出相應(yīng)的測(cè)試設(shè)計(jì)方法。同樣作者在文獻(xiàn)[24-30]的基礎(chǔ)上歸納出如表5所示的漫游地圖測(cè)試設(shè)計(jì)方法。

        表4 不穩(wěn)定因素中挑戰(zhàn)性的測(cè)試內(nèi)容與測(cè)試想法

        3 探索性測(cè)試應(yīng)用現(xiàn)狀

        探索性測(cè)試擁有其獨(dú)特的測(cè)試思考風(fēng)格及測(cè)試設(shè)計(jì)方法,但重要的是如何把該方法應(yīng)用到實(shí)際測(cè)試過(guò)程或測(cè)試技術(shù)中。本節(jié)就當(dāng)前國(guó)內(nèi)外有關(guān)探索性測(cè)試在實(shí)際測(cè)試活動(dòng)中的應(yīng)用現(xiàn)狀作介紹。

        3.1 引入探索性測(cè)試流程模型

        3.1.1X模型

        傳統(tǒng)的X模型的亮點(diǎn)是引入了探索性測(cè)試流程,旨在無(wú)需通過(guò)制定復(fù)雜的測(cè)試計(jì)劃和設(shè)計(jì)大量測(cè)試用例來(lái)發(fā)現(xiàn)更多的缺陷。由于X模型關(guān)注的是程序的低級(jí)別測(cè)試行為,同樣對(duì)于引入的探索性測(cè)試流程缺乏指明其所需要進(jìn)行相應(yīng)的測(cè)試設(shè)計(jì)活動(dòng)及測(cè)試內(nèi)容的描述,也無(wú)明確的需求角色活動(dòng)。

        3.1.2X改進(jìn)模型

        汕頭大學(xué)熊智等人在文獻(xiàn)[31]中對(duì)X模型進(jìn)行改進(jìn),在遵循原模型框架基礎(chǔ)上,對(duì)左右兩半部分內(nèi)部的測(cè)試活動(dòng)的執(zhí)行次序進(jìn)行相應(yīng)調(diào)整,增加了迭代測(cè)試與回歸測(cè)試。并且在X改進(jìn)模型的左半部分(模塊單元測(cè)試活動(dòng))與右半部分(模塊間的不斷交接,逐步進(jìn)行集成測(cè)試)中的回歸測(cè)試階段之前都增添了探索性測(cè)試活動(dòng),并指定由測(cè)試經(jīng)驗(yàn)豐富的測(cè)試組長(zhǎng)擔(dān)當(dāng)。圖1所示。

        表5 漫游地圖測(cè)試設(shè)計(jì)方法

        圖1 X改進(jìn)模型

        可是該應(yīng)用只是把探索性測(cè)試安插在系統(tǒng)模塊的單元測(cè)試與集成測(cè)試過(guò)程中,隨機(jī)進(jìn)行測(cè)試,成為回歸測(cè)試的一附帶補(bǔ)充測(cè)試。作為引入到模型中的一條簡(jiǎn)單籠統(tǒng)的測(cè)試流程,同樣缺少對(duì)采用探索性測(cè)試設(shè)計(jì)和測(cè)試輸入設(shè)計(jì)過(guò)程,對(duì)具體測(cè)試內(nèi)容缺少細(xì)致分析,未形成完整的測(cè)試過(guò)程體系。

        3.2 純自由的探索性測(cè)試

        純自由的探索性測(cè)試即在常規(guī)測(cè)試中選取任意測(cè)試輸入數(shù)據(jù)以任意方式組合來(lái)測(cè)試應(yīng)用程序的功能[32]。與隨機(jī)測(cè)試一樣,不遵循任何測(cè)試技術(shù)及相應(yīng)的測(cè)試計(jì)劃。測(cè)試前測(cè)試人員無(wú)需學(xué)習(xí)測(cè)試對(duì)象,也無(wú)需具備測(cè)試經(jīng)驗(yàn)或技能來(lái)完成“探索”測(cè)試過(guò)程。鑒于自由探索性測(cè)試中的“過(guò)分自由”測(cè)試特點(diǎn),在實(shí)際情況下更多采取與腳本化測(cè)試方法相結(jié)合共同完成測(cè)試活動(dòng)。

        文獻(xiàn)[24]認(rèn)為純自由的探索性測(cè)試方法應(yīng)該在常規(guī)測(cè)試中的第二輪測(cè)試結(jié)束后介入迭代測(cè)試環(huán)節(jié)較為合適。因?yàn)楸粶y(cè)模塊中大部分危害程度較高的缺陷可能第一輪常規(guī)測(cè)試后被修復(fù),第二輪測(cè)試將完成對(duì)修復(fù)后的缺陷的驗(yàn)證,且被測(cè)對(duì)象的測(cè)試免疫性大幅度提高。測(cè)試人員通過(guò)前兩輪測(cè)試對(duì)測(cè)試需求已較為熟悉,從第三輪測(cè)試起通過(guò)對(duì)前面測(cè)試中所發(fā)現(xiàn)問(wèn)題制定探索性測(cè)試計(jì)劃,通過(guò)盡可能多的改變各種隨機(jī)測(cè)試手段側(cè)重探索隱藏的錯(cuò)誤或異常流程可能觸發(fā)的問(wèn)題。此種介入自由探索性測(cè)試有助于提高測(cè)試差異性,解決測(cè)試疲勞現(xiàn)象,發(fā)現(xiàn)較多的用戶界面錯(cuò)誤或軟件頁(yè)面元素顯示錯(cuò)誤方面危害程度不是太高的隱藏缺陷。

        3.3 探索性與腳本化相結(jié)合的測(cè)試

        該測(cè)試方式采用以腳本化測(cè)試作為項(xiàng)目測(cè)試過(guò)程的主導(dǎo),從測(cè)試過(guò)程整體層面來(lái)看需要設(shè)計(jì)詳細(xì)的測(cè)試用例并依據(jù)測(cè)試用例文檔執(zhí)行測(cè)試,從執(zhí)行文檔化測(cè)試用例的局部層面上,開展探索性測(cè)試,由被測(cè)產(chǎn)品的輸出,設(shè)計(jì)與執(zhí)行更多的測(cè)試用例。盡管該測(cè)試方式的核心仍然是以腳本化測(cè)試為主、探索性測(cè)試為輔,但是充分利用了腳本化測(cè)試與探索性測(cè)試的部分特點(diǎn)。既保證了測(cè)試用例的詳實(shí)性與傳承性,也提高了測(cè)試的多樣性,有效保證產(chǎn)品質(zhì)量的可控性。

        當(dāng)然,探索性測(cè)試在軟件生命周期中處于什么樣的地位,何時(shí)介入腳本化測(cè)試進(jìn)程中等問(wèn)題,在不同的測(cè)試團(tuán)隊(duì)以及不同的測(cè)試項(xiàng)目中存在不同的定位。文獻(xiàn)[18,24]認(rèn)為詳細(xì)測(cè)試用例的執(zhí)行在腳本化測(cè)試初期與中期階段可以發(fā)現(xiàn)并修復(fù)驗(yàn)證產(chǎn)品重要功能及主要流程上所存在的絕大多數(shù)缺陷,在測(cè)試后期(如用戶驗(yàn)收測(cè)試、β測(cè)試)階段由于被測(cè)產(chǎn)品的免疫性會(huì)逐步提高,致使事先編寫好的固定的測(cè)試用例集無(wú)法適應(yīng)產(chǎn)品的變化,存在測(cè)試盲點(diǎn),所遺漏的缺陷會(huì)大都出現(xiàn)在用戶使用方面比較特殊的場(chǎng)景中。所以要求測(cè)試人員借助已有測(cè)試用例的標(biāo)題擴(kuò)展測(cè)試思路,或利用前文所介紹的單個(gè)特性與交互特性的探索性測(cè)試設(shè)計(jì)方法啟發(fā)新的測(cè)試思路,通過(guò)交叉測(cè)試策略[33](例如,測(cè)試前、中期,測(cè)試人員A與B分別測(cè)試與驗(yàn)證C模塊與D模塊;測(cè)試后期,測(cè)試人員A與B互換測(cè)試各自先前的測(cè)試模塊)開展探索性測(cè)試活動(dòng)。同時(shí)文獻(xiàn)[24]給出了一個(gè)以腳本化測(cè)試為主、探索性測(cè)試為輔的流程圖,如圖2所示。

        圖2 腳本化測(cè)試為主、探索性測(cè)試為輔的測(cè)試流程圖

        探索性測(cè)試計(jì)劃1用來(lái)確定實(shí)施探索性測(cè)試的功能模塊,為確定與細(xì)化測(cè)試任務(wù)做準(zhǔn)備。測(cè)試任務(wù)并非詳細(xì)的測(cè)試計(jì)劃,而是建議即將測(cè)試的內(nèi)容以及測(cè)試的思路、策略,可以是對(duì)已有測(cè)試用例標(biāo)題的一段簡(jiǎn)單描述[34]。文獻(xiàn)[35]給出了一個(gè)基于模塊功能領(lǐng)域用到的探索性測(cè)試任務(wù)模板,如表6所示。探索性測(cè)試計(jì)劃2中主要依據(jù)被測(cè)模塊的特點(diǎn)制定出相應(yīng)的探索性測(cè)試設(shè)計(jì)方法,并對(duì)每個(gè)測(cè)試任務(wù)分配測(cè)試時(shí)間、人員等相關(guān)測(cè)試資源。實(shí)驗(yàn)數(shù)據(jù)表明了盡管測(cè)試后期實(shí)施探索性測(cè)試時(shí)間較短,但是可以發(fā)現(xiàn)較多的危害程度不是太高的軟件易用性方面的缺陷。缺陷發(fā)現(xiàn)率盡管小于腳本化測(cè)試前期階段,但卻高于測(cè)試中期缺陷率30%以上。

        表6 探索性測(cè)試任務(wù)模板

        3.4 基于探索性測(cè)試思想的測(cè)試用例生成系統(tǒng)的設(shè)計(jì)

        北京交通大學(xué)練榮政在文獻(xiàn)[36]中運(yùn)用探索性測(cè)試思想結(jié)合軟件測(cè)試中問(wèn)題模板(Q-Patterns,將一組相關(guān)問(wèn)題歸納到一起而形成的測(cè)試問(wèn)題組,提供作為用戶或軟件某類方面的問(wèn)題的統(tǒng)一測(cè)試方法,或?qū)ν粏?wèn)題提供多種測(cè)試方法[36-37]。由模板名、內(nèi)容簡(jiǎn)介、測(cè)試問(wèn)題摘要、適用測(cè)試?yán)优c特別說(shuō)明幾部分組成)技術(shù)與測(cè)試發(fā)現(xiàn)缺陷歷史記錄信息,設(shè)計(jì)并實(shí)現(xiàn)了一基于探索性軟件測(cè)試思想的測(cè)試用例生成系統(tǒng),達(dá)到高效及精確的定位出被測(cè)軟件中的缺陷信息的目的。該系統(tǒng)功能實(shí)現(xiàn)模型如圖3所示。

        圖3 問(wèn)題模板結(jié)合缺陷歷史統(tǒng)計(jì)信息的探索性測(cè)試模型

        模型主要由執(zhí)行測(cè)試,測(cè)試設(shè)計(jì)與測(cè)試計(jì)劃三部分組成,從對(duì)開發(fā)人員和被測(cè)軟件兩個(gè)方面同時(shí)進(jìn)行測(cè)試任務(wù)的探索。前者體現(xiàn)在模型中的補(bǔ)充與參考“開發(fā)人員缺陷歷史記錄”方面,通過(guò)細(xì)致分析開發(fā)人員在軟件設(shè)計(jì)中的其思維定勢(shì)、編程風(fēng)格等主觀因素而導(dǎo)致可能存在的軟件設(shè)計(jì)方面的缺陷,探索其編寫軟件模塊中所隱藏的錯(cuò)誤。后者即通過(guò)對(duì)問(wèn)題模板的問(wèn)題域?qū)W習(xí)和對(duì)每次探索性測(cè)試執(zhí)行結(jié)果的分析,探索對(duì)象是對(duì)被測(cè)軟件的設(shè)計(jì)及相關(guān)文檔、軟件代碼。此外,問(wèn)題模板中的問(wèn)題域與相應(yīng)的測(cè)試用例緊密關(guān)聯(lián)。最后該文獻(xiàn)提供了兩個(gè)測(cè)試組在為期15天的三個(gè)測(cè)試周期內(nèi)分別用傳統(tǒng)的腳本化測(cè)試方法與問(wèn)題模板結(jié)合缺陷歷史統(tǒng)計(jì)信息的探索性測(cè)試方法相比較的測(cè)試實(shí)驗(yàn)數(shù)據(jù)。如表7和表8所示。

        表7 兩種測(cè)試方法人均發(fā)現(xiàn)缺陷數(shù)目比較

        表8 兩種測(cè)試方法對(duì)測(cè)試用例發(fā)現(xiàn)缺陷效率比較 %

        3.5 基于規(guī)則的圖形用戶界面的探索性測(cè)試流程

        軟件圖形用戶界面(GUI)的測(cè)試是近年來(lái)軟件測(cè)試的熱門研究方向。軟件中60%的缺陷來(lái)源于被測(cè)軟件系統(tǒng)的圖形用戶界面,其中65%的有關(guān)圖形用戶界面方面的缺陷將直接導(dǎo)致軟件功能失效[38-39]。但是被測(cè)軟件的圖形用戶界面以手工測(cè)試方式在限定的時(shí)間內(nèi)僅僅滿足測(cè)試出少部分功能。即使引入探索性測(cè)試策略,但是圖形用戶界面的構(gòu)成元素(如按鈕、下拉框、下拉菜單等)較為復(fù)雜加之探索性測(cè)試具有一定的隨機(jī)性,導(dǎo)致引導(dǎo)測(cè)試方向上存在困難。自動(dòng)化測(cè)試在發(fā)現(xiàn)與重現(xiàn)軟件低層次的代碼層缺陷方面富有成效,可是測(cè)試人員通過(guò)專門的測(cè)試工具往往更多地關(guān)注對(duì)軟件內(nèi)部功能的測(cè)試而忽視了軟件較高應(yīng)用層次的圖形用戶界面。由于交互界面構(gòu)成要素復(fù)雜且相互影響因素錯(cuò)綜繁瑣,以致設(shè)計(jì)其測(cè)試用例及維護(hù)過(guò)程困難[40-41]?;诖耍琓heodore D. Hellmann等人在文獻(xiàn)[41]中結(jié)合了自動(dòng)化測(cè)試與手工探索性測(cè)試方法,設(shè)計(jì)出一種基于規(guī)則的圖形用戶界面的探索性測(cè)試流程結(jié)構(gòu),如圖4所示。測(cè)試者憑借自身測(cè)試經(jīng)驗(yàn)自定義相應(yīng)的探索性測(cè)試規(guī)則來(lái)執(zhí)行利用腳本捕獲/回放工具所創(chuàng)造的腳本測(cè)試活動(dòng),從而較好的解決圖形用戶界面測(cè)試所發(fā)現(xiàn)的異常問(wèn)題。

        圖4 基于規(guī)則的用戶界面探索性測(cè)試流程結(jié)構(gòu)圖

        3.6 探索性測(cè)試思想在遺傳算法中的應(yīng)用

        謝經(jīng)緯等人把探索性測(cè)試思想與遺傳算法[42]相結(jié)合并進(jìn)行了實(shí)際運(yùn)用。在面向軟件故障測(cè)試的框架下對(duì)測(cè)試過(guò)程進(jìn)行量化處理,提取出一系列指標(biāo)與效應(yīng)函數(shù)作為采用的用于遺傳算法中的迭代條件,尋找出有限測(cè)試成本下最佳檢查點(diǎn)組合[43]。

        文獻(xiàn)中采用PC-link代碼檢測(cè)工具針對(duì)約2萬(wàn)行代碼的程序進(jìn)行普通測(cè)試與采用有限測(cè)試成本下最佳檢查點(diǎn)組合方法的兩組測(cè)試實(shí)驗(yàn),驗(yàn)證針對(duì)非法測(cè)試故障在基于探索性測(cè)試方法下減少測(cè)試成本的有效性。把遺傳算法與探索性測(cè)試思想相結(jié)合在實(shí)際中通過(guò)測(cè)試工具對(duì)軟件故障測(cè)試過(guò)程進(jìn)行改進(jìn)與優(yōu)化,實(shí)現(xiàn)以測(cè)試低代價(jià)找出高覆蓋的測(cè)試組合,減少測(cè)試成本。

        4 總結(jié)與展望

        4.1 探索性測(cè)試應(yīng)用總結(jié)

        前文對(duì)當(dāng)前探索性測(cè)試的進(jìn)展及運(yùn)用現(xiàn)狀進(jìn)行了綜述。探討了其定義、特點(diǎn)、實(shí)施過(guò)程、測(cè)試設(shè)計(jì)方法的分類及所發(fā)現(xiàn)缺陷的特征狀況等。此外,還簡(jiǎn)要介紹了探索性測(cè)試在實(shí)際項(xiàng)目中的應(yīng)用現(xiàn)狀、實(shí)驗(yàn)數(shù)據(jù)比較及尚存的不足之處。

        探索性測(cè)試在當(dāng)前實(shí)際運(yùn)用中,主要還是僅以一種探索的測(cè)試設(shè)計(jì)思想或策略被引用到具體的測(cè)試項(xiàng)目中,其自身缺乏形成一套完整的探索性測(cè)試過(guò)程體系以及與探索性測(cè)試思想相匹配的相關(guān)測(cè)試工具的開發(fā)。在文獻(xiàn)[24,31]中只是把探索性測(cè)試作為一條測(cè)試流程引入測(cè)試改進(jìn)模型里或腳本化測(cè)試后期階段的迭代過(guò)程中,還是以腳本化測(cè)試為主導(dǎo),測(cè)試人員憑借經(jīng)驗(yàn)去探索測(cè)試認(rèn)為有疑惑的地方,均未能設(shè)計(jì)出以探索性測(cè)試為主導(dǎo)的完整的過(guò)程模型或體系結(jié)構(gòu)。探索性測(cè)試往往會(huì)受到被測(cè)對(duì)象功能特性、測(cè)試任務(wù)、測(cè)試時(shí)間、測(cè)試經(jīng)驗(yàn)等諸多因素的影響,測(cè)試結(jié)果不能追蹤,測(cè)試經(jīng)驗(yàn)無(wú)法傳承,這需要進(jìn)一步探索。文獻(xiàn)[36,41,43]分別也只是在軟件用戶圖形界面測(cè)試中提出了創(chuàng)建探索性思想的測(cè)試規(guī)則流程來(lái)指導(dǎo)測(cè)試,利用探索性測(cè)試思想設(shè)計(jì)測(cè)試用例生成系統(tǒng),以及把探索性測(cè)試思想簡(jiǎn)單的運(yùn)用到遺傳算法中去。以上應(yīng)用即缺少對(duì)探索性測(cè)試過(guò)程的具體構(gòu)成內(nèi)容作明確定義,也無(wú)有效的與開發(fā)過(guò)程交互而形成完整的測(cè)試過(guò)程模型來(lái)指導(dǎo)具體測(cè)試項(xiàng)目??傊壳皣?guó)內(nèi)、外對(duì)有關(guān)探索性測(cè)試以及在實(shí)際項(xiàng)目中的應(yīng)用研究還只是停留在理論層面上,已有的研究成果也僅局限于在常規(guī)腳本化測(cè)試中通過(guò)引入探索性測(cè)試設(shè)計(jì)(思想)的方法或技巧,來(lái)提供新的測(cè)試思路。并未闡明探索性測(cè)試從測(cè)試計(jì)劃、分析(探索性測(cè)試準(zhǔn)備)到設(shè)計(jì)、執(zhí)行的一套完整測(cè)試過(guò)程,以及如何進(jìn)行探索性測(cè)試管理、如何有效控制探索性測(cè)試所帶來(lái)的潛在風(fēng)險(xiǎn)等問(wèn)題。

        4.2 未來(lái)的展望

        雖然國(guó)內(nèi)外專家學(xué)者在探索性測(cè)試研究方面已取得一定進(jìn)展,但是仍有一些潛在的亟待研究解決的問(wèn)題,下面分別予以闡述。

        4.2.1構(gòu)建以探索性測(cè)試為主的測(cè)試過(guò)程

        探索性測(cè)試為主、腳本化測(cè)試為輔的測(cè)試方法的思想核心即測(cè)試人員借助簡(jiǎn)約的腳本用例或通過(guò)加入包含腳本化測(cè)試特點(diǎn)的測(cè)試思路列表來(lái)取代編寫詳細(xì)測(cè)試用例的環(huán)節(jié)來(lái)指導(dǎo)測(cè)試全過(guò)程,按照探索性測(cè)試思路與方法執(zhí)行測(cè)試,發(fā)揮更多自由空間探索被測(cè)軟件。該測(cè)試方法旨在盡量減少文檔編寫時(shí)間,而增加測(cè)試執(zhí)行時(shí)學(xué)習(xí)產(chǎn)品的時(shí)間,拓展測(cè)試思路。

        該方法中盡管不會(huì)要求設(shè)計(jì)與編寫詳細(xì)的測(cè)試用例過(guò)程,但是借助簡(jiǎn)約的測(cè)試腳本通過(guò)對(duì)測(cè)試對(duì)象的測(cè)試思維架構(gòu)圖[44](思維導(dǎo)圖)的逐層分析而產(chǎn)生探索性測(cè)試列表的設(shè)計(jì)過(guò)程是該方法中探索性測(cè)試設(shè)計(jì)的關(guān)鍵。文獻(xiàn)[24]中也給出一個(gè)由對(duì)測(cè)試對(duì)象的測(cè)試思維導(dǎo)圖所產(chǎn)生的測(cè)試列表的探索性測(cè)試設(shè)計(jì)流程圖,圖5所示。

        圖5 探索性測(cè)試設(shè)計(jì)流程圖

        測(cè)試人員由測(cè)試任務(wù)對(duì)每一個(gè)測(cè)試功能點(diǎn)或特性進(jìn)行細(xì)致分析,由最初需求規(guī)格評(píng)審階段所得出的最重要的用例場(chǎng)景與主要功能的用例場(chǎng)景作為第一層思維導(dǎo)圖(思維導(dǎo)圖一),在用例評(píng)審階段所衍生的次要功能及功能細(xì)節(jié)用例場(chǎng)景以及在系統(tǒng)設(shè)計(jì)評(píng)審階段補(bǔ)充可能遺漏的異常場(chǎng)景及詳細(xì)校驗(yàn)點(diǎn)作為第二層思維導(dǎo)圖(思維導(dǎo)圖二)。測(cè)試執(zhí)行中因需求變更或測(cè)試靈感的迸發(fā)對(duì)其完善與優(yōu)化,形成思維導(dǎo)圖三。測(cè)試思路由思維導(dǎo)圖形成,內(nèi)容可以包括各種探索性測(cè)試設(shè)計(jì)方法。

        測(cè)試設(shè)計(jì)階段測(cè)試者還需要將被測(cè)對(duì)象的隱性需求(如同類軟件特點(diǎn)或在被測(cè)軟件以前版本中所發(fā)現(xiàn)的缺陷反饋信息,不同用戶可能使用到的風(fēng)格及用戶接口標(biāo)準(zhǔn)等)不斷完善到測(cè)試思路列表中并保持優(yōu)化。測(cè)試執(zhí)行階段根據(jù)測(cè)試思路列表探索性的測(cè)試同時(shí),記錄下被測(cè)對(duì)象行為的可疑之處為下一步的探索提供測(cè)試思路。但是如何在測(cè)試設(shè)計(jì)過(guò)程中明確定義測(cè)試思路列表中的構(gòu)成元素而形成規(guī)范的模版體系,如何把被測(cè)對(duì)象的思維導(dǎo)圖結(jié)合隱性需求轉(zhuǎn)化為具體測(cè)試思路列表的詳細(xì)過(guò)程及所使用到方法、工具等問(wèn)題需要未來(lái)繼續(xù)探索與實(shí)驗(yàn)。

        4.2.2可復(fù)用探索性測(cè)試用例的設(shè)計(jì)方法

        迭代設(shè)計(jì)與復(fù)用執(zhí)行測(cè)試用例,并把已執(zhí)行的測(cè)試用例不同程度的多次應(yīng)用于該軟件新的測(cè)試或同類軟件的測(cè)試過(guò)程中去可以縮短測(cè)試周期,減輕測(cè)試工作量,提高測(cè)試效率[45,46]。憑借測(cè)試經(jīng)驗(yàn)如何對(duì)已知測(cè)試場(chǎng)景有系統(tǒng)的進(jìn)行輸入選擇、數(shù)據(jù)使用及環(huán)境條件的變化而設(shè)計(jì)出具有探索性思想的測(cè)試用例來(lái)完成測(cè)試復(fù)用過(guò)程也將成為探索性測(cè)試在實(shí)際運(yùn)用中的關(guān)鍵之處。

        目前大量文獻(xiàn)資料都已進(jìn)行詳細(xì)的定義與描述,并通過(guò)實(shí)際項(xiàng)目建立起一系列有效的測(cè)試用例復(fù)用模型[47,48]。但是如何把相應(yīng)的探索性測(cè)試設(shè)計(jì)方法中的各種探索測(cè)試變化策略描述加入到可復(fù)用測(cè)試用例設(shè)計(jì)的組成要素中,同時(shí)形成規(guī)范的標(biāo)準(zhǔn)化文檔模版并實(shí)施有效測(cè)試用例復(fù)用管理過(guò)程也是一個(gè)潛在的值得研究的方向。

        4.2.3探索性測(cè)試中的文檔標(biāo)準(zhǔn)化管理過(guò)程

        軟件文檔作為軟件產(chǎn)品的伴生物,記錄著軟件產(chǎn)品從誕生之前到開發(fā)完全過(guò)程的相關(guān)信息,可具有固定不變的形式[49,50]。從測(cè)試文檔的角度來(lái)看,測(cè)試過(guò)程是一測(cè)試相關(guān)文檔編寫與執(zhí)行的過(guò)程。測(cè)試過(guò)程中的每項(xiàng)工作(如編寫測(cè)試規(guī)格說(shuō)明書、測(cè)試計(jì)劃、測(cè)試場(chǎng)景與測(cè)試用例、缺陷統(tǒng)計(jì)報(bào)告、測(cè)試評(píng)審等)均需要形成相應(yīng)的測(cè)試文檔,包括測(cè)試相關(guān)的資源及其使用情況。作為測(cè)試過(guò)程的一部分,測(cè)試文檔的編寫和管理在測(cè)試中占有突出地位和相當(dāng)大的工作量。高質(zhì)量的編制、變更、修正、管理和維護(hù)文檔,對(duì)于提高測(cè)試質(zhì)量和客戶滿意度有著重要的現(xiàn)實(shí)意義[50]。

        5 結(jié) 語(yǔ)

        探索性測(cè)試作為一種不依賴于具體測(cè)試技術(shù)的測(cè)試思想或測(cè)試思考風(fēng)格,是對(duì)常規(guī)腳本化測(cè)試的有益補(bǔ)充,但是不能完全取而代之。測(cè)試人員需要具備良好的測(cè)試素養(yǎng)與主觀測(cè)試能動(dòng)性,結(jié)合實(shí)際測(cè)試項(xiàng)目與測(cè)試環(huán)境合理應(yīng)用探索性測(cè)試方法。作為一種前沿測(cè)試?yán)碚?,探索性測(cè)試還需要作進(jìn)一步的研究與探索,這對(duì)軟件測(cè)試的發(fā)展具有深遠(yuǎn)意義。

        [1] Cem Kaner, James Bach. The Nature of Exploratory Testing[DB/OL]. 2009. http://www.testingeducation.org.

        [2] Juha Itkonen, Kristian Rautiainen. Exploratory Testing A Multiple Case Study[C]//Proceedings of International Symposium on Empirical Software Engineering,2005 Helsinki:IEEE, 2005:84-85.

        [3] IEEE, Guide to the Software Engineering Body of Knowledge[S]. IEEE.Tech.Rep. IEEE-2008 Version, 2008.

        [4] 余久久.張佑生.軟件測(cè)試改進(jìn)模型研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用與軟件, 2012,29(11):201-204.

        YU Jiu-jiu, ZHANG You-sheng.Research Process of Improved Software Testing Model[J].Journal of Computer Applications and Software, 2012,29(11):201-204.

        [5] 林 煒.兩種軟件測(cè)試方法的比較和改進(jìn)[J].信息網(wǎng)絡(luò)安全,2012(7):58-60,73.

        LIN Wei. The Research and Improvement of Software Testing Methods[J].Journal of Netinfo Security,2012(7):58-60,73.

        [6] 蔣方純. 軟件測(cè)試設(shè)計(jì)與實(shí)施[M].北京:北京大學(xué)出版社,2010.

        [7] Torens C, Ebrecht L, Lemmer K. Starting Model-Based Testing Based on Existing Test Cases Used for Model Creation: Computer and Information Technology,2011[C]//Cyprus: IEEE, 2011:320-327.

        [8] 劉 海,郝克剛.軟件缺陷原因分析方法[J].計(jì)算機(jī)科學(xué),2009,36(1):242-243.

        LIU Hai,HAO Ke-gang.Cause Analysis Method of Software Defect[J].Journal of Computer Science,2009,36(1):242-243.

        [9] Claudia Dencker. Test Case Maps In Support of Exploratory Testing: Annual Pacific Northwest Software Quality Conference, 2006[C]//Portland: PNSQC, 2006:357-366.

        [10] Taobao QA Team.測(cè)試手段之探索性測(cè)試[DB/OL].2010. http://www.51testing.com.

        [11] Sundmark, D.,Petersen, K.,Larsson, S. An exploratory case study of testing in an automotive electrical system release process:Industrial Embedded Systems (SIES), 2011[C]//Vasteras: 6th IEEE International Symposium,2011:166-170.

        [12] Juha Itkonen,Mika V. Mantyla,Casper Lassenius .How Do Testers Do It? An Exploratory Study on Manual Testing Practices: Empirical Software Engineering and Measurement, 2009[C]//Lake Buena Vista: 3rd International Symposium on, 2009:494-496.

        [13] Cem Kaner. A Tutorial in Exploratory Testing[DB/OL]. 2010. http://www.sast.se/q-moten.

        [14] Lozina Shoaib, Aamer Nadeem,Aisha Akbar. An Empirical Evaluation of the Influence of Human Personality on Exploratory Software Testing: Multitopic Conference, 2009[C]//Islamabad: IEEE, 2009:235-237.

        [15] 李軍鋒,欒 靜.探索性軟件測(cè)試解析[J].計(jì)算機(jī)與數(shù)字工程,2011, 39(8):39-42.

        LI Jun-feng, LUAN Jing.Research and Analysis of Exploratory Software Testing[J].Journal of Computer and Digital Engineering,2011, 39(8):39-42.

        [16] 聶長(zhǎng)海.關(guān)于軟件測(cè)試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué), 2011,38(2):1-2.

        NIE Chang-hai.Thoughts on Software Testing[J].Journal of Computer Science, 2011,38(2):1-2.

        [17] L.Copeland. A Practitioner’s Guide to Software Test Design[M]. Boston:ArtechHouse Publishers, 2007.

        [18] 馬均飛,鄭文強(qiáng).軟件測(cè)試設(shè)計(jì)[M].北京:電子工業(yè)出版社,2011.

        [19] Alistair Cockburn. Agile Software Development[M]. Addison-Wesley Professional, 2007.

        [20] 朱昭俊,蘇 賽.探索性測(cè)試方法分析[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(19):66-67.

        ZHU Zhao-jun, SU Sai.The Analysis of Exploratory testing method[J].Journal of Computer CD Software and Applications, 2012(19):66-67.

        [21] Juha Itkonen, Mika V.Mantyla, Casper Lassenius. Defect Detection Efficiency Test Case Based vs. Exploratory Testing: Empirical Software Engineering and Measurement, 2007[C]//Madrid: First International Symposium on, 2007:61-70.

        [22] Atif M. Memon. Automatically Repairing Event Sequence-Based GUI Test Suites for Regression Testing[J]. ACM Transactions on Software Engineering and Methodology, 2008,18(2): 19-36.

        [23] Prakash V, Gopalakrishnan S.Testing efficiency exploited Scripted versus Exploratory testing: Electronics Computer Technology (ICECT),2011[C]//Kanyakumari: 3rd International Conference on, 2011:168-172.

        [24] 史 亮,高 翔. 探索式軟件測(cè)試實(shí)踐之路[M].北京:電子工業(yè)出版社,2012.

        [25] James A.Whittaker. 探索式軟件測(cè)試[M]. 方 毅,張 勝,鐘頌東 等譯.北京:清華大學(xué)出版社,2010.

        [26] James A. Whittaker. Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design[M]. Addison-Wesley Professional, 2009.

        [27] James A. Whittaker. Bugs, Patterns, Automation: Thoughts on More Effective Testing[DB/OL]. 2011.http://www.51testing.com.

        [28] 陸永忠,宋駿禮,谷希謙. 基于行為的軟件測(cè)試過(guò)程模型及其應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用.2007,27(5):1238-1239.

        LU Yong-zhong, SONG Jun-li, GU Xi-qian. Behavior-based software testing process model and its application[J].Journal of Computer Applications, 2007,27(5):1238-1239.

        [29] Jon Bach,James Bach. Dynamics of Exploratory Testing: Annual Pacific Northwest Software Quality Conference, 2006[C]//Portland: PNSQC, 2006:459-462.

        [30] Sven Sambaer. Exploratory Testing: Evolution or Revolution[DB/OL]. 2009. http://www.51testing.com.

        [31] 熊 智,劉 莉,雷鈺鋒,等. X測(cè)試模型的改進(jìn)與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(8):2748-2751.

        XIONG Zhi, LIU Li, LEI Yu-feng,etal.Improvement and application of X test model[J].Journal of Computer Engineering and Design, 2011,32(8):2748-2751.

        [32] Sam.探索式軟件測(cè)試的四個(gè)類型[DB/OL].2012. http://www.Smart Testing.com.

        [33] 朱少民.軟件測(cè)試[M].北京:人民郵電出版社,2009.

        [34] Paul Carvalho. SBTM is not ET[DB/OL].2010. http://www.swtester.biogspot.com.

        [35] Anders Classon. How to perform Exploratory Testing by using Test Charters[DB/OL]. 2009. http://www.sast.se/q-moten.

        [36] 練榮政.一個(gè)基于探索性軟件測(cè)試?yán)碚摰臏y(cè)試用例生成系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2008.

        [37] Vipul Kocher. Insight into reusable test cases using Questioning Patterns[DB/OL]. 2009. http://www.whatistesting.com.

        [38] B.Robinson,P. Brooks. An Initial Study of Customer-Reported GUI Defects: IEEE International Conference on Software Testing, 2009[C]//Verification and Validation Workshops, 2009: 267-274.

        [39] Emelie Engstrom, Per Runeson, Andreas Ljung. Improving Regression Testing Transparency and Efficiency with History-Based Prioritization-an Industrial Case Study: The Fourth IEEE International Conference on Software Testing, Verification and Validation, 2011[C]//Berlin:IEEE,2011:367-370.

        [40] Micah Garrison,Morris Cox,Brad Clarkson. Reinventing Deepwater Exploratory Testing: Offshore Technology Conference,2011[C].Houston: IEEE,2011:2-6.

        [41] Theodore D. Hellmann, Frank Maurer. Rule-Based Exploratory Testing of Graphical User Interfaces: Agile Conference,2011[C]//Salt Lake City: IEEE,2011:107-111.

        [42] 顧澤元,劉文強(qiáng). 數(shù)據(jù)結(jié)構(gòu)[M].北京:北京航空航天大學(xué)出版社,2011.

        [43] 謝經(jīng)緯,吳 昊. 探索性方法在面向故障軟件測(cè)試中的應(yīng)用[J].微計(jì)算機(jī)信息,2010,26(9-1):145-146.

        XIE Jing-wei,WU Hao. The application of exploratory method in fault oriented software testing[J].Journal of Control & Automation, 2010,26(9-1):145-146.

        [44] 陳 欣,藍(lán)國(guó)興,段 楓, 等. 基于思維導(dǎo)圖的仿真實(shí)驗(yàn)方法研究[J]. 兵工學(xué)報(bào),2013(3):346-352.

        CHEN Xin, LANG Guo-xing, DUAN Feng etc.Design of Simulation Experiment Based on the Mind Map[J].Journal of Acta Armamentarii,2013(3):346-352.

        [45] 樓 芳,李 亮,何志強(qiáng). 基于本體的滲透測(cè)試用例復(fù)用模型[J].計(jì)算機(jī)工程與科學(xué),2011, 33(2):23-26.

        LOU Fang, LI Liang, HE Zhi-qiang. An Ontology Based Testing Case Reuse Model for Penetration Testing[J].Journal of Computer Engineering and Science,2011, 33(2):23-26.

        [46] 卜國(guó)峰,孫志剛,丁小良. 軟件測(cè)試用例的復(fù)用研究[J].四川兵工學(xué)報(bào),2009, 30(5):124-126.

        PU Guo-feng, SUN Zhi-gang, DING Xiao-liang. The reuse of software test case study[J].Journal of Acta Armamentarii of Sichuan, 2009, 30(5):124-126.

        [47] 張玉彬,謝康林. 測(cè)試用例的設(shè)計(jì)和復(fù)用[J].計(jì)算機(jī)應(yīng)用與軟件,2008,25(1):23-24.

        ZHANG Yu-bin, XIE Kang-lin. Test Case Design and Reuse Technology[J].Journal of Computer Applications and Software, 2008,25(1):23-24.

        [48] 尹 平.可復(fù)用測(cè)試用例研究[J].計(jì)算機(jī)應(yīng)用,2010, 30(5):1309-1311.

        YIN Ping. Study on reusable test case[J].Journal of Computer Applications, 2010, 30(5):1309-1311.

        [49] 季超英,宋曉秋.軟件文檔質(zhì)量的度量方法研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(17):4068-4071.

        JI Chao-ying, SONG Xiao-qiu. Research on measurement of method of software documents quality[J].Journal of Computer Engineering and Design, 2007,28(17):4068-4071.

        [50] 馬 平,黃冬梅.軟件文檔寫作教程[M].北京:電子工業(yè)出版社, 2010.

        猜你喜歡
        測(cè)試人員探索性測(cè)試用例
        移動(dòng)應(yīng)用眾包測(cè)試人員信譽(yù)度復(fù)合計(jì)算模型研究
        心有所“屬”,一“探”究竟——立體幾何探索性問(wèn)題的解法梳理
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        立體幾何中探索性問(wèn)題的“創(chuàng)新”
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        高校分析測(cè)試中心測(cè)試隊(duì)伍建設(shè)方案初探
        山東化工(2018年20期)2018-04-02 16:30:53
        淺析軟件測(cè)試中的心理學(xué)應(yīng)用
        解決圓錐曲線中存在、探索性問(wèn)題的途徑
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        探索數(shù)列中不定方程的解
        在线高清亚洲精品二区| 四虎成人精品无码永久在线| 国产成人亚洲综合无码精品| 青青自拍视频成人免费观看| 国产偷国产偷亚洲综合av| 国产免费一区二区三区免费视频| 亚洲欧洲日产国码无码久久99| 26uuu欧美日本在线播放| 丰满老熟女性生活视频| 久久久久成人精品无码中文字幕| 国产亚洲美女精品久久久| 亚洲无码中文字幕日韩无码| 伊人久久亚洲精品中文字幕| 乱码1乱码2美美哒| 久久久久久久女国产乱让韩| а的天堂网最新版在线| 国产精品亚洲一区二区三区在线看| 亚洲日韩精品无码专区网址| 国产精品久久久久久人妻精品| 欧美亚洲日韩国产人成在线播放| 中文字幕亚洲精品在线免费| 少妇人妻精品一区二区三区| 在线免费观看国产精品| 亚洲高清在线视频网站| 国产精品一区二区三区专区| 性色av无码久久一区二区三区| 国内精品人妻无码久久久影院94 | 中文字幕在线亚洲日韩6页手机版| 黄色三级视频中文字幕| 国产午夜亚洲精品国产成人av| 亚洲午夜无码av毛片久久| 岛国大片在线免费观看| av一区二区三区观看| 国内精品久久久久伊人av| 男人天堂网在线视频| 日韩女同一区在线观看| 国99精品无码一区二区三区| 久久久久国产精品熟女影院| 久久久久国产精品四虎| 国产精品一区二区av不卡| 国产尤物精品福利视频|