《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于歷史數(shù)據(jù)的軟件測(cè)試數(shù)據(jù)統(tǒng)計(jì)分析研究
基于歷史數(shù)據(jù)的軟件測(cè)試數(shù)據(jù)統(tǒng)計(jì)分析研究
2017年微型機(jī)與應(yīng)用第4期
楊貞祥,趙興奮,賀虎林
蘇州桑泰海洋儀器研發(fā)有限責(zé)任公司,江蘇 蘇州 215125
摘要: 從大數(shù)據(jù)的角度,利用軟件測(cè)試歷史數(shù)據(jù),分析和研究軟件開(kāi)發(fā)及測(cè)試過(guò)程,為軟件質(zhì)量保證和項(xiàng)目管理及組織能力建設(shè)提供了新的思路。在組織內(nèi)部建立測(cè)試數(shù)據(jù)收集機(jī)制,對(duì)軟件測(cè)試相關(guān)數(shù)據(jù)進(jìn)行收集,建立數(shù)據(jù)分析模型,從軟件開(kāi)發(fā)過(guò)程、軟件測(cè)試過(guò)程、軟件缺陷數(shù)據(jù)等方面對(duì)測(cè)試數(shù)據(jù)進(jìn)行分析,獲得多個(gè)具有實(shí)際意義的量化指標(biāo),將此指標(biāo)反饋到軟件開(kāi)發(fā)和軟件測(cè)試及項(xiàng)目管理等過(guò)程中,顯著提高了軟件產(chǎn)品質(zhì)量及工作效率,降低了過(guò)程風(fēng)險(xiǎn),提高了組織市場(chǎng)競(jìng)爭(zhēng)能力。
Abstract:
Key words :

  楊貞祥,趙興奮,賀虎林

  (蘇州桑泰海洋儀器研發(fā)有限責(zé)任公司,江蘇 蘇州 215125)

        摘要:從大數(shù)據(jù)的角度,利用軟件測(cè)試歷史數(shù)據(jù),分析和研究軟件開(kāi)發(fā)及測(cè)試過(guò)程,為軟件質(zhì)量保證和項(xiàng)目管理及組織能力建設(shè)提供了新的思路。在組織內(nèi)部建立測(cè)試數(shù)據(jù)收集機(jī)制,對(duì)軟件測(cè)試相關(guān)數(shù)據(jù)進(jìn)行收集,建立數(shù)據(jù)分析模型,從軟件開(kāi)發(fā)過(guò)程、軟件測(cè)試過(guò)程、軟件缺陷數(shù)據(jù)等方面對(duì)測(cè)試數(shù)據(jù)進(jìn)行分析,獲得多個(gè)具有實(shí)際意義的量化指標(biāo),將此指標(biāo)反饋到軟件開(kāi)發(fā)和軟件測(cè)試及項(xiàng)目管理等過(guò)程中,顯著提高了軟件產(chǎn)品質(zhì)量及工作效率,降低了過(guò)程風(fēng)險(xiǎn),提高了組織市場(chǎng)競(jìng)爭(zhēng)能力。

  關(guān)鍵詞:軟件測(cè)試;測(cè)試歷史數(shù)據(jù);數(shù)據(jù)統(tǒng)計(jì)分析

  中圖分類號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.04.007

  引用格式:楊貞祥,趙興奮,賀虎林.基于歷史數(shù)據(jù)的軟件測(cè)試數(shù)據(jù)統(tǒng)計(jì)分析研究[J].微型機(jī)與應(yīng)用,2017,36(4):22-24,28.

0引言

  技術(shù)高度發(fā)展的結(jié)果必然是各行業(yè)及行業(yè)內(nèi)精細(xì)化的社會(huì)分工。在軟件行業(yè)表現(xiàn)為計(jì)算機(jī)技術(shù)與其他行業(yè)相結(jié)合,向?qū)I(yè)化發(fā)展,意味著每個(gè)軟件開(kāi)發(fā)組織開(kāi)發(fā)的軟件越來(lái)越具備系列化、繼承性的特點(diǎn),這一重要特征使得針對(duì)軟件測(cè)試歷史數(shù)據(jù)的數(shù)據(jù)分析具有了重要意義。楊旭等人將數(shù)據(jù)分析定義為:“數(shù)據(jù)分析是指用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法對(duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行分析,為提取有用信息和形成結(jié)論而對(duì)數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過(guò)程”[1]。軟件測(cè)試是最主要的軟件質(zhì)量保證手段[23],研究者們?cè)跍y(cè)試過(guò)程改進(jìn)[4]、建立評(píng)估基準(zhǔn)[5]及度量理論研究[6]方面已經(jīng)進(jìn)行了深入研究。但這些研究或重點(diǎn)研究測(cè)試過(guò)程和技術(shù)、或傾向于理論研究,而對(duì)軟件測(cè)試歷史數(shù)據(jù)進(jìn)行分析研究[7],則能夠從軟件開(kāi)發(fā)和測(cè)試結(jié)果入手,從問(wèn)題現(xiàn)象分析問(wèn)題原因,有針對(duì)性地改進(jìn)軟件開(kāi)發(fā)、軟件測(cè)試、項(xiàng)目管理等過(guò)程,從而提高軟件質(zhì)量。由于該研究過(guò)程針對(duì)每個(gè)組織自身的實(shí)際問(wèn)題,故在具體實(shí)施中具有很強(qiáng)的可操作性。

1數(shù)據(jù)準(zhǔn)備

  數(shù)據(jù)分析離不開(kāi)數(shù)據(jù),而要收集具有分析價(jià)值的測(cè)試數(shù)據(jù),需要構(gòu)建測(cè)試數(shù)據(jù)收集系統(tǒng),包括測(cè)試數(shù)據(jù)庫(kù)的物理架構(gòu)和測(cè)試數(shù)據(jù)邏輯存儲(chǔ)結(jié)構(gòu)兩方面。

  1.1軟件測(cè)試數(shù)據(jù)庫(kù)系統(tǒng)

  軟件測(cè)試數(shù)據(jù)存儲(chǔ)系統(tǒng)作為軟件測(cè)試管理系統(tǒng)的一部分,可以單獨(dú)架構(gòu),也可以作為項(xiàng)目配置管理系統(tǒng)的一部分,架構(gòu)在項(xiàng)目配置管理系統(tǒng)上。為了便于管理和運(yùn)行,該系統(tǒng)采用B/S架構(gòu),部署在局域網(wǎng)上,考慮到項(xiàng)目數(shù)據(jù)安全性,該局域網(wǎng)與互聯(lián)網(wǎng)物理隔離,在系統(tǒng)中配備唯一的數(shù)據(jù)導(dǎo)入和導(dǎo)出終端。系統(tǒng)架構(gòu)圖如圖1所示。

 

001.jpg

  圖1中,測(cè)試人員在測(cè)試終端機(jī)上上傳測(cè)試數(shù)據(jù),存儲(chǔ)到測(cè)試數(shù)據(jù)存儲(chǔ)服務(wù)器上,數(shù)據(jù)處理服務(wù)器與存儲(chǔ)服務(wù)器及用戶進(jìn)行交互,運(yùn)行自動(dòng)化測(cè)試系統(tǒng)等處理操作。測(cè)試數(shù)據(jù)備份機(jī)存儲(chǔ)測(cè)試歷史數(shù)據(jù),并通過(guò)備份方式保證數(shù)據(jù)安全。

  1.2測(cè)試數(shù)據(jù)邏輯存儲(chǔ)結(jié)構(gòu)

  為了有效收集數(shù)據(jù),對(duì)數(shù)據(jù)表的結(jié)構(gòu)進(jìn)行了設(shè)計(jì),如圖2所示。

  圖2中測(cè)試用例表存儲(chǔ)了需要分析的基礎(chǔ)數(shù)據(jù),在數(shù)據(jù)庫(kù)中按照項(xiàng)目代號(hào)(或被測(cè)件標(biāo)識(shí))分類存儲(chǔ)。人員信息表中包括了開(kāi)發(fā)人員信息和測(cè)試人員信息,作為人員工作分析的一部分,將在下一節(jié)描述。問(wèn)題分類表、開(kāi)發(fā)人員分類表、測(cè)試人員分類表及被測(cè)軟件分類表則根據(jù)檢索要求,在整個(gè)測(cè)試數(shù)據(jù)庫(kù)范圍進(jìn)行信息檢索,給出相應(yīng)的視圖,以便進(jìn)一步分析。

 

002.jpg

2測(cè)試數(shù)據(jù)集分析

  2.1被測(cè)試軟件數(shù)據(jù)集分析

  基于被測(cè)試軟件數(shù)據(jù)進(jìn)行分析,獲取相應(yīng)指標(biāo),對(duì)相似類別軟件或模塊進(jìn)行結(jié)果對(duì)照,得到分析結(jié)論。

 ?。?)軟件可測(cè)度

  軟件可測(cè)度用同等難度系數(shù)下測(cè)試用例密度與平均用例密度差來(lái)反映。軟件可測(cè)度計(jì)算公式如下:

  CZ@1@$[_@(IFB]WNOZUXZ1S.png

  可測(cè)度值大于零,表示該項(xiàng)目用例密度高于平均密度,軟件可測(cè)試性較好,反之,則該項(xiàng)目用例密度小于平均密度,軟件可測(cè)試性較差。正常情況下,可測(cè)度值應(yīng)該是在零值上下波動(dòng),波動(dòng)幅度不得超過(guò)平均用例密度的1/2。若上下波動(dòng)幅度超過(guò)限定范圍,則有可能是該項(xiàng)目測(cè)試用例設(shè)計(jì)粒度太大或者太小,或者對(duì)該項(xiàng)目的難度等級(jí)估計(jì)不準(zhǔn)確,使得公式(1)中的平均用例密度值選取不匹配。

  (2)模塊復(fù)用率

  模塊復(fù)用率可以通過(guò)統(tǒng)計(jì)各個(gè)項(xiàng)目對(duì)模塊的復(fù)用次數(shù)獲得。模塊復(fù)用率反映模塊或函數(shù)在組織內(nèi)部的復(fù)用情況。由于同一個(gè)組織內(nèi)部產(chǎn)品的相似性及系列性,使得核心模塊復(fù)用的概率較高,而復(fù)用模塊一般比新開(kāi)發(fā)模塊具有更高的軟件可靠性和算法成熟性,故模塊復(fù)用率能夠間接反映軟件質(zhì)量情況。另一方面,對(duì)復(fù)用模塊的測(cè)試一般會(huì)復(fù)用以前的測(cè)試用例,減少測(cè)試難度和測(cè)試工作量。從而測(cè)試模塊復(fù)用率越高,軟件模塊越穩(wěn)定,軟件測(cè)試工作量越小。

  2.2測(cè)試用例數(shù)據(jù)集分析

  基于測(cè)試用例數(shù)據(jù)的分析包括測(cè)試用例分布分析、用例通過(guò)率分析、用例效率分析。

 ?。?)測(cè)試用例分布分析

  測(cè)試用例分布分析指對(duì)測(cè)試用例在軟件各模塊中的分布情況進(jìn)行分析。根據(jù)軟件測(cè)試經(jīng)驗(yàn),測(cè)試用例數(shù)隨著軟件模塊復(fù)雜度的增加而增加,而模塊中存在缺陷的概率也隨著模塊復(fù)雜度的增加而增大。軟件測(cè)試用例密度計(jì)算公式定義為:

  %~G~S44N0%C[J3_)0~~J0}R.png

  若要計(jì)算模塊的測(cè)試用例密度,則軟件代碼行數(shù)是指該模塊行數(shù);若要計(jì)算整個(gè)軟件的測(cè)試用例密度,則軟件代碼行數(shù)是指整個(gè)軟件代碼行數(shù)。在同一個(gè)項(xiàng)目中,對(duì)各模塊測(cè)試用例密度進(jìn)行比較,從而識(shí)別關(guān)鍵模塊,采取措施提高軟件質(zhì)量。也可以進(jìn)行同難度系數(shù)下項(xiàng)目間的整體用例密度比較,獲得對(duì)各項(xiàng)目設(shè)計(jì)質(zhì)量的指標(biāo)值。

  (2)用例通過(guò)率分析

  測(cè)試用例通過(guò)率定義為:

  5[H)9PR_Z4}LJ7C$4MPVU)3.png

  若剔除測(cè)試誤差、設(shè)計(jì)和測(cè)試人員水平因素、測(cè)試環(huán)境因素,測(cè)試用例通過(guò)率可以用來(lái)表征軟件的成熟性。反過(guò)來(lái),測(cè)試用例通過(guò)率也可以用來(lái)對(duì)設(shè)計(jì)和測(cè)試情況進(jìn)行估計(jì),若一次測(cè)試的測(cè)試用例通過(guò)率顯著低于公司同類軟件平均水平,則需要深入分析該軟件設(shè)計(jì)人員的設(shè)計(jì)是否合理、測(cè)試人員的測(cè)試設(shè)計(jì)和執(zhí)行是否正常或者測(cè)試環(huán)境差異是否對(duì)測(cè)試結(jié)果造成嚴(yán)重影響等。

 ?。?)用例效率分析

  測(cè)試用例效率計(jì)算公式定義為:

  $AMASJBNH@_1O`QB@5KLCHM.png

  上式中復(fù)雜度系數(shù)根據(jù)軟件邏輯復(fù)雜度的不同而不同,取值范圍大于0且小于1。對(duì)于軟件測(cè)試來(lái)說(shuō),測(cè)試覆蓋率為基本要求,在保證測(cè)試覆蓋率的前提下,測(cè)試用例效率能夠表征測(cè)試工作效率和測(cè)試用例設(shè)計(jì)水平。在實(shí)際使用時(shí),該指標(biāo)需要與測(cè)試用例粒度保持平衡,不能為了追求高測(cè)試用例效率而增大測(cè)試用例顆粒度,從而使得測(cè)試用例界限不合理,這樣的測(cè)試用例反而會(huì)降低測(cè)試執(zhí)行效率。

  2.3缺陷數(shù)據(jù)集分析

 ?。?)缺陷在軟件模塊中的分布

  軟件缺陷具有集群效應(yīng),即出現(xiàn)缺陷的模塊或程序段,再次發(fā)現(xiàn)軟件缺陷的可能性越大。據(jù)此,在軟件質(zhì)量分析和風(fēng)險(xiǎn)應(yīng)對(duì)方案制定過(guò)程中,使用軟件缺陷分布,能夠有效預(yù)防缺陷再次發(fā)生,提高軟件質(zhì)量。

 ?。?)組織的缺陷-能力曲線

  將組織數(shù)據(jù)庫(kù)中的缺陷按照不同類別進(jìn)行統(tǒng)計(jì),根據(jù)不同類型缺陷分布情況,可以得到缺陷分布曲線,相應(yīng)地,根據(jù)缺陷分布曲線獲得組織軟件能力曲線。由于各個(gè)類別軟件的業(yè)務(wù)量有差別,因此對(duì)于統(tǒng)計(jì)獲得的缺陷數(shù)據(jù)應(yīng)該按照相應(yīng)類別在整個(gè)工作量中的占比進(jìn)行加權(quán),獲得最終的權(quán)衡缺陷數(shù)。缺陷分布曲線與軟件能力曲線關(guān)系圖如圖3所示。

 

003.jpg

  圖3中橫坐標(biāo)的類別為組織能力范圍,左側(cè)坐標(biāo)為缺陷指數(shù)刻度值,右側(cè)坐標(biāo)為能力曲線刻度值。實(shí)線為類別缺陷指數(shù)曲線,虛線則表示組織在類別能力指數(shù)曲線。缺陷能力曲線圖說(shuō)明缺陷指數(shù)越大,則給類別軟件缺陷越多,軟件質(zhì)量越差,表明組織在該類別軟件的開(kāi)發(fā)能力越差。

  2.4開(kāi)發(fā)人員數(shù)據(jù)集分析

  從軟件測(cè)試角度,使用測(cè)試數(shù)據(jù)庫(kù)中積累的數(shù)據(jù)資源對(duì)開(kāi)發(fā)人員數(shù)據(jù)進(jìn)行分析,能夠獲得軟件開(kāi)發(fā)人員開(kāi)發(fā)質(zhì)量因子指標(biāo)。該指標(biāo)計(jì)算公式定義為:

  O$YRSJ9FS}T9HFH`NCHFR[A.png

  上式中工作量以代碼行為單位,表示每個(gè)項(xiàng)目中該開(kāi)發(fā)人員編寫的代碼行數(shù),難度系數(shù)是對(duì)該部分工作復(fù)雜度的評(píng)估值,缺陷總數(shù)指在測(cè)試數(shù)據(jù)庫(kù)中統(tǒng)計(jì)的該代碼范圍內(nèi)的缺陷數(shù)量。

  對(duì)于同一個(gè)軟件開(kāi)發(fā)組織來(lái)說(shuō),每個(gè)開(kāi)發(fā)人員的質(zhì)量因子趨勢(shì)應(yīng)該是趨于相同的,若分析后發(fā)現(xiàn)相同組織內(nèi)部開(kāi)發(fā)人員質(zhì)量因子曲線趨勢(shì)差別很大,則說(shuō)明該組織在溝通、培訓(xùn)及交流學(xué)習(xí)中出現(xiàn)了問(wèn)題,組員之間沒(méi)有共享技術(shù)和經(jīng)驗(yàn),這對(duì)組織發(fā)展是不利的。

  2.5測(cè)試人員數(shù)據(jù)集分析

  從效率和質(zhì)量的角度,根據(jù)測(cè)試數(shù)據(jù)庫(kù)中的歷史數(shù)據(jù),對(duì)測(cè)試人員工作進(jìn)行量化。本文從測(cè)試效率和漏測(cè)率兩方面進(jìn)行描述。

  (1)測(cè)試效率

  測(cè)試效率可以用來(lái)對(duì)單個(gè)軟件測(cè)試人員一段時(shí)間內(nèi)的工作效率進(jìn)行衡量。測(cè)試效率計(jì)算公式定義為:

  NPG[AI8}W%9RK`KOQI0XCUH.png

  上式中N代表該測(cè)試人員在測(cè)試數(shù)據(jù)庫(kù)中的任務(wù)數(shù)量;測(cè)試代碼行數(shù)為第n個(gè)任務(wù)的代碼行數(shù);難度系數(shù)為該任務(wù)的難度估計(jì)值;測(cè)試周期以天為單位,在公式中換算到小時(shí)數(shù)。

  (2)缺陷漏測(cè)率

  作為對(duì)軟件測(cè)試質(zhì)量的度量,項(xiàng)目經(jīng)理可以通過(guò)缺陷漏測(cè)率指標(biāo)對(duì)產(chǎn)品質(zhì)量進(jìn)行監(jiān)控,若某個(gè)測(cè)試人員一段時(shí)間的缺陷漏測(cè)率指標(biāo)高于平均水平,則需要分析具體原因并采取相應(yīng)措施。

  UW2Y[YL[{1M}GQ21P0KVV9C.png

  上式中N表示測(cè)試人員總數(shù),工作量占比表示該測(cè)試人員在整個(gè)測(cè)試組織中的工作比重值。

3結(jié)論

  軟件測(cè)試是保證軟件質(zhì)量的主要手段,軟件測(cè)試能夠有效降低項(xiàng)目風(fēng)險(xiǎn),故在軟件行業(yè)中越來(lái)越受到重視。軟件測(cè)試數(shù)據(jù)也成為軟件開(kāi)發(fā)組織重要的過(guò)程資產(chǎn),建立有效的測(cè)試數(shù)據(jù)收集數(shù)據(jù)庫(kù),對(duì)測(cè)試過(guò)程和測(cè)試結(jié)果數(shù)據(jù)進(jìn)行有效收集,并在軟件測(cè)試歷史數(shù)據(jù)基礎(chǔ)上對(duì)數(shù)據(jù)進(jìn)行分析,獲得多個(gè)具有重要意義的量化指標(biāo),

  用其分析和研究軟件開(kāi)發(fā)、測(cè)試、項(xiàng)目管理等過(guò)程,以求發(fā)現(xiàn)問(wèn)題并解決問(wèn)題,使得組織能力獲得提高?;谲浖y(cè)試歷史數(shù)據(jù)的分析統(tǒng)計(jì)方法在軟件項(xiàng)目實(shí)施過(guò)程中具有一定的實(shí)用價(jià)值。

參考文獻(xiàn)

 ?。?] 楊旭,湯海京.?dāng)?shù)據(jù)科學(xué)導(dǎo)論[M].北京:北京理工大學(xué)出版社,2014.

 ?。?] 鄭人杰.計(jì)算機(jī)軟件測(cè)試技術(shù)[M]. 北京:清華大學(xué)出版社,1992.

 ?。?] 陳開(kāi)顏,王希武,孫會(huì)珺,等.軟件質(zhì)量與軟件測(cè)試[J].河北省科學(xué)院學(xué)報(bào),2004,21(2):18-22.

 ?。?] EDWARD K.軟件測(cè)試過(guò)程改進(jìn)[M].李新華,譯.北京:機(jī)械工業(yè)出版社,2003.

 ?。?] JONES C.軟件評(píng)估、基準(zhǔn)測(cè)試與最佳實(shí)踐[M].韓柯,等,譯.北京:機(jī)械工業(yè)出版社,2003.

 ?。?] 邢大紅.面向?qū)ο筌浖亩攘繉W(xué)理論與工具實(shí)現(xiàn)[D].合肥:合肥工業(yè)大學(xué),1998.

 ?。?] 王悠,羅燕京,易福華,等.基于用例的軟件復(fù)雜度估算及應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(7):196-199.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。