[發(fā)明專利]一種基于部分多重覆蓋的回歸測(cè)試用例篩選方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201010187488.5 | 申請(qǐng)日: | 2010-06-01 |
| 公開(kāi)(公告)號(hào): | CN101908017A | 公開(kāi)(公告)日: | 2010-12-08 |
| 發(fā)明(設(shè)計(jì))人: | 顧慶;唐寶;陳道蓄 | 申請(qǐng)(專利權(quán))人: | 南京大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 江蘇圣典律師事務(wù)所 32237 | 代理人: | 黃振華 |
| 地址: | 210093 江蘇省*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 部分 多重 覆蓋 回歸 測(cè)試 篩選 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及回歸測(cè)試下軟件系統(tǒng)的測(cè)試用例篩選方法,特別涉及軟件系統(tǒng)開(kāi)發(fā)和升級(jí)中存在大量測(cè)試用例的情況下,針對(duì)需要回歸測(cè)試的系統(tǒng)組件,通過(guò)達(dá)到充分有效的測(cè)試需求覆蓋來(lái)篩選測(cè)試用例,降低回歸測(cè)試成本。
背景技術(shù)
軟件系統(tǒng)不管是在開(kāi)發(fā)過(guò)程中還是在發(fā)布以后,總是面臨不斷的修正和升級(jí)。在每一次修改后,為確保軟件系統(tǒng)未變更的功能和組件沒(méi)有受到當(dāng)前修改的負(fù)面影響,需要對(duì)軟件系統(tǒng)進(jìn)行充分的回歸測(cè)試。由于復(fù)用的軟件組件沒(méi)有得到充分的回歸測(cè)試,曾導(dǎo)致阿里亞娜5型火箭發(fā)射失敗,造成巨大的損失。這說(shuō)明回歸測(cè)試的必要性。在當(dāng)前流行的增量式開(kāi)發(fā)和快速迭代式開(kāi)發(fā)中,新版本的連續(xù)發(fā)布需要頻繁的回歸測(cè)試;在敏捷(極限)編程環(huán)境下,更要求軟件系統(tǒng)每天都通過(guò)若干次回歸測(cè)試。這使得回歸測(cè)試成本在軟件開(kāi)發(fā)成本中占據(jù)很大比重。如何有效選擇回歸測(cè)試策略從而能夠以低成本高質(zhì)量完成軟件系統(tǒng)的回歸測(cè)試是本發(fā)明需要考慮的問(wèn)題。
直接決定回歸測(cè)試成本的測(cè)試策略是測(cè)試用例庫(kù)的維護(hù)和回歸測(cè)試集的選擇操作。在軟件系統(tǒng)的開(kāi)發(fā)和升級(jí)過(guò)程中,不同的開(kāi)發(fā)團(tuán)隊(duì)和人員不斷增添新的測(cè)試用例到測(cè)試用例庫(kù),這使得庫(kù)中存在大量冗余的測(cè)試用例。如何有效刪除冗余的測(cè)試用例,并根據(jù)軟件系統(tǒng)當(dāng)前的變更選擇合適的回歸測(cè)試集是降低回歸測(cè)試成本并保證回歸測(cè)試質(zhì)量的關(guān)鍵所在。一個(gè)測(cè)試用例是否冗余決定于它覆蓋的測(cè)試需求。一個(gè)被測(cè)軟件可以視為測(cè)試需求的集合。測(cè)試需求定義為被測(cè)軟件的測(cè)試覆蓋單元,例如從結(jié)構(gòu)角度,測(cè)試需求可以定義為語(yǔ)句塊、程序分支、或者變量的定義-引用對(duì);從功能角度,測(cè)試需求可以定義為輸入的等價(jià)類劃分、輸出的等價(jià)類劃分、或者功能項(xiàng)等。當(dāng)前較多的考慮是從結(jié)構(gòu)角度定義測(cè)試需求,例如語(yǔ)句塊或程序分支。
測(cè)試用例約簡(jiǎn)技術(shù)被用于刪除冗余的測(cè)試用例和選擇合適的回歸測(cè)試集。其原理是:每個(gè)測(cè)試用例都覆蓋一個(gè)測(cè)試需求集合,可以選擇最少數(shù)量的測(cè)試用例集,只要它們覆蓋的測(cè)試需求集合的并集等于被測(cè)軟件,那么這個(gè)選定集合就可以用于組成回歸測(cè)試集或者構(gòu)成精簡(jiǎn)后的測(cè)試用例庫(kù)。傳統(tǒng)約簡(jiǎn)技術(shù)的問(wèn)題是:如果用于刪除測(cè)試用例庫(kù)中冗余的測(cè)試用例,則因?yàn)楸A舻臏y(cè)試用例數(shù)量太少,回歸測(cè)試的缺陷檢測(cè)能力不能得到保證;如果用于回歸測(cè)試集選擇,則因?yàn)榧s簡(jiǎn)后的測(cè)試用例集覆蓋了所有的測(cè)試需求,而當(dāng)前回歸測(cè)試往往僅需關(guān)注被修改的組件,于是又選擇了過(guò)多的測(cè)試用例,增加了回歸測(cè)試成本。
當(dāng)前軟件系統(tǒng)的修改非常頻繁,需要采用面向部分覆蓋的回歸測(cè)試;即只針對(duì)修改的軟件組件選擇回歸測(cè)試集并達(dá)到對(duì)相關(guān)測(cè)試需求的充分覆蓋,而避開(kāi)其他不相干的測(cè)試需求。這種處理有以下優(yōu)點(diǎn):其一缺陷修復(fù)向來(lái)不是一次性完成,避開(kāi)未修復(fù)的缺陷組件可以減少“預(yù)防性”代碼并規(guī)避未修復(fù)缺陷的干擾;其二軟件系統(tǒng)總是包含復(fù)用和購(gòu)買的組件,這些組件的代碼或者不可見(jiàn),或者其修改不可控,繞開(kāi)這些組件可以完成更有效的回歸測(cè)試;其三有一些組件可能尚在開(kāi)發(fā)或修改中,能夠避開(kāi)這些未完成組件可以實(shí)施更早的回歸測(cè)試。
發(fā)明內(nèi)容
本發(fā)明的主要目的是針對(duì)軟件系統(tǒng)回歸測(cè)試時(shí)的測(cè)試用例庫(kù)維護(hù)問(wèn)題和回歸測(cè)試集選擇問(wèn)題,提出一種基于部分多重覆蓋的回歸測(cè)試用例篩選方法,一方面降低測(cè)試用例庫(kù)的冗余度同時(shí)保證用例庫(kù)的缺陷檢測(cè)能力;另一方面針對(duì)修改組件選擇回歸測(cè)試用例,減少回歸測(cè)試集的規(guī)模,在保證回歸測(cè)試質(zhì)量前提下降低回歸測(cè)試成本。
為實(shí)現(xiàn)本發(fā)明所述目的,本發(fā)明采用如下的步驟:
1)首先根據(jù)軟件系統(tǒng)特征和測(cè)試用例庫(kù)的歷史數(shù)據(jù),構(gòu)建測(cè)試需求覆蓋矩陣;具體過(guò)程為:將被測(cè)軟件系統(tǒng)視為測(cè)試需求集合R,測(cè)試用例庫(kù)視為測(cè)試用例集合T,根據(jù)測(cè)試用例庫(kù)中測(cè)試用例的歷史執(zhí)行數(shù)據(jù),構(gòu)筑測(cè)試覆蓋矩陣Δ(R,T);根據(jù)Δ(R,T),給定測(cè)試用例tj,可了解該測(cè)試用例的覆蓋需求集Rj;給定測(cè)試需求ri,可了解該測(cè)試需求的執(zhí)行用例集Ti。
2)針對(duì)修改組件,將測(cè)試需求集R劃分為關(guān)注集CR和無(wú)關(guān)集R-CR,其中關(guān)注集CR是與當(dāng)前軟件修改相關(guān)的測(cè)試需求集合,包含本次回歸測(cè)試必須充分覆蓋的測(cè)試需求;而無(wú)關(guān)集R-CR是與當(dāng)前修改無(wú)關(guān)的測(cè)試需求集合;關(guān)注集需要被充分測(cè)試,以保證回歸測(cè)試的質(zhì)量;而無(wú)關(guān)集可以盡量避開(kāi),以降低回歸測(cè)試的成本。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010187488.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤





