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

        ?

        測試工時受限的測試策略研究

        2014-02-09 07:47:12輝,周
        計算機(jī)工程與設(shè)計 2014年4期
        關(guān)鍵詞:測試用例用例工時

        陳 輝,周 豐

        (華北計算技術(shù)研究所,北京100083)

        0 引 言

        要想對軟件進(jìn)行盡可能完備的測試,需要設(shè)計和執(zhí)行充足的測試用例。但是,測試用例也不是無止盡的越多越好,因為需要設(shè)計和執(zhí)行的測試用例越多,測試成本也就越高。在現(xiàn)實中,很多軟件項目存在開發(fā)進(jìn)度延遲的問題,導(dǎo)致測試工時有限乃至不足,而軟件又面臨按時發(fā)布的壓力。因此,有必要研究在測試工時受限條件下,如何使用較少的測試用例進(jìn)行盡可能充分的測試。

        當(dāng)前,對如何使用較少的測試用例進(jìn)行盡可能充分的測試,主要集中在回歸測試領(lǐng)域,如測試用例優(yōu)先排序[1-3]、測試用例集縮減和測試用例集擴(kuò)充[4,5],這些技術(shù)無法在測試用例設(shè)計好之前使用。也有一些技術(shù)可以在測試用例設(shè)計前使用,如統(tǒng)計測試方法[6],但是應(yīng)用該方法之前需要建立軟件使用模型,這本身就很消耗工作量,而且因為是一種隨機(jī)測試方法,難以在軟件投入使用之前判定測試的充分性。另外,張德平[7]等人研究了劃分測試中劃分方案確定情形下,如何在各個子域中合理選擇測試用例問題,但是由于要求測試人員了解待測軟件的錯誤分布,并給出失效概率矩陣,因此不便于在實際應(yīng)用領(lǐng)域使用。為此,分析了制定測試策略時需要考慮的幾個因素,提出了一種對將要設(shè)計的測試用例進(jìn)行優(yōu)先級估計的方法,該方法的最大特點(diǎn)就是可在設(shè)計測試用例之前使用,在以上基礎(chǔ)上,提出了測試工時受限的測試策略。

        1 影響測試策略的因素

        制定測試策略時需要考慮的因素有很多,下面只對測試工時、測試充分性展開探討。

        1.1 測試工時

        在本文中,測試工時表示分配給測試工作的時間,也指完成測試工作所需要的時間。測試工作包括測試策劃、測試設(shè)計和實現(xiàn)、測試執(zhí)行、測試總結(jié)。假設(shè)有一個測試項目,有m個全職測試人員,要求在n個工作日內(nèi)完成,每個工作日有t小時的有效工作時間,那么對這個測試項目的測試工時有

        測試策略的制定必然受到分配給測試工作的時間的影響,如果分配給測試工作的時間少于完成測試工作所需要的時間,則需要對測試策略進(jìn)行必要的調(diào)整和優(yōu)化。測試需求直接決定了完成測試工作所需要的時間,測試需求直接決定了需要進(jìn)行哪些類型的測試以及相應(yīng)的測試設(shè)計方法,及測試用例的最少數(shù)量。測試用例的設(shè)計執(zhí)行所需時間直接受到測試用例類型、測試用例數(shù)量及單位測試用例的設(shè)計執(zhí)行時間的影響。

        1.2 測試充分性

        從測試設(shè)計角度上看,采用的測試類型和測試用例設(shè)計方法,以及設(shè)計的有效測試用例數(shù)量,會影響到測試充分性。采用的測試類型越多,不同測試用例設(shè)計方法設(shè)計出的有效測試用例數(shù)量越多,則能達(dá)到的測試覆蓋率越高,也越可能發(fā)現(xiàn)更多的潛在缺陷,從而更能保證測試的充分性。但是另外一方面,采用的測試類型越多,測試用例數(shù)量越多,也會導(dǎo)致測試成本更高。因此,在測試實踐當(dāng)中,需要在測試充分性與測試成本之間尋找合適的平衡點(diǎn)。

        假設(shè)測試發(fā)現(xiàn)的所有缺陷都被修復(fù),測試成本與有效測試用例數(shù)量直接相關(guān),則判斷有效測試用例數(shù)量是否足夠的一個方法是:潛在的遺留缺陷(即在測試中未被發(fā)現(xiàn)的潛在缺陷)導(dǎo)致的質(zhì)量風(fēng)險成本≤測試成本,如圖1所示。

        圖1 測試用例數(shù)量、測試成本與質(zhì)量風(fēng)險成本的關(guān)系

        2 一種測試用例優(yōu)先級估計方法

        在有限的測試工時中,如果依照測試類型和相應(yīng)的測試方法設(shè)計所有的用例,則必然會消耗較多的寶貴的測試工時,因此有必要對將要設(shè)計的測試用例進(jìn)行優(yōu)先級估計,然后再有選擇地設(shè)計較高優(yōu)先級的測試用例。

        目前,對于已設(shè)計或執(zhí)行的測試用例的優(yōu)先級研究較多[8-10],但是卻沒有適合在測試用例設(shè)計前就預(yù)估其優(yōu)先級的實用方法,為此假設(shè)每個測試用例被設(shè)計之前都有針對性的測試目標(biāo),通過專家經(jīng)驗及實際測試經(jīng)驗,提出了測試用例優(yōu)先級的6個度量元(見表1)供參考,即被測目標(biāo)重要度、被測目標(biāo)復(fù)雜度、被測目標(biāo)緊迫度、用例重要度、預(yù)計用例的檢測缺陷能力、開發(fā)團(tuán)隊信心度,然后依據(jù)這6個度量元去估算測試用例的優(yōu)先級。記這6個度量元分別為ap、ac、ae、tp、td、tc,則測試用例的優(yōu)先級p的計算方法如下

        表1 測試用例優(yōu)先級的度量元權(quán)值

        3 測試工時受限的測試策略

        在制定測試計劃時,進(jìn)行測試設(shè)計之前,需要依據(jù)測試需求確定相應(yīng)的測試類型,提出測試的基本方法,估計可產(chǎn)生的各類測試用例及其優(yōu)先級、測試用例數(shù)量以及單位測試用例所需的測試時間,然后進(jìn)行測試用例選擇,僅設(shè)計和執(zhí)行選中的測試用例,從而能夠在測試設(shè)計階段就力爭用最少的測試用例發(fā)現(xiàn)盡可能多的缺陷。

        3.1 測試用例估計

        測試設(shè)計人員可依照“測試用例優(yōu)先級的度量元權(quán)值”(見表1)估算測試用例的優(yōu)先級,然后依據(jù)經(jīng)驗或者歷史測試數(shù)據(jù),估算出各測試目標(biāo)對應(yīng)的測試用例數(shù)量以及每個測試用例所需的測試時間,填寫測試用例估計表(見表2)。

        表2 測試用例估計表(示例)

        完成測試用例估計后,測試用例可表示為

        式中:TC——測試用例,ID——用例標(biāo)識,SM——被測軟件模塊,TK——測試目標(biāo),即采用何種測試類型及測試方法,測試相應(yīng)種類的缺陷,SF——是否合法用例,MP——測試用例的優(yōu)先級,TT——測試所需的時間。

        3.2 測試用例選擇方法

        依據(jù)測試用例優(yōu)先級,以及設(shè)計、執(zhí)行這些測試用例所需的測試工時,可以計算出整個測試所需的測試工時。假設(shè)可設(shè)計出i個測試用例,第i個測試用例的優(yōu)先級、所需測試時間分別為pi、ti,則這些測試用例所需的測試工時ts為

        記可支配的測試工時為tp,依據(jù)tp與ts的大小關(guān)系,判斷是否需要進(jìn)行測試用例選擇:

        (1)如果tp=ts,則表示可以按時完成預(yù)計的所有測試用例的設(shè)計和執(zhí)行。

        (2)如果tp>ts,則表示可以提前完成預(yù)計的所有測試用例的設(shè)計和執(zhí)行,可以考慮是否補(bǔ)充更多的測試用例。

        (3)如果tp<ts,則表示無法按時完成預(yù)計的所有測試用例的設(shè)計和執(zhí)行,需要通過測試用例的選擇來調(diào)整測試用例數(shù)量,以減少測試所需時間。

        本文著重考慮第三種狀況,即無法在可支配的測試工時范圍內(nèi),按時完成預(yù)計的所有測試用例的設(shè)計和執(zhí)行。對于這種狀況,需要進(jìn)行測試用例選擇,然后僅設(shè)計和執(zhí)行選中的測試用例。

        測試用例選擇策略如下:

        (1)對每一個功能模塊,從其相應(yīng)的測試用例中,選擇一個優(yōu)先級最高的合法用例,從而確保每一個軟件功能至少被一個合法用例所覆蓋;

        (2)按第一個策略選擇完測試用例后,優(yōu)先選擇優(yōu)先級高的測試用例,如果兩個測試用例的優(yōu)先級相同,則優(yōu)先選擇預(yù)計所需測試工時較少的那個。

        假設(shè)可選測試用例的集合為T,已選擇的測試用例的集合為S,已選擇用例的累計所需測試工時為ts,可支配的測試工時為tp,則上述測試策略對應(yīng)的算法如下:

        (1)0→ts;

        (2)計算各測試用例的優(yōu)先級;

        (3)將T中的測試用例按照被測軟件模塊分組,依次從每組測試用例中選擇最高優(yōu)先級的合法測試用例到S中(如果同組中有多個用例的優(yōu)先級并列第一,則從這些用例中隨機(jī)選擇一個),同時從T中刪除相應(yīng)測試用例;

        (4)S中所有測試用例所需的測試工時→ts;

        (5)如果ts≥tp或者T中的測試用例數(shù)為0,則算法終止,否則轉(zhuǎn)入(6);

        (6)將T中的測試用例按照優(yōu)先級升序排序;

        (7)選取T中的最后一個測試用例到S中,同時從T中刪除相應(yīng)測試用例,ts+該測試用例所需測試時間→ts;

        (8)如果ts≥tp或者T中的測試用例數(shù)為0,則算法終止,否則轉(zhuǎn)入(7)。

        需要說明的是,如果已選中的用例所需測試工時遠(yuǎn)超可支配的測試工時,則說明測試工時嚴(yán)重不足,一定需要增加更多的可支配工時。另外,對未被選擇的測試用例,可能需要視情況決定是否進(jìn)行風(fēng)險決策。假設(shè)單位測試工時的成本為c,則設(shè)計和執(zhí)行該測試用例的成本ct=c*ti,假設(shè)該測試用例預(yù)計所檢測的缺陷在軟件實際運(yùn)行中出現(xiàn)的概率為pt,該缺陷顯現(xiàn)導(dǎo)致的損失和修復(fù)成本為qt,如果ct<pt,則表示該測試用例值得設(shè)計和執(zhí)行。另外,如果有嚴(yán)格的測試內(nèi)容、測試類型覆蓋要求,還需要驗證選擇的測試用例是否完全覆蓋了測試內(nèi)容,是否有對應(yīng)必要測試類型的測試用例。

        4 實驗結(jié)果與分析

        以某辦公系統(tǒng)為實驗對象,該辦公系統(tǒng)功能包括用戶登錄、系統(tǒng)管理(含部門管理、用戶管理、通知公告管理、消息管理等)、資源共享、考勤管理、假期管理等,其中用戶登錄、部門管理、用戶管理部分復(fù)用代碼庫中的代碼,其余部分為新編寫的代碼。使用功能點(diǎn)估算法估計的系統(tǒng)規(guī)模為286FP。首先依據(jù)測試需求、計劃采用的測試類型及測試設(shè)計方法,估算出預(yù)計產(chǎn)生的各類測試用例的優(yōu)先級、數(shù)量、單位用例設(shè)計和執(zhí)行所需的工時,形成測試用例估計表(見表3)。如果不進(jìn)行測試用例選擇,預(yù)計會產(chǎn)生1447個測試用例,完成所有測試工作大約需要142人時。

        表3 測試用例估計(用戶登錄功能)

        隨后,不進(jìn)行測試用例選擇,按照測試需求、計劃采用的測試類型及測試方法,設(shè)計和執(zhí)行所有的測試用例。最后再依據(jù)測試用例估計表,假設(shè)事先進(jìn)行了測試用例選擇,則不同的測試用例選擇數(shù)的設(shè)計執(zhí)行時間(測試工時,單位:人時)、檢出缺陷數(shù)、單位測試用例的設(shè)計執(zhí)行時間(人時/用例)、單位測試用例檢出的缺陷數(shù)(檢出缺陷數(shù)/用例)、檢出缺陷數(shù)/人時的比較結(jié)果見表4。從表4可看出,分配給測試的時間越少,能選擇的測試用例數(shù)越少,但是按照測試用例的估計和選擇方法選擇出的測試用例,平均每個用例檢出了更多的缺陷,單位時間檢出的缺陷數(shù)也更多。

        表4 不同的測試用例選擇數(shù)(示例)

        選擇不同數(shù)量的測試用例時,平均每個測試用例檢出的缺陷數(shù)的趨勢如圖2所示,利用本文的測試策略,確實選擇出了檢出缺陷能力更強(qiáng)的測試用例。

        選擇不同數(shù)量的測試用例時,檢出的各級缺陷數(shù)如圖3所示,在4個缺陷級別中,一級缺陷表示致命缺陷,二級缺陷表示嚴(yán)重缺陷,三級缺陷表示一般缺陷,四級缺陷表示不影響用戶使用的缺陷。在選擇出的測試用例數(shù)比較少時,所選的測試用例檢出重大缺陷的能力較強(qiáng),但是也說明,要想檢測出所有較重大的缺陷,測試用例數(shù)不能太少,也就是說分配給測試工作的時間不能太少。

        實驗結(jié)果表明,所提出的測試工時受限的測試策略,能夠選擇出檢出缺陷能力更強(qiáng),尤其是檢出重大缺陷能力更強(qiáng)的測試用例,從而可以在適當(dāng)減少需設(shè)計的測試用例數(shù)量的基礎(chǔ)上,達(dá)到較好的測試效果。

        圖2 單位測試用例檢出的缺陷數(shù)

        圖3 選擇的測試用例檢出的各級缺陷數(shù)

        5 結(jié)束語

        在測試工時受限的情況,如何制定有效的測試策略是一個有待解決的現(xiàn)實問題,為此提出了測試工時受限的基于測試用例優(yōu)先級的測試策略。該策略將測試用例按被測目標(biāo)重要度、被測目標(biāo)復(fù)雜度、被測目標(biāo)緊迫度、用例重要度、預(yù)計用例的檢測缺陷能力、開發(fā)團(tuán)隊信心度等多種因素綜合考慮,計算出各類測試用例的優(yōu)先級,接著估算各類測試用例的數(shù)量、設(shè)計和執(zhí)行單位用例所需的工時,然后采用測試用例選擇方法,確保在有限的測試工時內(nèi),設(shè)計和執(zhí)行盡可能多的優(yōu)先級高的測試用例,且力保每個功能至少被一個合法測試用例所覆蓋。實驗結(jié)果表明了該測試策略的有效性。

        [1]CHEN Xiang,CHEN Jihong,JU Xiaolin,et al.Survey of test case prioritization techniques for regression testing[J].Journal of Software,2013,24(8):1695-1712(in Chinese).[陳翔,陳繼紅,鞠小林,等.回歸測試中的測試用例優(yōu)先排序技術(shù)述評[J].軟件學(xué)報,2013,24(8):1695-1712.]

        [2]Mei H,Hao D,Zhang LM,et al.A static approach to prioritizing JUnit test cases[J].IEEE Trans on Software Engineering,2012,38(6):1258-1275.

        [3]YANG Guanghua,BAO Yang,LI Donghong,et al.Test case prioritization based on requirement[J].Computer Engineering and Design,2011,32(8):2724-2728(in Chinese).[楊廣華,包陽,李東紅,等.基于需求的測試用例優(yōu)先級排序[J].計算機(jī)工程與設(shè)計,2011,32(8):2724-2728.]

        [4]ZHANG Xiaofang,CHEN Lin,XU Baowen,et al.Survey of test suite reduction problem[J].Journal of Frontiers of Computer Science and Technology,2008,2(3):235-247(in Chinese).[章曉芳,陳林,徐寶文,等.測試用例集約簡問題研究及其進(jìn)展[J].計算機(jī)科學(xué)與探索,2008,2(3):235-247.]

        [5]Yoo S,Harman M.Regression testing minimization,selection and prioritization:A survey[J].Software Testing,Verification &Reliability,2012,22(2):67-120.

        [6]ZHANG Deping,NIE Changhai,XU Baowen.Acceleration testing method of safety-critical software with testing resource constraint[J].Computer Science,2009,36(5):138-141(in Chinese).[張德平,聶長海,徐寶文.測試資源受約束的安全關(guān)鍵軟件加速測試方法[J].計算機(jī)科學(xué),2009,36(5):138-141.]

        [7]ZHANG Deping,ZHA Rijun.Risk decision approach to test allocation problem in partition testing[J].Application Research of Computers,2010,27(12):4536-4540(in Chinese).[張德平,查日軍.劃分測試用例選擇的風(fēng)險決策方法[J].計算機(jī)應(yīng)用研究,2010,27(12):4536-4540.]

        [8]DAI Ruxin,GU Chunhua.Advanced test case prioritization for black box testing[J].Computer Engineering and Design,2010,31(20):4343-4346(in Chinese).[戴如昕,顧春華.用于黑盒測試的測試用例優(yōu)先級改進(jìn)算法[J].計算機(jī)工程與設(shè)計,2010,31(20):4343-4346.]

        [9]PAN Weifeng,LI Bing,MA Yutao.Test case prioritization based on complex software networks[J].Acta Electronica Sinica,2012,40(12):2456-2465(in Chinese).[潘偉豐,李兵,馬于濤.基于復(fù)雜軟件網(wǎng)絡(luò)的回歸測試用例優(yōu)先級排序[J].電子學(xué)報,2012,40(12):2456-2465.]

        [10]Pravin A,Srinivasan S.Effective test case selection and prioritization in regression testing[J].Journal of Computer Science,2013,9(5):654-659.

        猜你喜歡
        測試用例用例工時
        UML用例模型中依賴關(guān)系的比較與分析
        淺析國有企業(yè)如何推行標(biāo)準(zhǔn)工時管理
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        特殊工時制不能成為企業(yè)“變相剝削”的工具
        聯(lián)鎖軟件詳細(xì)設(shè)計的測試需求分析和用例編寫
        從出土文獻(xiàn)用例看王氏父子校讀古書的得失
        基于混合遺傳算法的回歸測試用例集最小化研究
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        《修辭學(xué)發(fā)凡》用例的當(dāng)代學(xué)術(shù)價值
        軟件回歸測試用例選取方法研究
        538亚洲欧美国产日韩在线精品| 日韩欧美成人免费观看| 精品国产人妻一区二区三区| 91网站在线看| 手机av在线观看视频| 久久九九精品国产av| 欧美亚洲色综久久精品国产| 自拍欧美日韩| 日本精品人妻一区二区三区| 亚洲av不卡一区男人天堂| 国产女人高潮叫床视频| 欧美在线观看一区二区| 亚洲天堂一区二区精品| 精品人伦一区二区三区蜜桃91| 亚洲av永久无码精品| 亚洲制服无码一区二区三区| 手机免费在线观看日韩av| 日韩综合无码一区二区 | 欧美性猛交xxxx黑人猛交| 日韩一区二区不卡av| 熟女少妇精品一区二区三区| √天堂中文官网在线| 国产亚洲精久久久久久无码77777| 国产一区二区三区免费精品| 论理视频二区三区四区在线观看| 曰韩亚洲av人人夜夜澡人人爽 | 久久精品国产亚洲av成人网| 伊人情人色综合网站| 欧美午夜精品一区二区三区电影| 日本a级大片免费观看| 亚洲中文字幕一区av| 亚洲国产日韩精品综合| 日本免费一区二区三区在线播放| 一本色道久久88综合日韩精品| 午夜一级在线| 视频一区视频二区亚洲| 噜噜综合亚洲av中文无码| 曰本女人牲交全视频免费播放 | 久久国产成人精品av| 午夜福利视频合集1000| 国产青青草视频在线播放|