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

        ?

        基于運(yùn)行剖面的測試用例分配與選擇方法

        2020-06-19 08:49:18王一徹高建華
        計(jì)算機(jī)工程 2020年6期
        關(guān)鍵詞:軟件可靠性子域測試用例

        王一徹,高建華

        (上海師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,上海 200234)

        0 概述

        軟件可靠性測試是軟件開發(fā)過程中的一個(gè)重要環(huán)節(jié),其目的是對軟件的可靠性進(jìn)行驗(yàn)證,判斷其是否滿足用戶的需求。如果得到的可靠性滿足需求,則停止可靠性測試,否則,需對軟件中的缺陷進(jìn)行糾正,提高軟件產(chǎn)品的可靠性。

        基于運(yùn)行剖面的測試在軟件可靠性領(lǐng)域是一種基本的測試方法。傳統(tǒng)方法通過調(diào)試測試找出系統(tǒng)中導(dǎo)致失效的漏洞,而不考慮實(shí)際運(yùn)行中的失效概率,基于運(yùn)行剖面的測試則把測試用例的概率,即軟件的運(yùn)行剖面考慮在內(nèi),選擇在實(shí)時(shí)運(yùn)行中導(dǎo)致軟件失效的高發(fā)生率輸入,這些輸入對軟件可靠性的影響較大,移除這些漏洞可以極大地提高軟件可靠性。因此,基于運(yùn)行剖面的測試可有效提高軟件可靠性[3-5],同時(shí),運(yùn)行剖面測試技術(shù)也被廣泛應(yīng)用于軟件可靠性的評估中[6-7]。例如,文獻(xiàn)[8]將運(yùn)行剖面測試應(yīng)用于實(shí)時(shí)嵌入式軟件,文獻(xiàn)[9-10]研究了運(yùn)行剖面測試與Web應(yīng)用可靠性之間的關(guān)系。此外,運(yùn)行剖面測試還被應(yīng)用于構(gòu)件軟件系統(tǒng)中[11]。

        然而,任何測試選擇技術(shù)都存在飽和點(diǎn)[12],基于運(yùn)行剖面的測試也一樣,其主要關(guān)注高發(fā)生率的故障,而當(dāng)軟件需要達(dá)到較高的可靠性,即超出了基于運(yùn)行剖面的測試的臨界點(diǎn)時(shí),需要找到低發(fā)生率的故障(高發(fā)生率導(dǎo)致故障的漏洞已被移除)[13]。因此,基于運(yùn)行剖面的測試并不適用于需要高可靠性的關(guān)鍵系統(tǒng)中。

        文獻(xiàn)[6-7]提出一種基于運(yùn)行剖面的自適應(yīng)測試策略,通過測試用例的反饋驅(qū)動選擇進(jìn)行可靠性評估,將軟件測試描述為一個(gè)反饋和自適應(yīng)控制問題,并使用一個(gè)受控的馬爾科夫鏈來描述測試過程,以最小化可靠性估計(jì)的方差。文獻(xiàn)[14]將自適應(yīng)測試與梯度下降法相結(jié)合,其測試結(jié)果優(yōu)于傳統(tǒng)的基于運(yùn)行剖面的測試。文獻(xiàn)[15]使用置信區(qū)間作為驅(qū)動標(biāo)準(zhǔn)自適應(yīng)地選擇測試用例,以更準(zhǔn)確地評估軟件的可靠性。不同的測試技術(shù)可以發(fā)現(xiàn)不同的故障,針對這一特點(diǎn),可以將不同的測試技術(shù)相結(jié)合,而不是僅使用一種測試方法。文獻(xiàn)[16]把運(yùn)行測試和調(diào)試測試結(jié)合起來,形成一種混合自適應(yīng)測試技術(shù),文獻(xiàn)[17]將這種混合自適應(yīng)測試技術(shù)應(yīng)用于軟件可靠性的評估。

        為了更好地將基于運(yùn)行剖面的測試技術(shù)應(yīng)用于高可靠性要求的系統(tǒng),本文提出一種基于運(yùn)行剖面的測試用例分配和選擇方法。該方法在測試用例分配和選擇過程中,通過每一次迭代的結(jié)果對下一次測試進(jìn)行動態(tài)調(diào)整,以提高測試的有效性。

        1 相關(guān)定義與假設(shè)

        軟件測試主要包括以下2個(gè)步驟:

        1)根據(jù)選擇標(biāo)準(zhǔn),從測試集中選取不同的測試用例進(jìn)行測試。

        2)將得到的輸出結(jié)果與預(yù)期結(jié)果進(jìn)行比較,如果不一致,則判定軟件發(fā)生失效。

        本文把引起軟件失效的測試用例定義為失效點(diǎn),程序移除錯(cuò)誤可使許多失效點(diǎn)消失,把這些失效點(diǎn)的集合定義為失效域,失效點(diǎn)數(shù)量占總執(zhí)行測試用例數(shù)量的比例定義為失效率。設(shè)D是待測軟件的輸入域,T為測試用例集,現(xiàn)作如下假設(shè):

        1) 運(yùn)行剖面的劃分依賴于被測試的應(yīng)用軟件[18],測試人員可選擇不同的分區(qū)標(biāo)準(zhǔn),如根據(jù)功能、結(jié)構(gòu)等進(jìn)行劃分,把輸入域D分成m個(gè)子域,即測試人員的測試目標(biāo)可決定分區(qū)標(biāo)準(zhǔn)。

        2) 假設(shè)每個(gè)測試用例只能導(dǎo)致失效或成功,即肯定可以得到運(yùn)行后的實(shí)際結(jié)果,并能夠和預(yù)期結(jié)果進(jìn)行比較。

        3) 每個(gè)測試用例都是獨(dú)立執(zhí)行的,相互之間沒有影響,即一個(gè)導(dǎo)致系統(tǒng)失效的測試用例總是導(dǎo)致失效,而不會被之前執(zhí)行的測試用例影響。

        2 測試方法

        圖1 測試過程

        2.1 測試用例的分配

        (1)

        (2)

        其中,ξ是基于采樣的估計(jì)分布和真實(shí)分布之間的誤差,1-δ是對這種近似的期望,ρ是在第k次迭代中至少有一個(gè)測試用例被執(zhí)行的子域數(shù),z1-δ是具有顯著性水平δ的正態(tài)分布,Tk+1即為在k+1次迭代中要執(zhí)行的測試用例數(shù),具體過程如算法1所示。

        算法1測試用例分配算法

        for i=1 to m

        end for

        for i=2 to m

        end for

        //根據(jù)式(2)計(jì)算Tk+1

        //將測試用例分到每一個(gè)子域

        i=1;

        for j=1 to Tk+1

        while rj>bido//找到要分配測試用例的子域

        i=i+1;

        end while

        end for

        2.2 測試用例的選擇

        算法2測試用例選擇算法

        for r=1 to g

        //從Ni中選擇h個(gè)測試用例放入Gr

        Ni=Ni-Gr;

        end for

        for r=1 to g

        end for

        綜上,本文方法在測試階段通過每一次迭代的結(jié)果對下一次測試進(jìn)行動態(tài)調(diào)整,是一種自適應(yīng)的測試方法。因此,該方法的效率比傳統(tǒng)的運(yùn)行測試方法更高。

        3 實(shí)例分析

        為了驗(yàn)證本文方法的有效性,設(shè)計(jì)實(shí)驗(yàn)分析以下問題:

        問題1在測試過程中各子域概率的變化情況。

        問題2與傳統(tǒng)基于運(yùn)行剖面測試對比的優(yōu)勢。

        本文設(shè)計(jì)實(shí)例并對其進(jìn)行分析,假設(shè)按照軟件的功能可將其劃分為5個(gè)子域,表1給出各子域中測試用例的情況。

        表1 子域及其測試用例集

        對于問題1,雖然子域D2實(shí)際的使用概率只有10%,但其在第1次迭代測試中的失效率較高,相應(yīng)地,該子域的概率向量得到提高,因此,在之后的測試中會對該子域進(jìn)行更多的測試,而對于上一次迭代沒有出現(xiàn)失效點(diǎn)的子域D1和D5,其概率向量有所減少,在接下來的測試中會減少其比例。若使用傳統(tǒng)的基于運(yùn)行剖面的方法對表1給定的實(shí)例進(jìn)行測試,其根據(jù)每個(gè)子域的運(yùn)行剖面(即實(shí)際使用概率)分配測試,更著重于使用概率大的子域。

        對于問題2,傳統(tǒng)的基于運(yùn)行剖面的測試傾向于使用概率較大的子域D3和D4進(jìn)行更多測試,本文測試會根據(jù)前一次迭代的測試結(jié)果進(jìn)行動態(tài)調(diào)整,當(dāng)子域D3和D4中的故障被移除后,傳統(tǒng)的基于運(yùn)行剖面測試將難以繼續(xù)提高系統(tǒng)的可靠性,而本文測試將把測試重心轉(zhuǎn)移到那些使用概率較低而失效率較高的子域上,移除其中的故障后可進(jìn)一步提高系統(tǒng)的可靠性,因此,本文測試方法相比于傳統(tǒng)基于運(yùn)行剖面的測試具有一定優(yōu)勢。

        4 結(jié)束語

        本文提出一種基于運(yùn)行剖面的測試用例分配和選擇方法。采用自適應(yīng)的學(xué)習(xí)方法,根據(jù)每次迭代的結(jié)果動態(tài)調(diào)整下一次測試。當(dāng)高發(fā)生率的故障被移除后繼續(xù)聚焦低發(fā)生率故障,以提高軟件的可靠性。實(shí)例分析結(jié)果驗(yàn)證了該方法的有效性。然而,本文僅給出測試方法有效性的簡單分析,下一步將進(jìn)行大量實(shí)驗(yàn)驗(yàn)證,并對相關(guān)定義與假設(shè)部分提出的假設(shè)進(jìn)行研究,以提高測試的準(zhǔn)確性。

        猜你喜歡
        軟件可靠性子域測試用例
        基于鏡像選擇序優(yōu)化的MART算法
        基于子域解析元素法的煤礦疏降水量預(yù)測研究
        煤炭工程(2021年7期)2021-07-27 09:34:20
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        軟件可靠性工程綜合應(yīng)用建模技術(shù)研究
        基于混合遺傳算法的回歸測試用例集最小化研究
        一種基于壓縮感知的三維導(dǎo)體目標(biāo)電磁散射問題的快速求解方法
        數(shù)控系統(tǒng)軟件可靠性設(shè)計(jì)與故障分析技術(shù)
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        簡談使用BoundsChecker進(jìn)行計(jì)算機(jī)聯(lián)鎖系統(tǒng)人機(jī)界面軟件可靠性測試
        關(guān)于nZ的理想及商環(huán)
        成年奭片免费观看视频天天看| 国产成人精品日本亚洲专区61| 日韩人妻无码精品久久久不卡| 久久久噜噜噜久久中文字幕色伊伊| 2021亚洲色中文字幕| 亚洲免费精品一区二区| av天堂午夜精品一区| 99香蕉国产精品偷在线观看| 国产一区二区牛影视| 中文字幕人成乱码中文| 国产av一区二区三区性入口| 黄网站欧美内射| 亚洲国产精品久久久久秋霞1| 国产目拍亚洲精品二区| 亚洲av网一区二区三区| 亚洲精品美女久久久久久久| 亚洲第一看片| 成人免费播放片高清在线观看| 91超精品碰国产在线观看| 国产精品无码午夜福利| 人妻无码一区二区在线影院 | 久久亚洲国产精品成人av秋霞| 日本一区二区三区小视频| 成人av蜜桃在线观看| 狠狠色狠狠色综合| 99精品一区二区三区免费视频| 女同中文字幕在线观看| 狠狠色噜噜狠狠狠狠97首创麻豆| 成人激情五月天| 欧美激情国产一区在线不卡| 美女视频黄a视频全免费网站色| 台湾佬中文娱乐网22| 国产精品高潮呻吟av久久无吗| 日本熟妇精品一区二区三区| 国产精品一区二区av不卡| 中文字幕v亚洲日本| 日韩女人毛片在线播放| 亚洲一区久久蜜臀av| 私人vps一夜爽毛片免费| 国内少妇偷人精品视频免费| av网址大全在线播放|