国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法

      文檔序號:6591593閱讀:159來源:國知局
      專利名稱:基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法,屬于軟件測試的技術(shù)領(lǐng)域。
      背景技術(shù)
      構(gòu)件組裝是基于構(gòu)件軟件開發(fā)(Component-basedSoftware Development, CBSD)的核心技術(shù),目前構(gòu)件組裝測試一般是借助模型組合,從得到的系統(tǒng)整體模型中生成交互測試用例。這樣帶來的問題一是在模型組合時(shí)容易產(chǎn)生狀態(tài)空間的爆炸,二是一些在單元測試時(shí)完成的工作要重復(fù)進(jìn)行。在CBSD的過程中,除了構(gòu)件可以復(fù)用外,構(gòu)件的測試用例集也存在可復(fù)用性的性質(zhì)。
      一個(gè)構(gòu)件的測試用例集包含了對該構(gòu)件所提供功能的測試過程和測試結(jié)果。一般來說,除了針對某些特殊的用戶需求,構(gòu)件在接口和功能上都不太可能發(fā)生很大的變化。因此在CBSD過程中可以復(fù)用已有的構(gòu)件來組裝軟件系統(tǒng),也可以復(fù)用相應(yīng)的測試用例用來進(jìn)行構(gòu)件組裝測試。發(fā)明內(nèi)容
      本發(fā)明提出一種基于測試用例組合的構(gòu)件組裝測試方法,利用單個(gè)構(gòu)件測試用例集,組合出新的測試用例,用于構(gòu)件組裝測試,從而達(dá)到復(fù)用已有工作,節(jié)省開發(fā)成本的效果。
      本發(fā)明的技術(shù)方案:一種基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法,設(shè)已通過單個(gè)構(gòu)件測試的構(gòu)件M1與M2組裝成系統(tǒng)P,測試準(zhǔn)則為C,Tmi和Tm2分別是構(gòu)件M1與M2滿足C-adequate-for-P的 測試用例集,0是輸出接口,I是輸入接口,Omi是M1的輸出接口集合,Imi是M1的輸入接口集合;
      定義:若構(gòu)件M的測試用例集Tm包含5 Dc (P-relevant (Dm))每個(gè)子域中至少一個(gè)測試數(shù)據(jù),則稱Tm滿足C-adequate-for-P,其中,Dm為構(gòu)件M的輸入子域,P-relevant (Dm)表示系統(tǒng)P調(diào)用構(gòu)件M時(shí)所使用的Dm中的子集,SDc(Dm)表示由測試準(zhǔn)則C導(dǎo)出的構(gòu)件M全部輸入子域的多重集;
      具體測試步驟如下:
      步驟1:定義構(gòu)件 M1 和 M2,當(dāng) IPm n/4 = 0,IRmi DiKw2 = 0,且 IPm (MRu2 矣 0 或IPM2ri/i^p0時(shí)稱它們是可組裝的,其中IPmi表示M1提供服務(wù)的接口集合,IRmi表示…請求服務(wù)的接口集合,IPm2表示M2提供服務(wù)的接口集合,IRm2表示M2請求服務(wù)的接口集合,若M1和M2不能組裝則結(jié)束操作;
      步驟2:求出構(gòu)件M2需要M1提供的服務(wù),SP IPmi n IRm2,求出構(gòu)件M1需要M2提供的服務(wù),即IP12 n IRmi,得出M1和M2需要對方提供的服務(wù)的并集,即Shared(M11M2) =(IPM1 n IRm2) U (IPm2 n IRmi);
      步驟3:從Tmi與Tm2中找出與集成相關(guān)的測試用例集,針對測試用例集Tmi中的每一個(gè)測試用例ti,判斷構(gòu)件M1的每一個(gè)輸出接口 Oi是否存在于測試用例\中,如果Oi存在于\中,并且(^屬于IPmi n IRm2,那么說明測試用例ti屬于Tm中與IPmi n IRm2相關(guān)的部分,用(IPm門IR12).relevant (Tmi) [k]記錄下h,其中i表示M1中測試用例的個(gè)數(shù);
      針對構(gòu)件M1的每一個(gè)輸入接口 Ip判斷L是否存在于測試用例\中,如果L存在于ti中,并且L屬于IPm2 n IRmi,那么說明測試用例ti屬于Tmi中與IPm2 n IRmi相關(guān)的部分,用(IPM2 H IR11).relevant (Tmi) [I]記錄下Ij,其中,j表示M1中輸入接口的個(gè)數(shù);
      再針對測試用例集Tm2中的每一個(gè)測試用例tk,判斷構(gòu)件仏的每一個(gè)輸出接口 Ok是否存在于測試用例tk中,如果Ok存在于tk中,并且Ok屬于IPm2 n IRmi,那么說明測試用例tk屬于Tm2中與IPm2 n IRmi相關(guān)的部分,用
      (IPm2 n IR11).relevant (Tm2) [k]記錄下tk,其中,k表示M2中測試用例個(gè)數(shù);
      針對構(gòu)件M2的每一個(gè)輸入接口 I1,判斷I1是否存在于測試用例tk中,如果I1存在于tk中,并且I1屬于IPmi n IRm2,那么說明測試用例tk屬于Tm2中與IPmi n IRm2相關(guān)的部分,用(IPm門IR12).relevant (Tm2) [I]記錄下I1,其中,I表示M2中輸入接口的個(gè)數(shù);
      步驟4:根據(jù)匹配的接口,進(jìn)行測試用例的約減,對Shared (M1, M2)中的每一個(gè)接口a, TmiJm2中每個(gè)與IPmi n IRm2和IPm2 n IRmi相關(guān)的測試用例tp,按a的類型,將tp 設(shè)定為一固定值,去掉相同的測試用例,其中,P表示相關(guān)測試用例個(gè)數(shù);
      步驟5:確定步驟4中所得測試用例之間的組合關(guān)系,計(jì)算組合結(jié)果:
      針對Tmi中每一個(gè)與IPmi H IRm2相關(guān)的測試用例\和Tm2中每一個(gè)與IPmi H IRm2相關(guān)的測試用例tk進(jìn)行如下處理,
      (501):判斷\中的任一接口 Xi是否屬于IPmi H IRm2,如果Xi屬于IPmi n IRm2,同時(shí),存在tk且Xi屬于tk,則繼續(xù)判斷Xi在ti中出現(xiàn)的次數(shù)與Xi在tk中出現(xiàn)的次數(shù)是否相等,若Xi在ti中出現(xiàn)的次數(shù)與Xi在tk中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(502);
      (502):判斷tk中的任一接口 71是否屬于IPmi H IRm2,如果yi屬于IPmi H IRm2,同時(shí),存在\且Ji屬于tp則繼續(xù)判斷Ji在\中出現(xiàn)的次數(shù)與Ji在tk中出現(xiàn)的次數(shù)是否相等,若在h中出現(xiàn)的次數(shù)與Ji在tk中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(503);
      (503):經(jīng)過步驟(501)、(502)處理的\與tk組合屬于札與仏的組裝測試用例,用IntTestW1 M2) [k]記錄,否則不記錄;
      再針對Tm2中每一個(gè)與IPm2 H IRmi相關(guān)的測試用例tk和Tmi中每一個(gè)與IPm2 H IRmi相關(guān)的測試用例\進(jìn)行如下處理,
      (504):判斷tk中的任一接口 Xk是否屬于IPm2 n IRmi,如果Xk屬于IPm2 n IRmi,同時(shí),存在\且1,屬于tp則繼續(xù)判斷Xk在tk中出現(xiàn)的次數(shù)與1,在\中出現(xiàn)的次數(shù)是否相等,若Xk在tk中出現(xiàn)的次數(shù)與Xk在ti中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(505);
      (505):判斷\中的任一接口 yk是否屬于IPm2 n IRmi,如果yk屬于IPm2 n IRmi,同時(shí),存在tk且yk屬于tk,則繼續(xù)判斷yk在tk中出現(xiàn)的次數(shù)與yk在\中出現(xiàn)的次數(shù)是否相等,若yk在tk中出現(xiàn)的次數(shù)與yk在h中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(506);
      (506):經(jīng)過步驟(504)、(505)處理的\與tk組合屬于札與仏的組裝測試用例,用IntTestW1 M2) [k]記錄,否則不記錄;
      經(jīng)過上述步驟I至步驟5得到的所有測試用例的并集就是M1與M2組裝測試的用例集。
      進(jìn)一步的,在步驟5中,測試用例的可組合性通過如下的方法判斷:
      構(gòu)件P和Q的測試用例集分別為Tp和Tq,測試用例
      權(quán)利要求
      1.一種基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法,其特征在于:設(shè)已通過單個(gè)構(gòu)件測試的構(gòu)件M1與M2組裝成系統(tǒng)P,測試準(zhǔn)則為C,Tmi和Tm2分別是構(gòu)件M1與M2滿足C-adequate-for-P的測試用例集,0是輸出接口,I是輸入接口,Omi是M1的輸出接口集合,Imi是M1的輸入接口集合; 定義:若構(gòu)件M的測試用例集Tm包含5 De(P-relevant (Dm))每個(gè)子域中至少一個(gè)測試數(shù)據(jù),則稱Tm滿足C-adequate-for-P,其中,Dm為構(gòu)件M的輸入子域,P-relevant (Dm)表示系統(tǒng)P調(diào)用構(gòu)件M時(shí)所使用的Dm中的子集,SDc(Dm)表示由測試準(zhǔn)則C導(dǎo)出的構(gòu)件M全部輸入子域的多重集; 具體測試步驟如下: 步驟 1:定義構(gòu)件 M1 和 M2,當(dāng) IPMl(MPM2=0,IRM1(VRM2 = 0,且 /i^n/^00 或IPm2HIImi #0時(shí)稱它們是可組裝的,其中IPmi表示M1提供服務(wù)的接口集合,IRmi表示…請求服務(wù)的接口集合,IPm2表示M2提供服務(wù)的接口集合,IRm2表示M2請求服務(wù)的接口集合,若M1和M2不能組裝則結(jié)束操作; 步驟2:求出構(gòu)件仏需要M1提供的服務(wù),即IPmi n IRm2,求出構(gòu)件M1需要M2提供的服務(wù),即IPm2 n IRmi,得出M1和M2需要對方提供的服務(wù)的并集,即Shared(M11M2)= (IPM1 n IRm2)U ( IPm2 H IRmi); 步驟3:從Tmi與Tm2中找出與集成相關(guān)的測試用例集,針對測試用例集Tmi中的每一個(gè)測試用例判斷構(gòu)件M1的每一個(gè)輸出接口 Oi是否存在于測試用例\中,如果Oi存在于\中,并且Oi屬于IPmi n IRm2,那么說明測試用例\屬于Tmi中與IPmi n IRm2相關(guān)的部分,用(IPM1 n IRm2)_relevant (Tmi) [k]記錄下h,其中i表示M1中測試用例的個(gè)數(shù); 針對構(gòu)件M1的每一個(gè)輸入接口 Ip判斷L是否存在于測試用例\中,如果L存在于\中,并且L屬于IPm2 n IRmi,那么說明測試用例\屬于Tmi中與IPm2 n IRmi相關(guān)的部分,用(IPm2 n IR11).relevant (Tmi) [I]記錄下I」,其中,j表示M1中輸入接口的個(gè)數(shù); 再針對測試用例集T m2中的每一個(gè)測試用例tk,判斷構(gòu)件仏的每一個(gè)輸出接口 Ok是否存在于測試用例tk中,如果Ok存在于tk中,并且Ok屬于IPm2 n IRM1,那么說明測試用例tk屬于Tk中與IPk n IRmi相關(guān)的部分,用(IPM2 n IR11).relevant (Tm2) [k]記錄下tk,其中,k表示M2中測試用例個(gè)數(shù); 針對構(gòu)件M2的每一個(gè)輸入接口 I1,判斷I1是否存在于測試用例tk中,如果I1存在于tk中,并且I1屬于IPmi n IRm2,那么說明測試用例tk屬于Tm2中與IPmi n IRm2相關(guān)的部分,用(IPM1 n IRm2)_relevant (Tm2) [I]記錄下I1,其中,I表示M2中輸入接口的個(gè)數(shù); 步驟4:根據(jù)匹配的接口,進(jìn)行測試用例的約減,對Shared (M1, M2)中的每一個(gè)接口 a,TM1、Tm2中每個(gè)與IPmi n IRm2和IPm2 n IRmi相關(guān)的測試用例tp,按a的類型,將tp設(shè)定為一固定值,去掉相同的測試用例,其中,P表示相關(guān)測試用例個(gè)數(shù); 步驟5:確定步驟4中所得測試用例之間的組合關(guān)系,計(jì)算組合結(jié)果: 針對Tmi中每一個(gè)與IPmi n IRm2相關(guān)的測試用例\和Tm2中每一個(gè)與IPmi n IRm2相關(guān)的測試用例tk進(jìn)行如下處理, (501):判斷\中的任一接口 Xi是否屬于IPmi n IRm2,如果Xi屬于IPmi n IRm2,同時(shí),存在tk且Xi屬于tk,則繼續(xù)判斷Xi在\中出現(xiàn)的次數(shù)與Xi在tk中出現(xiàn)的次數(shù)是否相等,若Xi在ti中出現(xiàn)的次數(shù)與Xi在tk中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(502); (502):判斷tk中的任一接口Yi是否屬于IPmi H IRm2,如果Yi屬于IPmi n IRm2,同時(shí),存在\且Ji屬于tp則繼續(xù)判斷Ji在\中出現(xiàn)的次數(shù)與Ji在tk中出現(xiàn)的次數(shù)是否相等,若在h中出現(xiàn)的次數(shù)與Ji在tk中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(503); (503):經(jīng)過步驟(501)、(502)處理的\與tk組合屬于M1與M2的組裝測試用例,用IntTest (M1 M2) [k]記錄,否則不記錄; 再針對Tm2中每一個(gè)與IPm2 n IRmi相關(guān)的測試用例tk和Tmi中每一個(gè)與IPm2 n IRmi相關(guān)的測試用例\進(jìn)行如下處理, (504):判斷tk中的任一接口Xk是否屬于IPm2 n IRmi,如果Xk屬于IPm2 n IRmi,同時(shí),存在\且Xk屬于tp則繼續(xù)判斷Xk在tk中出現(xiàn)的次數(shù)與Xk在\中出現(xiàn)的次數(shù)是否相等,若Xk在tk中出現(xiàn)的次數(shù)與Xk在&中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(505); (505):判斷\中的任一接口yk是否屬于IPm2 n IRmi,如果yk屬于IPm2 n IRmi,同時(shí),存在tk且yk屬于tk,則繼續(xù)判斷yk在tk中出現(xiàn)的次數(shù)與yk在\中出現(xiàn)的次數(shù)是否相等,若yk在tk中出現(xiàn)的次數(shù)與yk在h中出現(xiàn)的次數(shù)相等,進(jìn)入步驟(506); (506):經(jīng)過步驟(504)、(505)處理的\與tk組合屬于札與仏的組裝測試用例,用IntTest (M1 M2) [k]記錄,否則不記錄; 經(jīng)過上述步驟I至步驟5得到的所有測試用例的并集就是M1與M2組裝測試的用例集。
      2.如權(quán)利要求1所述的構(gòu)件組裝測試方法,其特征在于,在步驟5中,測試用例的可組合性通過如下的方法判斷: 構(gòu)件P和Q的測試用例集分別為Tp和Tq,測試用例藝1、V]_,1]_,〇1,]_2,〇2, ,I111J Onj Vn^Ip,藝2\^1,工1,〇1,工2,〇2, ,Im,〇n,Vn)e Tq,若滿足:(1)Shared(P,g)關(guān)0.(2)Vx e (O1,Or } R SharediP^ Q),e {/ j,m,} f] Shared (P,Q),Vxe Jr11,…麵八O,Bx e (O1,,..,}f|Shared(PyQ)其中,Onum為x在h中出現(xiàn)的次數(shù),Inum為x在t2中出現(xiàn)的次數(shù),并且 Onum = Inum ;則稱測試用例h和t2可以組合,其中,V1為h執(zhí)行前系統(tǒng)的狀態(tài),ip im表示輸入操作,Op OfOn表示輸出操作,Vn為ti執(zhí)行后系統(tǒng)的狀態(tài)W1 ’為t2執(zhí)行前系統(tǒng)的狀態(tài),表不輸入操作,O1'、02’…on’表不輸出操作,vn’為t2執(zhí)行后系統(tǒng)的狀態(tài),m和n為自然數(shù)。
      3.如權(quán)利要求1所述的一種基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法,其特征在于:當(dāng)多個(gè)構(gòu)件組裝時(shí), 通過構(gòu)件的兩兩組裝,使其變化成如權(quán)利要求1所述的兩個(gè)構(gòu)件組裝的形式。
      全文摘要
      本發(fā)明公開了一種基于構(gòu)件測試用例集組合的構(gòu)件組裝測試方法,屬于軟件測試領(lǐng)域。該方法利用單個(gè)構(gòu)件測試用例集,組合出新的測試用例,用于構(gòu)件組裝測試,從而達(dá)到復(fù)用已有工作,節(jié)省開發(fā)成本的效果。該方法通過對構(gòu)件交互活動的分析,在不進(jìn)行模型組裝的情況下生成組裝測試用例,從而避免了模型組合時(shí)的一系列問題。
      文檔編號G06F11/36GK103226512SQ20131011379
      公開日2013年7月31日 申請日期2013年4月2日 優(yōu)先權(quán)日2013年4月2日
      發(fā)明者吳曉丹, 許峰, 張雪潔, 李良明, 張偉建 申請人:河海大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1