• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      黑盒預(yù)處理功能可測試性的研究

      2014-03-04 09:06:16馮濟(jì)舟項(xiàng)利萍劉夢飛
      關(guān)鍵詞:黑盒待機(jī)備份

      馮濟(jì)舟 項(xiàng)利萍 劉夢飛

      (中國電子科技集團(tuán)第三十八研究所,安徽 合肥 230088)

      黑盒預(yù)處理功能可測試性的研究

      馮濟(jì)舟 項(xiàng)利萍 劉夢飛

      (中國電子科技集團(tuán)第三十八研究所,安徽 合肥 230088)

      通過對(duì)黑盒預(yù)處理功能可測試性的數(shù)學(xué)建模和理論證明,總結(jié)出可測試性黑盒預(yù)處理功能的判定步驟和測試方法,并通過一個(gè)實(shí)例進(jìn)行詳述。

      黑盒預(yù)處理功能;可測試性;數(shù)學(xué)建模;理論證明

      軟件測試作為能力成熟度模型集成(CMMI,Capability Maturity Model Integration)驗(yàn)證(Verification,Ver)和確認(rèn)(Validation,Val)過程域的重要實(shí)現(xiàn)手段,是軟件生命周期模型中的重要階段,是保證軟件質(zhì)量的重要途徑。近年來,隨著軟件規(guī)模和復(fù)雜程度的不斷提高,軟件測試的難度也不斷提高。

      預(yù)處理是軟件執(zhí)行流程中最早經(jīng)歷的處理過程,是軟件系統(tǒng)重要的組成部分。如果預(yù)處理功能出現(xiàn)問題,即使之后的業(yè)務(wù)功能均實(shí)現(xiàn)正確,最后也都會(huì)導(dǎo)致軟件運(yùn)行結(jié)果的失敗。但是當(dāng)出現(xiàn)測試結(jié)果失敗時(shí),由于沒有定位到問題的來源,軟件開發(fā)人員往往將排查問題的重心放在核心業(yè)務(wù)功能的實(shí)現(xiàn)上,如此造成了開發(fā)時(shí)間、開發(fā)資源和成本的浪費(fèi),進(jìn)而導(dǎo)致軟件項(xiàng)目進(jìn)度的延誤。

      如圖1所示黑盒軟件基本流程圖,圖中的被測軟件通過對(duì)輸入進(jìn)行預(yù)處理后轉(zhuǎn)入實(shí)際功能模塊,通過實(shí)際功能的輸出判定軟件是否滿足用戶的需要。在此情況下,當(dāng)軟件輸出出現(xiàn)問題時(shí),我們無法斷定究竟是軟件預(yù)處理功能的錯(cuò)誤,還是軟件實(shí)際功能的錯(cuò)誤。然而在實(shí)際過程中,預(yù)處理功能往往是用戶重要的隱性需求,并且預(yù)處理功能的正確實(shí)現(xiàn)往往是整個(gè)系統(tǒng)能否正確實(shí)現(xiàn)的前提,在軟件結(jié)構(gòu)流程中起到至關(guān)重要的作用。那么既然黑盒測試是把軟件看成一個(gè)不可被打開的盒子,測試人員就不清楚黑盒內(nèi)部的代碼邏輯和處理過程,那么屬于黑盒部分的預(yù)處理功能,如何才能通過測試來得到驗(yàn)證呢?況且目前的資料、文獻(xiàn)中沒有關(guān)于黑盒預(yù)處理功能測試方法的介紹,那么黑盒預(yù)處理功能測試果真沒有什么方法可以實(shí)現(xiàn)嗎?

      圖1 軟件基本流程圖

      1 預(yù)處理測試方法

      1.1 問題建模

      根據(jù)圖1所示的軟件結(jié)構(gòu)流程,抽象出由功能A、功能B和功能C為元素表示的黑盒預(yù)處理功能可測性判定的數(shù)學(xué)模型,如圖2所示。其中預(yù)處理功能以A功能表示,業(yè)務(wù)功能以B功能表示,C功能是A功能、B功能的順次集成,即整個(gè)軟件的黑盒部分。給定輸入x,令輸入x經(jīng)過A功能處理后的預(yù)期輸出為A(x),經(jīng)過B功能處理后的預(yù)期輸出結(jié)果為B(A(x)),可知輸入x對(duì)于功能C的預(yù)期輸出為C(x)=B(A(x))。假設(shè)在測試過程中,輸入x對(duì)于功能C的實(shí)際輸出C'(x)≠C(x),其原因可能在于:

      (1)輸入x對(duì)于功能A的實(shí)際輸出A'(x)≠A(x),即軟件的預(yù)處理過程發(fā)生錯(cuò)誤;

      (2)輸入x對(duì)于功能A的實(shí)際輸出A'(x)=A(x),但是經(jīng)過B功能處理后的實(shí)際輸出B'(A'(x))≠B(A(x)),即軟件業(yè)務(wù)功能的實(shí)現(xiàn)存在問題。

      由于黑盒測試中,我們無法獲得預(yù)處理功能的實(shí)際輸出A'(x),從而導(dǎo)致對(duì)軟件故障無法進(jìn)行準(zhǔn)確定位。在下節(jié)中,我們提出了一種典型的預(yù)處理測試方法,該方法通過對(duì)輸入數(shù)據(jù)的設(shè)計(jì),對(duì)所得測試結(jié)果進(jìn)行逆向反推,從而得到預(yù)處理功能實(shí)現(xiàn)正確性的判斷。

      圖2 被測軟件黑盒部分基本流程建模

      1.2 測試方法

      在圖2中,考慮兩組不同的輸入x和y,且x和y滿足A(x)=A(y),也即輸入x和y經(jīng)過預(yù)處理后的預(yù)期輸出完全相同。又由于A(x)=A(y),可知B(A(x))=B(A(y))。對(duì)于輸入x和y有以下引理1成立。

      引理1:對(duì)于兩組不同的輸入x和y,且x和y滿足A(x)=A(y)。在測試過程中,如果輸入x和y對(duì)于功能C的實(shí)際輸出B'(A'(x))≠B'(A'(y)),那么x和y對(duì)于預(yù)處理A的實(shí)際輸出A'(x)≠A'(y)。

      證明:采用反證法進(jìn)行證明。假設(shè)B'(A(x))≠B'(A(y))時(shí),A'(x)=A'(y)。按照命題假設(shè)A'(x)=A'(y),則A'(x)、A'(y)對(duì)于功能C的實(shí)際輸出B'(A(x))=B'(A(y)),這與已知條件B(A(x))≠B(A(y))相矛盾,所以假設(shè)命題情況不成立。因此對(duì)于輸入x和y,如果B'(A'(x))≠B'(A'(y)),那么A'(x)≠A'(y)。

      根據(jù)引理1可知,如果輸入x對(duì)于功能C的實(shí)際輸出等于預(yù)期輸出,也即B'(A'(x))=B(A(x)),則軟件的預(yù)處理過程發(fā)生錯(cuò)誤,也即以下定理1成立。

      定理1:對(duì)于兩組不同的輸入x和y,且x和y滿足A(x)=A(y)。在測試過程中,如果輸入x和y對(duì)于功能C的實(shí)際輸出B'(A'(x))≠B'(A'(y))、且B'(A'(x))=B(A(x)),那么可判斷軟件的預(yù)處理功能A存在錯(cuò)誤。

      證明:由B'(A'(x))=B(A(x)),可知A'(x)= A(x)。根據(jù)引理1,B'(A'(x))≠B'(A'(y))時(shí),A'(x)≠A'(y),可知A'(y)≠A(x),也即A'(y)≠A(y)。從而可得輸入y對(duì)于預(yù)處理功能A的實(shí)際輸出A'(y)與預(yù)期輸出A(y)不同。也即軟件的預(yù)處理功能A存在錯(cuò)誤。

      根據(jù)定理1我們給出判定此種黑盒預(yù)處理測試典型方法的算法,其具體判定步驟如下:

      步驟1,從軟件需求中找出可以得到相等預(yù)期結(jié)果的不同輸入;

      步驟2,將這些不同輸入錄入到被測軟件得出實(shí)際結(jié)果;

      步驟3,若可以找出兩組輸入,其中一組不等于預(yù)期結(jié)果,另一組與預(yù)期結(jié)果相同,則可判斷此軟件預(yù)處理功能存在問題;若不相等的輸入得到的實(shí)際輸出結(jié)果都相同或都不同時(shí),則不可判斷此軟件預(yù)處理功能存在問題。

      2 實(shí)例分析

      2.1 問題描述

      被測軟件按功能處理流程劃分可由預(yù)處理功能和處理備份件待機(jī)、備份件關(guān)機(jī)、主件待機(jī)和主件關(guān)機(jī)信號(hào)量功能組成。各功能處理過程描述如下。

      2.1.1 預(yù)處理功能描述

      備份件待機(jī)信號(hào)有4個(gè),通過這4個(gè)信號(hào)來確定一個(gè)最終備份件的待機(jī)信號(hào)fdj。其中qd表示啟動(dòng);fdji(i=1,2,3,4)表示備份件待機(jī);fgji(i=1,2)表示備份件關(guān)機(jī);dj表示主件待機(jī);gj表示主件關(guān)機(jī);fgj1表示備份件1、3關(guān)機(jī),fgj2表示備份件2、4關(guān)機(jī)。

      2.1.1.1 確定最終的備份件待機(jī)信號(hào)的計(jì)算方法如下。1)置fdj初始值為157 300+qd;2)令N為提供的信號(hào)量個(gè)數(shù)。如果N≥3,將提供的fdji信號(hào)按從小到大排序,如果第一個(gè)數(shù)(也即最小的數(shù))大于等于141 000+qd,則找第三個(gè)數(shù)作為fdj;3)如果fdj>157 300+qd,則fdj=157 300+qd。備份件關(guān)機(jī)信號(hào)有兩個(gè),通過這兩個(gè)信號(hào)來確定一個(gè)最終的備份件關(guān)機(jī)信號(hào)fdj。

      2.1.1.2 確定最終的備份件關(guān)機(jī)信號(hào)的計(jì)算方法如下。1)置fdj初始值為157 300+qd;2)令N為提供的信號(hào)量個(gè)數(shù)。如果N=2,且min{fdj1,fdj2}≥141 000+qd,那么fgj=max{fgj1,fgj2};3)如果fgj>157 300+qd,則fgj=157 300+qd。

      2.1.2 處理備份件待機(jī)、備份件關(guān)機(jī)、主件待機(jī)和主件關(guān)機(jī)信號(hào)量功能描述。

      如果備份件待機(jī)信號(hào)最先到達(dá)(fdj=min{fdj,fgj,gj,dj}),如果備份件待機(jī)信號(hào)先于備份件關(guān)機(jī)信號(hào)到來(不包括同時(shí)),則在fdj時(shí)刻轉(zhuǎn)B狀態(tài),否則在fgj+1 700時(shí)刻轉(zhuǎn)B狀態(tài)。

      被測軟件處理流程圖如圖3所示。

      圖3 被測軟件處理流程圖

      2.2 可測性分析和判定

      根據(jù)2.1.1.1的需求描述可知,本例中存在兩個(gè)不同的黑盒部分輸入fdj1=fdj2=fdj3=141 280,fgj1=fgj2=155 500,dj=171 200,gj=172 200,qd=200和fdj1=fdj2=141 280,fdj3=141 200,fgj1=fgj2=155 500,dj=171 200,gj =172 200,

      qd=200,可以得出兩個(gè)相同的黑盒部分預(yù)期輸出結(jié)果。而實(shí)際輸出的結(jié)果中一個(gè)與預(yù)期結(jié)果相同,一個(gè)與預(yù)期結(jié)果不同,滿足了黑盒預(yù)處理功能可測性判定模型的條件,因此此例的黑盒預(yù)處理功能是可測的。被測軟件處理流程與軟件結(jié)構(gòu)流程的等效關(guān)系如圖4所示。

      圖4 被測軟件處理流程與軟件結(jié)構(gòu)流程的等效關(guān)系圖

      2.3 測試方法及分析

      第一組輸入數(shù)據(jù):fdj1=fdj2=fdj3=141 280,fgj1=fgj2=155 500,dj=171 200,gj=172 200,qd=200。

      預(yù)期結(jié)果:系統(tǒng)在預(yù)處理輸出值(即fgj=141 280) 時(shí)刻轉(zhuǎn)B狀態(tài)。

      實(shí)際結(jié)果:系統(tǒng)在預(yù)處理輸出值(即fdj=141 280) 時(shí)刻轉(zhuǎn)B狀態(tài)。

      可以證明當(dāng)A(x)=fdj=141 280時(shí),B(A(x))的結(jié)果是141 280時(shí)刻轉(zhuǎn)B狀態(tài)。

      第二組輸入數(shù)據(jù):fdj1=fdj2=141 280,fdj3=141 200,fgj1=fgj2=155 500,dj=171 200,gj =172 200,qd=200。

      預(yù)期結(jié)果:系統(tǒng)在預(yù)處理輸出值(即fdj=141 280) 時(shí)刻轉(zhuǎn)B狀態(tài)。

      實(shí)際結(jié)果:系統(tǒng)在預(yù)處理輸出值(即fdj≠141 280) 時(shí)刻轉(zhuǎn)B狀態(tài)。

      第二組輸入數(shù)據(jù)等效于B(A(x))的輸出結(jié)果是未在141 280時(shí)刻轉(zhuǎn)B狀態(tài),即A(x)的輸出結(jié)果fdj≠141 280,而根據(jù)軟件需求規(guī)格的描述,此時(shí)的fdj應(yīng)該等于141 280,因此說明等效于A(x)的被測軟件預(yù)處理功能出現(xiàn)問題。

      3 結(jié)論

      本文通過建立問題的數(shù)學(xué)模型、理論證明的方法,論證了黑盒預(yù)處理功能的可測試性,提出了一種黑盒預(yù)處理功能的測試方法,并通過一個(gè)具體實(shí)例論述了此方法使用的全過程。本文開創(chuàng)性地提出了關(guān)于黑盒預(yù)處理功能測試的方法,在一定程度上填補(bǔ)了此類型測試方法的空白。

      (編輯:勞邊)

      TP306

      C

      1003–6660(2014)04–0046–03

      10.13237/j.cnki.asq.2014.04.012

      [收修訂稿日期] 2014-02-16

      猜你喜歡
      黑盒待機(jī)備份
      “備份”25年:鄧清明圓夢
      一種基于局部平均有限差分的黑盒對(duì)抗攻擊方法
      遏制“超長預(yù)售”,需監(jiān)管“超長待機(jī)”
      公民與法治(2022年6期)2022-07-26 06:16:04
      “超長待機(jī)”的余震
      漫“話”抗疫·人與自我:“超長待機(jī)”的假期,你收獲了什么?
      大眾文藝(2020年8期)2020-04-21 08:57:58
      淺析數(shù)據(jù)的備份策略
      科技視界(2015年6期)2015-08-15 00:54:11
      出版原圖數(shù)據(jù)庫遷移與備份恢復(fù)
      筆記本電腦待機(jī)后的奇怪故障等
      計(jì)算機(jī)應(yīng)用文摘(2005年1期)2005-04-29 07:40:53
      民权县| 邢台市| 怀柔区| 襄垣县| 甘泉县| 靖西县| 体育| 元阳县| 利川市| 军事| 柘城县| 上栗县| 彩票| 沙坪坝区| 大同市| 华阴市| 青冈县| 鹰潭市| 含山县| 晋宁县| 顺平县| 鱼台县| 大邑县| 灵寿县| 平遥县| 巫山县| 苏州市| 汪清县| 高平市| 福鼎市| 乌拉特中旗| 邹城市| 阜平县| 镶黄旗| 靖江市| 赞皇县| 阿尔山市| 新兴县| 青冈县| 新宁县| 阿克|