999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于探索性測試的軟件測試研究與實踐

2020-06-16 10:40:42蔡久濤
計算機應(yīng)用與軟件 2020年6期
關(guān)鍵詞:設(shè)計

楊 燕 劉 釗 蔡久濤

1(江西航天鄱湖云科技有限公司 江西 南昌 330096)

2(航天恒星科技有限公司 北京 100086)

3(金蝶軟件(中國)有限公司南昌分公司 江西 南昌 330096)

0 引 言

腳本化測試是先設(shè)計、再執(zhí)行,設(shè)計時就指定輸入值和預(yù)期結(jié)果,執(zhí)行時嚴(yán)格按照測試設(shè)計進(jìn)行。一方面隨著軟件應(yīng)用的發(fā)展,軟件出現(xiàn)了推出快、變化頻繁、接口雜、重體驗、開放性等特點,另一方面隨著測試的積累測試人員發(fā)現(xiàn)缺陷的類型增長緩慢。為了適用這種變化,也為了解決現(xiàn)存問題,需要引入新的測試技術(shù)。探索性測試作為一種前沿的測試思維,在項目周期短、需求不明確或者需求變更頻繁的項目中發(fā)現(xiàn)缺陷的效果顯著,也能發(fā)現(xiàn)一些腳本化測試發(fā)現(xiàn)不了的缺陷,因此受到越來越多軟件測試人員的青睞。

目前對探索性測試的研究主要集中在測試思想和方法上[1-3],近年來也有研究探索性測試在個別領(lǐng)域上的應(yīng)用。文獻(xiàn)[4]將探索性測試應(yīng)用到航空聲納軟件中能夠有效發(fā)掘軟件中隱藏的缺陷。文獻(xiàn)[5]研究表明,將探索性測試思維引入到軍用軟件中與傳統(tǒng)的軟件測試相結(jié)合,能有效提高軟件測試效率和測試覆蓋率。但是在實際工作中對實施探索性測試發(fā)現(xiàn)的缺陷特征及在不同測試階段的實施的研究甚少。本文通過對“同時進(jìn)行設(shè)計、測試和學(xué)習(xí)”的探索性測試進(jìn)行研究,總結(jié)出幾種可采用探索性測試的情況,并將探索性測試融入到傳統(tǒng)的測試流程體系中,再選取三個不同類型的項目進(jìn)行實踐來研究如何采用探索性測試方法開展軟件測試工作。

1 探索性測試

探索性測試最先由Cem Kaner在1983年提出,它是一種軟件測試風(fēng)格,也是一種測試思維[6]。這種測試思維不同于傳統(tǒng)軟件測試過程中嚴(yán)格的“先設(shè)計,后執(zhí)行”,它將學(xué)習(xí)、測試設(shè)計和測試執(zhí)行整合在一起,測試人員通過不斷的學(xué)習(xí),并把學(xué)習(xí)到的關(guān)于軟件系統(tǒng)的更多信息通過綜合的整理和分析,創(chuàng)造出更多的關(guān)于測試的想法。它強調(diào)測試執(zhí)行、學(xué)習(xí)、測試設(shè)計的同時性,注重思考和學(xué)習(xí),通過思考和學(xué)習(xí)改善測試設(shè)計與測試執(zhí)行,不斷地發(fā)現(xiàn)新的缺陷。

探索性測試在軟件生命周期的任一階段均可使用,如:集成測試、系統(tǒng)測試、驗收測試等;也適用于各種類型的測試,如:功能測試、可靠性測試、兼容性測試、易用性測試、性能測試、安全性測試等[7]。

1.1 探索性測試與隨機測試

不同于隨機測試,探索性測試是帶著“反思”的測試,通過對測試結(jié)果的分析和判斷,驅(qū)動下一步的測試設(shè)計和測試執(zhí)行,達(dá)到持續(xù)優(yōu)化測試價值的目的。隨機測試通常利用錯誤猜測、典型風(fēng)險來驗證軟件,可以在短時間內(nèi)發(fā)現(xiàn)許多軟件錯誤,但是它不強調(diào)測試的系統(tǒng)性和完整性,漏測風(fēng)險很高。而探索性測試會拓展測試的深度和廣度,能夠發(fā)現(xiàn)一些隱藏較深的缺陷[6]。

1.2 探索性測試方法

探索性測試的指導(dǎo)方法有局部探索性測試和全局探索性測試兩種[6]。

局部探索性測試關(guān)注局部小范圍,測試時需要考慮5個部分:輸入、狀態(tài)、代碼路徑、用戶數(shù)據(jù)和執(zhí)行環(huán)境[6]。這5個部分的測試可按照傳統(tǒng)的腳本化測試用例設(shè)計方法進(jìn)行設(shè)計測試,如:輸入,可采用等價類劃分法、邊界值法、錯誤推測法等方法進(jìn)行測試[3]。

全局探索性測試也叫漫游測試,把全局探索性測試和旅游進(jìn)行類比,測試人員就是游客,被測軟件就是旅游地。旅游地按照功能區(qū)域劃分可劃分為:商業(yè)區(qū)、歷史區(qū)、旅游區(qū)、娛樂區(qū)、旅館區(qū)和破舊區(qū)[6]。各功能區(qū)域說明及測試要點如表1所示。

針對不同區(qū)域選取不同的測試方法進(jìn)行測試:商業(yè)區(qū)側(cè)重于測試用戶關(guān)注的核心業(yè)務(wù)和功能,可采用指南測試法、賣點測試法、地標(biāo)測試法、極限測試法、快遞測試法、深夜測試法、遍歷測試法;針對歷史區(qū)舊的功能和缺陷修復(fù)代碼可采用惡鄰測試法、博物館測試法、上一版測試法;娛樂區(qū)測試對應(yīng)到軟件上就是輔助功能,可采用配角測試法、深巷測試法、通宵測試法進(jìn)行測試;類比旅游區(qū)的可快速訪問功能的測試可采用收藏家測試法、長路徑測試法、超模測試、測一送一測試法;旅館區(qū)可采用取消測試法、懶漢測試法;破舊區(qū)測試可采用破壞測試法、反叛測試法、強迫癥測試法。

在實際測試工作中針對功能點的測試可以采用局部探索性測試,針對涉及到業(yè)務(wù)的場景及整體層面的可以采用全局探索性測試。

1.3 探索性測試適用場景

文獻(xiàn)[9]指出了采用探索性測試的情況,如:文檔資料缺乏;產(chǎn)品不穩(wěn)定、軟件版本較多;測試人員專業(yè)技能不足;沒有時間編寫測試計劃和測試腳本。根據(jù)對探索性測試的研究,結(jié)合項目測試管理經(jīng)驗,在以下情況下也可考慮采用探索性測試:

(1) 項目組人員調(diào)整后,新成員為了能夠在短時間內(nèi)快速了解系統(tǒng),可以執(zhí)行一次探索性測試。

(2) 在缺陷驗證時,為了確認(rèn)修復(fù)缺陷時是否引入新缺陷,可以加入適當(dāng)圍繞該被測功能點的探索性測試,及時發(fā)現(xiàn)可能由修復(fù)帶來的新缺陷。

(3) 在完成常規(guī)測試且時間充沛的情況下進(jìn)行探索性測試可以檢查測試的完整性,拓展當(dāng)前測試的覆蓋度和深度。

(4) 出于對現(xiàn)存測試設(shè)計和結(jié)果存疑的情況下,可以執(zhí)行探索性測試來驗證。

2 探索性測試介入與實施

由于探索性測試不同于傳統(tǒng)的先設(shè)計、再執(zhí)行,它強調(diào)設(shè)計和測試的同時性,如果不講究方法、沒有重點地盲目進(jìn)行測試,就會出現(xiàn)重復(fù)測試和漏測的情況。在實際工作中,實施探索性測試也要保證測試覆蓋率。

文獻(xiàn)[10]提出將探索性測試和腳本測試的優(yōu)勢結(jié)合到混合測試過程中的方法。文獻(xiàn)[11]研究表明,將探索式軟件測試融入傳統(tǒng)測試模型,在每個階段測試執(zhí)行完成后進(jìn)行探索式測試可以提高測試覆蓋率。目前許多國內(nèi)外專家學(xué)者也認(rèn)可這種“腳本化為主、探索性測試為輔”的二者融合方案[7]。即執(zhí)行腳本化測試用例,又邊測試邊記錄新的測試點,過程中不斷分析、不斷學(xué)習(xí),發(fā)現(xiàn)更多的腳本化測試發(fā)現(xiàn)不了的缺陷。

2.1 探索性測試介入

傳統(tǒng)的軟件測試一般嚴(yán)格按照測試需求分析、編寫測試計劃、測試計劃評審、編寫測試用例、測試用例評審、搭建測試環(huán)境、執(zhí)行測試、提交缺陷、修復(fù)缺陷、驗證缺陷、回歸測試等流程執(zhí)行,測試流程如圖1所示。

圖1 傳統(tǒng)測試流程

隨著軟件應(yīng)用的發(fā)展,軟件出現(xiàn)了推出快、變化頻繁、接口雜、重體驗、開放性等特點[12],測試也需要適當(dāng)進(jìn)行調(diào)整以適應(yīng)這種變化。文獻(xiàn)[13]表明,不論如何測試也不能保證軟件中不存在任何錯誤,但是通過測試策略可以努力使測試盡可能完全。

通過在傳統(tǒng)測試流程中加入探索性測試,分別分析在系統(tǒng)測試階段后和系統(tǒng)測試階段加入探索性測試發(fā)現(xiàn)的缺陷的有效性、在總?cè)毕輸?shù)中的占比及發(fā)現(xiàn)的缺陷類型,查看實施探索性測試對腳本化測試的助力到底如何。

在測試需求分析、設(shè)計測試用例及測試用例評審階段融入探索性測試思維,融入探索性測試后測試流程如圖2所示。

圖2 融入探索性測試后測試流程

在測試需求分析階段加入探索性測試,通過換位思考站在包括業(yè)務(wù)領(lǐng)域?qū)<摇⒂脩簟㈨椖拷?jīng)理、開發(fā)人員、公司管理者角度分析他們對需求規(guī)格的要求,也可以參考同類軟件或以前項目經(jīng)驗等對其進(jìn)行探索性測試,從而發(fā)現(xiàn)更多隱形需求,進(jìn)而避免由于需求原因而埋下缺陷。

在設(shè)計測試用例階段加入探索性測試,將通過思考學(xué)習(xí)獲得的一切與軟件系統(tǒng)相關(guān)的信息設(shè)計成測試用例,意在通過執(zhí)行測試用例發(fā)現(xiàn)更多的需求規(guī)格說明中沒有明確說明的隱形或深層業(yè)務(wù)方面的缺陷。在測試用例評審階段加入探索性測試,通過借助眾人的智慧和經(jīng)驗,豐富用例設(shè)計內(nèi)容,減少漏測率。在執(zhí)行測試階段加入探索性測試,意在將測試人員的測試經(jīng)驗和測試思想轉(zhuǎn)化為盡早發(fā)現(xiàn)的缺陷,降低后期缺陷修復(fù)成本。在驗證缺陷階段加入探索性測試意在驗證修復(fù)缺陷時是否影響到了其他模塊功能使用,是否引入新的缺陷。在回歸測試階段加入探索性測試意在確認(rèn)最終效果是否滿足用戶需要。

2.2 探索性測試實施

實施探索性測試的難點在于測試執(zhí)行環(huán)節(jié),執(zhí)行時面對持續(xù)變化的情況,由于測試人員的認(rèn)知不同,應(yīng)對方式也會不同。為了指導(dǎo)測試,探索性測試也需要進(jìn)行測試設(shè)計,此工作可以在執(zhí)行前進(jìn)行,也可在執(zhí)行測試時進(jìn)行。探索性測試設(shè)計不局限于傳統(tǒng)的腳本化測試用例的設(shè)計,需要包含:唯一標(biāo)識、摘要、描述、設(shè)計方法、測試階段、測試類型、預(yù)期結(jié)果、測試步驟等。探索性測試設(shè)計可以是思維導(dǎo)圖等,意在記錄測試點及系統(tǒng)業(yè)務(wù)等,便于后期系統(tǒng)維護(hù)及回歸測試。

結(jié)合項目實際情況基于1.3節(jié)中場景(3)和場景(4)的考慮,選擇某區(qū)實驗室管理系統(tǒng)、某任務(wù)管理軟件和某信息化平臺這三個項目為實踐對象來研究如何采用探索性測試開展軟件測試工作,并對測試結(jié)果進(jìn)行分析,選取的項目基本信息如表2所示。

表2 實踐項目信息

這三個項目的測試過程都是按照CMMI3級標(biāo)準(zhǔn)進(jìn)行管理的,對其分析的結(jié)果具有一定的可參考性,對于后期軟件管理過程改進(jìn)也有一定的幫助。

3 基于探索性測試的軟件測試應(yīng)用

3.1 某區(qū)實驗室管理系統(tǒng)

某區(qū)實驗室管理系統(tǒng)是一個專屬于該區(qū)環(huán)境保護(hù)檢測站實驗室內(nèi)部工作管理的管理系統(tǒng)。主要用于實驗室基礎(chǔ)信息管理、樣品報告流轉(zhuǎn)、報告數(shù)據(jù)統(tǒng)計和樣品數(shù)據(jù)統(tǒng)計。

按照已有的測試流程完成測試后,得出該系統(tǒng)的千行代碼缺陷率為2.56,而根據(jù)2016年-2018年項目測試?yán)塾嫈?shù)據(jù)得到的平均千行代碼缺陷率分別為4.5、5.0和4.3,故在此系統(tǒng)中引入探索性測試,通過探索性測試確認(rèn)該系統(tǒng)是否測試充分,是否存在漏測的情況。

3.2 某區(qū)實驗室管理系統(tǒng)探索性測試實施

某區(qū)實驗室管理系統(tǒng)采用“腳本化為主、探索性測試為輔”的測試方案進(jìn)行測試,在系統(tǒng)測試完成后引入探索性測試,軟件測試總體流程見圖3。

圖3 軟件測試總體流程圖

探索性測試的測試過程如下:

(1) 測試負(fù)責(zé)人收集測試相關(guān)文檔,包括:需求規(guī)格說明書、需求變更申請單、測試說明等,并結(jié)合已完成系統(tǒng)獲取需要測試的內(nèi)容,然后制定測試計劃、分配測試人員和測試內(nèi)容。

(2) 探索性測試人員與項目組測試人員進(jìn)行溝通,了解更多業(yè)務(wù)信息及缺陷分布情況等,確定高風(fēng)險功能點。

(3) 開始執(zhí)行探索性測試,在這個過程中同時進(jìn)行測試執(zhí)行、思考學(xué)習(xí)、測試設(shè)計,并根據(jù)實際情況隨時更改測試策略,同時記錄軟件邏輯和發(fā)現(xiàn)的缺陷。

(4) 項目組開發(fā)人員對缺陷進(jìn)行修復(fù),測試人員再對其進(jìn)行驗證,待所有缺陷閉環(huán)后,進(jìn)行測試結(jié)果分析、總結(jié)。

文獻(xiàn)[12]指出,不同的人實施探索性測試會有不同的效果,在制定探索性測試計劃時需要做到:給新人分配的是基本信息的增刪改查,除了希望發(fā)現(xiàn)更多缺陷外,也希望通過此次測試能夠加深對測試的理解;經(jīng)驗豐富的人,用于執(zhí)行核心的業(yè)務(wù)流程,希望通過他確認(rèn)重要的影響因素在設(shè)計中已經(jīng)都考慮到了;有開發(fā)經(jīng)驗的,期望他能夠發(fā)現(xiàn)框架等更深層次的缺陷。

3.3 某區(qū)實驗室管理系統(tǒng)測試結(jié)果分析

通過對腳本化測試發(fā)現(xiàn)的缺陷,及執(zhí)行完腳本化測試后加入探索性測試后探索性測試發(fā)現(xiàn)的缺陷進(jìn)行統(tǒng)計分析,得到加入探索性測試后發(fā)現(xiàn)的缺陷數(shù)和測試耗時情況如表3所示。

表3 加入探索性測試后測試結(jié)果

由表3可知,實施探索性測試后又發(fā)現(xiàn)了92個缺陷,說明實施探索性測試是有必要的,能夠提高產(chǎn)品的質(zhì)量。分析投入與產(chǎn)出效能可知,實施探索性測試雖然耗時增加了37.5%,但是發(fā)現(xiàn)的缺陷增量也高達(dá)35.11%,實施探索性測試后該系統(tǒng)的千行代碼缺陷率也達(dá)到了4.6,參考以往測試結(jié)果說明此次探索性測試是較充分的。針對92個缺陷進(jìn)行分析后可知,有90%的缺陷是有效缺陷,也是被項目組的開發(fā)人員所認(rèn)可的缺陷,探索性測試發(fā)現(xiàn)的缺陷分類如圖4所示。

圖4 探索性測試缺陷分類

探索性測試發(fā)現(xiàn)的有效缺陷的類別如圖5所示。

圖5 有效缺陷類別

由圖5可知,探索性測試發(fā)現(xiàn)的缺陷主要集中在功能性和易用性這兩個方面,同時也能發(fā)現(xiàn)安全性、維護(hù)性、兼容性和可靠性方面的缺陷。

3.4 探索性測試在其他項目中應(yīng)用結(jié)果分析

參考文獻(xiàn)[14-15]后,將探索性測試思維應(yīng)用到傳統(tǒng)軟件測試中,應(yīng)用后測試流程如圖6所示。

圖6 加入探索性測試后測試流程

將探索性測試應(yīng)用于某任務(wù)管理軟件和某信息化平臺的執(zhí)行測試、缺陷驗證和回歸測試階段中,對測試數(shù)據(jù)進(jìn)行整理分析后得到表4和表5所示測試結(jié)果。

表4 某任務(wù)管理軟件實施了探索性測試后測試結(jié)果

表5 某信息化平臺實施了探索性測試后測試結(jié)果

將實施探索性測試后發(fā)現(xiàn)的缺陷進(jìn)行整理后,得到實施探索性測試發(fā)現(xiàn)的缺陷分布情況如圖7所示。

圖7 探索性測試發(fā)現(xiàn)缺陷分布

從測試結(jié)果可以看出,探索性測試發(fā)現(xiàn)的缺陷分布主要集中在功能性和易用性兩個方面。

4 結(jié) 語

將探索性測試應(yīng)用到三個不同類型的項目中,發(fā)現(xiàn)均能夠助力腳本化測試使發(fā)現(xiàn)缺陷的總量增長至少25%以上。由此可知,探索性測試對于腳本測試是一種非常有益有效的補充。

探索性測試作為一種新的測試?yán)碚摚藢⑻剿餍詼y試思維融入到軟件測試的各個階段外,后期還可從以下兩個方面繼續(xù)進(jìn)行研究:(1) 目前已有腳本化測試的公共測試用例庫,隨著開展探索性測試的項目越來越多,通過探索性測試方法分析出一些測試點,抽取可以復(fù)用的探索性測試的測試用例也是一種需要;(2) 針對已經(jīng)出了原型需要進(jìn)行測試的項目,及采購類產(chǎn)品和設(shè)備構(gòu)建以探索性測試為主的測試過程也是一種可嘗試的方向。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護(hù)之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲中文字幕精品| 在线欧美一区| 国产性生交xxxxx免费| 国产成人你懂的在线观看| 在线亚洲精品福利网址导航| 亚洲有无码中文网| 嫩草国产在线| 亚洲精选无码久久久| 国产制服丝袜91在线| 久久午夜夜伦鲁鲁片无码免费| 国内精品91| 午夜福利无码一区二区| 亚洲国产精品无码久久一线| 中文字幕在线看视频一区二区三区| 在线欧美a| 免费国产无遮挡又黄又爽| 精品少妇人妻无码久久| 亚洲欧洲天堂色AV| 亚洲精品福利视频| 亚洲大学生视频在线播放| 国产欧美日韩专区发布| 国产99在线| 超薄丝袜足j国产在线视频| 亚洲天堂福利视频| 日本欧美成人免费| 在线观看国产黄色| 制服丝袜国产精品| 亚洲午夜久久久精品电影院| 麻豆精品在线| 免费aa毛片| 久久毛片网| 18禁黄无遮挡免费动漫网站| 国产视频入口| 国产在线一二三区| 亚洲精品日产精品乱码不卡| 国产中文一区a级毛片视频 | 国产高清在线丝袜精品一区| 自拍欧美亚洲| 日本道中文字幕久久一区| 亚洲动漫h| 一本综合久久| 国产欧美日韩专区发布| 精品国产Av电影无码久久久| 亚洲黄色网站视频| 亚洲精品va| 国产丝袜丝视频在线观看| 久久精品国产精品一区二区| 国产不卡网| 99视频在线看| 澳门av无码| 欧美日韩一区二区三区在线视频| 97无码免费人妻超级碰碰碰| 国产精品久久自在自线观看| 国产精品成人啪精品视频| 天堂网国产| 伊人久久大线影院首页| 真实国产乱子伦高清| 亚洲精品色AV无码看| 国产精品区网红主播在线观看| 国产精品美乳| 成人免费视频一区二区三区| 色综合成人| 成人中文字幕在线| 欧美精品1区2区| 国产精品久线在线观看| 国产网站在线看| 蜜桃视频一区二区| 国产成人精品18| 日韩中文无码av超清| 91精品国产91久久久久久三级| 国产成熟女人性满足视频| 天天综合网站| 国产一区二区三区日韩精品| 色婷婷亚洲综合五月| 亚洲无码久久久久| 小蝌蚪亚洲精品国产| 直接黄91麻豆网站| 99热这里只有精品2| 国产专区综合另类日韩一区 | 成人一级黄色毛片| 91免费观看视频| 91成人在线免费观看|