• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    改進型程序切片方法的測試需求約簡技術(shù)研究*

    2017-09-11 14:24:28馬竹娟朱二周
    傳感器與微系統(tǒng) 2017年9期
    關(guān)鍵詞:測試用例約簡語句

    張 軍, 劉 鋒, 馬竹娟, 朱二周

    (1.安徽大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601; 2.安徽農(nóng)業(yè)大學(xué) 經(jīng)濟技術(shù)學(xué)院,安徽 合肥 230036)

    改進型程序切片方法的測試需求約簡技術(shù)研究*

    張 軍1, 劉 鋒1, 馬竹娟2, 朱二周1

    (1.安徽大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601; 2.安徽農(nóng)業(yè)大學(xué) 經(jīng)濟技術(shù)學(xué)院,安徽 合肥 230036)

    傳統(tǒng)的測試用例集約簡技術(shù)大多采用由測試需求集直接生成測試用例集的方法。該方法雖然能夠約簡測試用例集,但出現(xiàn)測試需求冗余,約簡后的測試用例集不夠精準(zhǔn)等問題。針對這些問題,提出了一種基于六元結(jié)構(gòu)表的程序切片方法。利用程序切片精簡測試代碼,省去構(gòu)造程序依賴圖的復(fù)雜步驟;根據(jù)代碼間的相互關(guān)系和模塊間的耦合度,利用啟發(fā)式算法約簡測試需求;在約簡后的測試需求上,精簡測試用例集。將該方法應(yīng)用到當(dāng)前主流的Android平臺上比較約簡前后G,GRE的用例集。實驗結(jié)果表明:約簡后的測試需求集能夠在獲得較少的測試用例集的前提下保證較高的覆蓋率。

    程序切片; 測試需求約簡; 耦合度; 六元結(jié)構(gòu)表

    0 引 言

    隨著移動互聯(lián)網(wǎng)的快速發(fā)展,越來越多用戶使用移動設(shè)備,Android版App軟件已經(jīng)被越來越多的人使用[1]。但隨著App版本不斷地迭代,出現(xiàn)舊的測試用例和新的測試用例重合,導(dǎo)致敏捷開發(fā)效率低下。在軟件開發(fā)過程中軟件測試是必不可少的環(huán)節(jié),它在整個軟件的生命周期中具有舉足輕重的地位。在軟件測試之前,測試人員根據(jù)測試需求,生成測試用例,然后發(fā)現(xiàn)軟件開發(fā)過程中存在的問題并加以糾正,保證軟件質(zhì)量。隨著軟件版本的迭代,測試用例集的規(guī)模也隨之增長,不可避免出現(xiàn)用例冗余。如何有效降低冗余,提高測試效率,成為研究軟件測試的必備內(nèi)容,此即測試用例集約簡的目的。

    現(xiàn)有測試用例集約簡方法是針對原測試需求集,生成相應(yīng)的測試用例集,然后尋找測試用例集的某個子集,用盡可能少的測試用例滿足測試需求。測試用例集約簡方法主要包括貪心算法、一些啟發(fā)式算法、整數(shù)規(guī)范等方法[2]。這些方法是在滿足已知的測試需求和測試用例關(guān)系條件下直接約簡測試用例集。但忽視了測試需求間的相互關(guān)系,導(dǎo)致約簡后的測試用例集出現(xiàn)測試效果不明顯的現(xiàn)象。

    針對傳統(tǒng)的測試用例集約簡方法的不足,結(jié)合文獻[3]和程序切片技術(shù),提出了一種利用結(jié)構(gòu)表構(gòu)造的程序切片約簡測試需求集的新方法。程序切片是一種分析和理解程序的技術(shù),主要應(yīng)用于程序分析、軟件測試及領(lǐng)域[3],通過對源代碼進行分析和研究,刪除與興趣點無關(guān)的語句和謂詞,達到縮減程序代碼,保證所得的程序與源程序在語義上一致性。

    1 六元結(jié)構(gòu)表程序切片

    程序切片技術(shù)的發(fā)展經(jīng)歷了從靜態(tài)到動態(tài)、從過程內(nèi)到過程間等幾個方面的過程,每種切片都有各自的優(yōu)勢與劣勢。從軟件需求角度考慮,若需求包含完整的輸出描述,則需求可以看作初始化過程到最終功能語句之間的靜態(tài)切片;若從測試用例集方面考慮,每個用例都對應(yīng)著不同狀態(tài)下的動態(tài)切片。

    傳統(tǒng)的靜態(tài)程序切片算法是基于系統(tǒng)依賴圖(SDG)的遍歷算法。SDG以程序依賴圖為基礎(chǔ),反映程序的數(shù)據(jù)和控制依賴等信息。但生成SDG需要計算與切片無關(guān)的數(shù)據(jù)依賴,造成時間和空間上的浪費。本文結(jié)合文獻[4]提出的五元結(jié)構(gòu)[4],提出了基于六元結(jié)構(gòu)表程序切片構(gòu)造方法,既能夠降低時間和空間復(fù)雜度,又能夠保證約簡后代碼功能的完整性。

    1.1 結(jié)構(gòu)表模型構(gòu)造

    構(gòu)造結(jié)構(gòu)表模型需要以下3個步驟:

    1)通過詞法和語法分析生成TOKEN序列,在TOKEN序列基礎(chǔ)上進行代碼標(biāo)準(zhǔn)化[5],生成標(biāo)準(zhǔn)TOKEN序列。

    2)在步驟(1)基礎(chǔ)上,生成對應(yīng)的六元結(jié)構(gòu)表和復(fù)合語句信息表。

    3)利用六元結(jié)構(gòu)表和復(fù)合語句信息表,得到程序切片。

    1.2 六元結(jié)構(gòu)表構(gòu)造

    定義1 六元結(jié)構(gòu)表(imnNCf)〈i,m,n,N,C,f〉為程序中變量的聲明、賦值和函數(shù)調(diào)用、使用參數(shù)的關(guān)系。其中,i為語句的行號;m為聲明變量或函數(shù)所在的行號;n為i行定義的變量;N為i行使用變量或函數(shù)形參的集合;C為i行復(fù)合關(guān)系的集合;f為i行調(diào)用函數(shù)名。imnNCf中值不存在用?表示。

    1.3 復(fù)合語句信息表構(gòu)造

    定義2 復(fù)合語句信息表為表示復(fù)合語句結(jié)構(gòu)信息。其中,id為語句的標(biāo)示;name為語句名;beginline為語句開始行;endline為語句結(jié)束行;f為是否存在調(diào)用函數(shù);?表示不存在。

    圖1為Android代碼例子。由于篇幅所限僅列表1、表2,為showViews函數(shù)的六元結(jié)構(gòu)表以及復(fù)合信息結(jié)構(gòu)表,其中,監(jiān)聽和點擊事件歸屬于showViews。

    表1 showViews函數(shù)的六元結(jié)構(gòu)表

    表2 showViews復(fù)合信息結(jié)構(gòu)表

    程序代碼塊的功能:1)展示圖書類別;2)編輯圖書類別;3)刪除圖書類別。限于篇幅,代碼簡化,模塊流程不變。

    1 public class BCLActivity extends Activity {

    2 BCSAdapter adapter;

    3 ListView lv;

    4 List>list;

    5 String bookClassId;

    6 Public void onCreate(Bundle savedInstanceState) {

    7 showViews(bookClassId);}

    8 private void showViews(bookClassId) {

    9 lv=(ListView)findViewById(R.id.h_list_view);

    10 list = getDatas();

    11 adapter=new BCSAdapter(this,list,R.layout);

    12 lv.setAdapter(adapter);

    13 lv.setOCCMListener(bCLIListener);}

    14 Private OCCMListener bCLIListener = new OCCMListener(){

    15 public void OCCM(ContextMenu menu,View v,ContextMenuInfo menuInfo) {

    16 menu.add(0,0,0,“刪除圖書類別”);

    17 menu.add(0,1,0,“編輯圖書類別”);

    18 menu.add(0,2,0,"展示圖書類別")} };

    19 public boolean onContextItemSelected(MenuItem item){

    20 AdapterCMInfocontextMenuInfo=(AdapterCMInfo)

    item.getMenuInfo();

    21 int position=contextMenuInfo.position;

    22 StringbookId=(getDatas().get(position).get(“bookClassId”).toString());

    23 bookClassId=bookId;

    24 if(item.getItemId()==0){

    25 dialog(bookClassId);

    26 }else if (item.getItemId()==1){

    27 EditBookActivity(BookClassEditActivity,bookClassId);

    28 setViews(bookClassId);}

    29 else if(item.getItemId()==2){

    30 showViews(bookClassId);}}

    31 protected void dialog(bookClassId){∥刪除

    32 Builder builder=new Builder(BCLActivity.this);

    33 builder.setPositiveButton(“確認(rèn)”,new OnClickListener(){

    34 public void onClick(DialogInterface dialog,int which){

    35 HashMap〈String,String〉params=new HashMap〈String,String〉();

    36 params.put(“action”,“delete”);

    37 remove(bookClassList,params);

    38 setViews(bookClassId);}});}

    39 private List〈Map〈String,Object〉〉getDatas(){

    40 list=new ArrayList〈Map〈String,Object〉〉();

    41 try{

    42 List〈BookClass〉bookClassList=bCLHander.getBCList();

    43 for(int i=0;i

    44 Map〈String,Object〉map=new HashMap〈String,Object〉();

    45 map.put(“bookClassId”,bookClassList.get(i).getBookClassId());

    46 list.add(map);}

    47 }catch(Exception e){}

    48 return list;

    49 }}

    imnNCf的構(gòu)造過程是對程序進行逆向流分析,在保證程序數(shù)據(jù)和控制依賴完整性的同時,剔除與興趣結(jié)點無關(guān)的代碼。算法1和算法2為具體的構(gòu)造過程。其中,算法1為構(gòu)造六元結(jié)構(gòu)表算法,算法2為構(gòu)造復(fù)合信息結(jié)構(gòu)表算法。

    算法1 六元結(jié)構(gòu)表算法:

    1)判斷興趣點是函數(shù)語句還是賦值語句:若為函數(shù)語句跳轉(zhuǎn)步驟(2),若為賦值語句跳轉(zhuǎn)步驟(3)。

    2)逆向遍歷imnNCf,遍歷f值是否和興趣點值相同。若相同,跳轉(zhuǎn)步驟(4);若不相同,跳轉(zhuǎn)步驟(5)。

    3)逆向遍歷imnNCf,遍歷n值是否和興趣點值相同。若相同,切片中加入該語句;若不相同,跳轉(zhuǎn)步驟(6)。

    4)記錄i值,即程序的結(jié)束行,加入到切片,跳轉(zhuǎn)步驟(5)。

    5)查看對應(yīng)行的N值:若值為?,表示不進行參數(shù)傳遞,跳轉(zhuǎn)到對應(yīng)函數(shù)f的imnNCf進行逆序遍歷;若值不為?,表示進行了參數(shù)傳遞,若實參為數(shù)值傳遞,被調(diào)函數(shù)中形參不影響實參,無需計算被調(diào)函數(shù)的子切片;若實參為地址傳遞,計算被調(diào)函數(shù)的子切片。跳轉(zhuǎn)步驟(8)。

    6)查看對應(yīng)行的N值:若為?,即賦值語句右側(cè)是函數(shù),跳轉(zhuǎn)步驟(7);若不為?,查看f值,若為?,是變量賦值,首先進行逆向流分析,逆向遞歸計算其使用變量的子切片,然后加入到切片中;若不為?,則跳轉(zhuǎn)步驟(5)。

    7)逆向遍歷對應(yīng)行f的imnNCf,查找C值,則跳轉(zhuǎn)步驟(8)。

    8)對于C值:若不為?,查找復(fù)合信息結(jié)構(gòu)表,記錄復(fù)合函數(shù)切片;若為?,則結(jié)束。

    算法2 復(fù)合信息結(jié)構(gòu)表算法:

    1)根據(jù)imnNCf中C值,查找復(fù)合結(jié)構(gòu)表中id值,若C=id,跳轉(zhuǎn)步驟(2);若C≠id,逆序遍歷復(fù)合結(jié)構(gòu)表,直到C=id。

    2)若復(fù)合關(guān)系未被處理過,加入到切片中;若有未處理變量,查找beginline-endline對應(yīng)的imnNCf,若變量和imnNCf中某一行n值相同,加入切片,跳轉(zhuǎn)步驟(3)。

    3)逆向循環(huán)遍歷對應(yīng)行的N值和C值,步驟同算法1。

    在圖1中,若以(28,bookClassId)為切片,計算結(jié)果為{28,26,1,5,6,7,8, 9,13,14,17,19,20,21,22,23}。

    切片結(jié)果的準(zhǔn)確度直接影響到測試需求的準(zhǔn)確性。切片的準(zhǔn)確度Pslice為

    (1)

    式中Sstandard為標(biāo)準(zhǔn)切片集合;Scurrent為本文計算的切片集合;Pslice∈(0~1),若值越接近于1,表示切片準(zhǔn)確度越高。

    對于切片準(zhǔn)則(28, bookClassId),標(biāo)準(zhǔn)的切片結(jié)果{19,20,21,22,23,24,25,26,27,28,29,16,17,14,13,12,11,10,9,8,7,6,5,1}。利用式(1),計算Pslice為66.7 %。

    2 程序切片和測試需求的結(jié)合

    2.1 測試需求之間的關(guān)系和約簡方法

    在軟件設(shè)計中應(yīng)盡可能使用松耦合關(guān)系。耦合是指各模塊間相互依賴程度的度量[6]。測試需求[7]之間的關(guān)系主要有包含、獨立和重合關(guān)系。若為獨立關(guān)系,則不必考慮耦合度;若為重合關(guān)系,則需要考慮耦合度;若為包含關(guān)系,即全耦合。以下給出測試需求ri和rj約簡步驟:

    1)若ri包含了rj,則覆蓋了ri的測試用例均可以覆蓋rj。在進行測試時只需保留ri,即若ri和rj是相互包含關(guān)系,取ri或者rj中的一個。

    3)若ri和rj是獨立關(guān)系,則ri和rj之間的測試用例沒有交集部分。這時,就無法約簡測試需求。

    2.2 測試需求約簡算法

    算法3 基于測試需求的約簡算法:

    輸入:原測試需求集R。

    輸出:精簡測試需求集R′。

    R′:=R; ∥初始化

    Pair:={(ri,rj)|ri,rj∈R(i,j=1,2,…,m,i

    While(Pair不為空)

    if(ri?rj)then∥若ri和rj是包含關(guān)系

    R′=R-{ri};∥合并測試需求rj,保留測試需求ri

    else if(rj∩ri)then

    R′=R-{rj};∥去除測試需求rj,保留測試需求ri

    else if(ri∩rj≠?)then∥若ri和rj是重合關(guān)系

    R′=ri+rj-ri∩rj

    else if(ri∩rj==?)then∥若ri和rj是獨立關(guān)系不約簡測試需求

    end if end if end if end if

    end while

    2.3 程序切片約簡測試需求

    定義3 方法內(nèi)切片準(zhǔn)則:

    方法內(nèi)切片準(zhǔn)則是一個3元組(M,s,v),其中,s為方法M的一條語句,v為在s點引用的變量。

    定義4 方法耦合:

    Slice(M,s,v1)和Slice(M,s,v2)分別為方法v1和v2在s入口點的切片,方法v1和v2之間的耦合度Coupling(v1,v2)為

    (2)

    式中 0≤Coupling(v1,v2)≤1,耦合度越高,說明關(guān)聯(lián)性越大,代碼之間的重合度越高,冗余度越大,越要進行約簡。

    對于showViews(bookClassId)函數(shù),有13個測試需求,圖1中每一個箭頭表示一個測試需求,即b1~b13。結(jié)合程序分析[8],通過imnNCf和啟發(fā)式算法可知b6≡b8≡b9,b11≡b13,b2≡b4,b2?b1,b10?b7,b3?b2,b5?b2,b12?b9。其中,≡為等價關(guān)系,?為包含關(guān)系。通過式(2)計算語句24和語句29的耦合度為13/22。結(jié)合代碼的耦合度和啟發(fā)式算法進行計算,使得原13個測試需求變?yōu)?個,精簡的測試需求集R′={b1,b7,b9,b11}。對原程序進行測試時,只需考慮這4項測試需求,即可實現(xiàn)分支覆蓋的測試目標(biāo)。

    圖1 showViews(bookClassId)函數(shù)代碼流程

    b1b2b3b4b5b6b7b8b9b10b11b12b13t1****t2********t3********t4**********t5*********t6*********t7*********

    表3所示,對于原測試需求集R,當(dāng)測試用例集T={t1,t2,t3,t4,t5,t6,t7}時,G獲得用例集{t4,t5,t7},然而,基于精簡后的測試需求集R′,G′和GRE′獲得用例集{t4,t5}。且由于R′的規(guī)模較小,一定程度上減少了測試用例集的計算量。

    3 仿真實驗

    圖書管理系統(tǒng)分為采購管理模塊、查詢功能模塊、系統(tǒng)管理模塊等。利用切片耦合度的測試需求約簡流程如圖2所示。

    圖2 測試需求約簡流程

    3.1 實驗環(huán)境

    Android環(huán)境下,實驗平臺使用eclipse4.2,JDK1.6,Android SDK22.3,測試工具EclEmma,切片工具Soot。

    3.2 用例集對比

    分別用G,GRE算法對用戶功能模塊、圖書管理模塊、查詢功能模塊中的7個java文件進行對比。對約簡前測試需求集T和約簡后測試需求集T′用2種算法各進行8次實驗,實驗數(shù)據(jù)取8次實驗的平均值。圖3給出了約簡前后測試需求個數(shù)和測試用例個數(shù)對比關(guān)系。

    圖3 G和GRE用例集對比

    實驗結(jié)果表明:約簡前和約簡后測試用例集數(shù)量大大減少,減少了約30 %,同時G算法優(yōu)于GRE算法。在某些節(jié)點,變化趨于平緩,這是因為不同代碼模塊之間的耦合性不是很大,同時也說明本方法的可行性。

    3.3 約簡前后檢錯數(shù)對比

    在用例集約簡的同時,要保證約簡后的用例集能夠覆蓋對應(yīng)的測試,即約簡后的用例集個數(shù)能保證一定的覆蓋率。方法是通過對程序注入錯誤,考察約簡前、后測試用例集的測試效果,比較對注入錯誤的識別能力。如果用較少的測試用例發(fā)現(xiàn)錯誤數(shù)量與原測試用例發(fā)現(xiàn)錯誤數(shù)量差別不大,那么該方法在用例集約簡的同時也能保證覆蓋率。

    實驗從圖書管理系統(tǒng)中抽取完整的4個模塊,注入錯誤。4個模塊的代碼規(guī)模適中,模塊編號用N表示,代碼規(guī)模用S表示,注入錯誤數(shù)用I表示,簡化前檢錯數(shù)用C表示,簡化后檢錯數(shù)用C′表示。實驗數(shù)據(jù)和結(jié)果如圖4所示。

    圖4 檢錯數(shù)對比

    通過仿真實驗可以看出:約簡前、后,在模塊代碼量小的情況下,約簡前、后檢錯數(shù)相同。在模塊代碼量比較大的情況下,檢錯數(shù)浮動不明顯。表明,利用結(jié)構(gòu)表的方法構(gòu)造程序切片,可在用例集約簡的同時,保證較高的檢錯率。

    3.4 不同方法覆蓋度對比

    為了評價本方法的有效性,開發(fā)了一種網(wǎng)上書城的Web項目,設(shè)計測試用例和測試需求,利用G算法和GRE算法對程序的測試覆蓋度進行對比,測試覆蓋度[9]為

    (3)

    式中 |T(rj)|為滿足測試需求rj的測試用例的個數(shù);n為用例ti滿足需求的個數(shù)。表4使用原G算法、原GRE算法與本文方法應(yīng)用于G算法和GRE算法進行比較的結(jié)果??梢钥闯觯菏褂帽痉椒ㄔ谛枨髷?shù)量減少的同時,能夠保證和約簡前相應(yīng)的覆蓋度。

    3.5 結(jié)構(gòu)表復(fù)雜度對比

    對于結(jié)構(gòu)表程序切片的時間復(fù)雜度,考慮最壞情況,假設(shè)結(jié)構(gòu)表中元素個數(shù)為n,切片準(zhǔn)則中包括程序中所有的變量,結(jié)合算法1和算法2,循環(huán)遍歷結(jié)構(gòu)表,最多執(zhí)行n次,其開銷為o(n(n+N+C+f)),計算切片的時間復(fù)雜度為o(n2)。而利用SDG計算切片的時間復(fù)雜度為o(n4)。對于空間復(fù)雜度,結(jié)構(gòu)表的存儲空間為6×n,即空間復(fù)雜度為o(n),而存儲SDG的數(shù)據(jù)依賴和控制依賴?yán)镁仃?,其大小為n×n,空間復(fù)雜度為o(n2)。

    表4 G和GRE算法覆蓋度對應(yīng)表

    4 結(jié)束語

    本文針對傳統(tǒng)構(gòu)造程序切片的缺點,借鑒已有構(gòu)造程序切片的方法,提出了基于結(jié)構(gòu)表的方法構(gòu)造程序切片,并將該方法運用到Android環(huán)境下,很大程度上簡化了生成切片的時間和空間復(fù)雜度。根據(jù)程序之間耦合性和啟發(fā)式算法,將之運用到約簡測試需求上,提高了測試用例集約減度,同時在一定程度上保證了覆蓋率。

    雖然改進的方法取得明顯的效果,但還需對構(gòu)造過程作進一步的改進。本文針對代碼約簡后,通過模塊之間的耦合性,利用啟發(fā)式算法約簡測試需求,可以考慮使用另一種算法約簡測試用例,比如利用符號執(zhí)行方法約簡測試用例。如何進行約簡是下一步的研究方向。

    [1] 羅 彪,李 彬,張岱峰,等.基于Android系統(tǒng)的無線多點測溫系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2016,35(3):56-59.

    [2] Harrold M Jean,Gupta Rajiv,Soffa Mary Lou.A methodology for controlling the size of a test suite[J].ACM Transaction on Software Engineering and Methodology,1993,2(3):270-285.

    [3] 徐寶文,聶長海,章曉芳.一種基于測試需求約簡的測試用例集優(yōu)化方法[J].軟件學(xué)報,2007,18(4):821-831.

    [4] 蘇小紅,龔丹丹,王甜甜,等.一種新的過程間靜態(tài)切片快速算法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2015,47(5):25-31.

    [5] 龔丹丹,王甜甜,蘇小紅,等.冗余代碼缺陷檢測方法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2012,44(7):58-63.

    [6] 孫永榮,劉建業(yè),劉瑞華,等.微小型導(dǎo)航系統(tǒng)中高精度導(dǎo)航計算機設(shè)計[J].傳感器與微系統(tǒng),2006,25(10):54-56.

    [7] 程安宇,趙 恬,申 帥.基于CAN總線ECU診斷功能的一致性測試設(shè)計[J].傳感器與微系統(tǒng),2013,32(7):93-96.

    [8] Marre Martina,Bertolino Antonia.Using spanning sets for cove-rage testing[J].IEEE Transaction on Software Engineering,2003,29(11):974-984.

    [9] 華 麗,李曉月,王成勇,等.能提高錯誤檢測能力的回歸測試用例集約簡[J].湖南科技大學(xué)學(xué)報:自然科學(xué)版,2015,30(2):99-103.

    劉 鋒(1962-),教授,碩士生導(dǎo)師,主要從事并行計算與云計算研究工作,E—mail:fengliu@ahu.edu.cn。

    朱二周(1981-),男,通訊作者,副教授,碩士生導(dǎo)師,主要從事虛擬化與程序分析工作,E—mail:ezzhu@ahu.edu.cn。

    DOI:10.13873/J.1000—9787(2017)09—0025—04

    Research on test requirement reduction technique based on improved program slicing method*

    ZHANG Jun1, LIU Feng1, MA Zhu-juan2, ZHU Er-zhou1

    (1.School of Computer Science and Technology,Anhui University,Hefei 230601,China; 2.School of Economics and Technology,Anhui Agricultural University,Hefei 230036,China)

    Traditional test suite reduction method generates test case set directly from the testing requirement set.Although the test case can be reduced,the method ignores the problem of redundancy testing requirements,results in inaccuracy.Aiming at this problem,a program slicing technique based on the method of six-element structure table is proposed.Program slicing is used to streamline test code,for saving the complex steps depending on graphic constructure.Use heuristic algorithm to reduce testing requirements based on the correlation between code and coupling degree between modules.After reducing test requirements,streamline test suite.The method is applied to the Android platform,to compare G and GRE algorithm case set before and after reduction.Experimental result shows that the testing requirement set after reduction ensures a higher coverage rate when it obtains less test suite.

    program slicing; testing requirement reduction; coupling degree; six-element structure table

    10.13873/J.1000—9787(2017)09—0017—05

    2016—09—06

    國家自然科學(xué)基金資助項目(61300169);安徽省教育廳自然科學(xué)重點資助項目(KJ2016A257)

    TP 311

    A

    1000—9787(2017)09—0017—05

    張 軍(1989-),男,碩士研究生,主要研究領(lǐng)域為程序分析,E—mail:1213250514@qq.com。

    猜你喜歡
    測試用例約簡語句
    基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
    重點:語句銜接
    基于二進制鏈表的粗糙集屬性約簡
    基于混合遺傳算法的回歸測試用例集最小化研究
    實值多變量維數(shù)約簡:綜述
    精彩語句
    基于模糊貼近度的屬性約簡
    基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
    如何搞定語句銜接題
    語文知識(2014年4期)2014-02-28 21:59:52
    一種改進的分布約簡與最大分布約簡求法
    河南科技(2014年7期)2014-02-27 14:11:29
    成人一区二区视频在线观看| 麻豆av噜噜一区二区三区| 欧美xxxx黑人xx丫x性爽| 国产蜜桃级精品一区二区三区| 日韩大尺度精品在线看网址| 麻豆av噜噜一区二区三区| 成熟少妇高潮喷水视频| 男女那种视频在线观看| 午夜免费男女啪啪视频观看 | 男女边吃奶边做爰视频| 69av精品久久久久久| 欧美激情在线99| 一个人免费在线观看电影| 欧美xxxx黑人xx丫x性爽| 亚洲成人久久爱视频| 欧美国产日韩亚洲一区| 国产亚洲精品av在线| 国产亚洲精品久久久久久毛片| 日韩精品青青久久久久久| 男人舔女人下体高潮全视频| a级毛片免费高清观看在线播放| 午夜亚洲福利在线播放| 国产精品久久视频播放| 俺也久久电影网| 一级黄片播放器| 亚洲av不卡在线观看| 国产乱人偷精品视频| 联通29元200g的流量卡| 伊人久久精品亚洲午夜| 小说图片视频综合网站| 此物有八面人人有两片| 亚洲欧美日韩无卡精品| 精品国产三级普通话版| www.色视频.com| 黑人高潮一二区| 狠狠狠狠99中文字幕| 国产片特级美女逼逼视频| 欧美丝袜亚洲另类| 老司机影院成人| 亚洲成a人片在线一区二区| 一卡2卡三卡四卡精品乱码亚洲| 黄色欧美视频在线观看| 18+在线观看网站| 九九在线视频观看精品| 此物有八面人人有两片| 免费av毛片视频| 女生性感内裤真人,穿戴方法视频| 精品免费久久久久久久清纯| 欧美成人a在线观看| 免费看美女性在线毛片视频| 嫩草影院入口| 欧美+亚洲+日韩+国产| 国产极品精品免费视频能看的| 国产高潮美女av| 日本与韩国留学比较| 黄片wwwwww| 国产成人91sexporn| 一级毛片电影观看 | 亚洲婷婷狠狠爱综合网| 日韩高清综合在线| 色视频www国产| 别揉我奶头 嗯啊视频| 久久久久久久久中文| 少妇熟女aⅴ在线视频| 精品一区二区三区人妻视频| 亚洲精品日韩av片在线观看| 波多野结衣高清作品| 男女边吃奶边做爰视频| 免费观看人在逋| 俺也久久电影网| 一级黄片播放器| 尤物成人国产欧美一区二区三区| 亚洲第一电影网av| 国产在线男女| 日韩成人伦理影院| 成年版毛片免费区| 国产爱豆传媒在线观看| 国产精品av视频在线免费观看| 日本精品一区二区三区蜜桃| 少妇被粗大猛烈的视频| 精品久久国产蜜桃| 久久天躁狠狠躁夜夜2o2o| 久久久久九九精品影院| 欧美3d第一页| 成人综合一区亚洲| 免费无遮挡裸体视频| 亚洲成人久久性| 欧美日韩精品成人综合77777| 国产av不卡久久| 日本免费a在线| 性色avwww在线观看| 日本撒尿小便嘘嘘汇集6| 真实男女啪啪啪动态图| 国产午夜精品论理片| 国产视频一区二区在线看| 日韩欧美精品v在线| 欧美精品国产亚洲| 免费观看人在逋| 男人舔女人下体高潮全视频| 久久精品综合一区二区三区| 插阴视频在线观看视频| 特大巨黑吊av在线直播| 联通29元200g的流量卡| 国语自产精品视频在线第100页| av在线蜜桃| 国产精品一区二区三区四区久久| 日本撒尿小便嘘嘘汇集6| 日本熟妇午夜| 亚洲18禁久久av| 一本一本综合久久| 伊人久久精品亚洲午夜| 菩萨蛮人人尽说江南好唐韦庄 | 丰满的人妻完整版| 国产真实乱freesex| 亚洲中文日韩欧美视频| 日本 av在线| 国模一区二区三区四区视频| 联通29元200g的流量卡| 看非洲黑人一级黄片| 欧美成人一区二区免费高清观看| 国产激情偷乱视频一区二区| 在线观看一区二区三区| 99在线视频只有这里精品首页| 看片在线看免费视频| 亚洲真实伦在线观看| 在线观看美女被高潮喷水网站| 欧美成人精品欧美一级黄| 亚洲av五月六月丁香网| 亚洲av美国av| 久久99热6这里只有精品| 欧美人与善性xxx| 色噜噜av男人的天堂激情| 欧美成人a在线观看| 国产aⅴ精品一区二区三区波| 在线天堂最新版资源| 有码 亚洲区| 午夜激情欧美在线| 国产探花极品一区二区| 国产精品国产三级国产av玫瑰| 成人av在线播放网站| 国产亚洲精品综合一区在线观看| 色综合亚洲欧美另类图片| 最近手机中文字幕大全| 18+在线观看网站| 成人三级黄色视频| 国产欧美日韩一区二区精品| 天天一区二区日本电影三级| 深夜精品福利| 欧美3d第一页| 免费观看在线日韩| 搡老妇女老女人老熟妇| 国产精品一区二区免费欧美| 此物有八面人人有两片| 两个人视频免费观看高清| 亚洲天堂国产精品一区在线| 99国产极品粉嫩在线观看| 岛国在线免费视频观看| 大又大粗又爽又黄少妇毛片口| 日日啪夜夜撸| 午夜老司机福利剧场| 天堂网av新在线| 日韩精品青青久久久久久| 91在线精品国自产拍蜜月| 99久久成人亚洲精品观看| 成年女人看的毛片在线观看| 黄色视频,在线免费观看| 免费黄网站久久成人精品| 中文亚洲av片在线观看爽| 精品久久国产蜜桃| 国产精品久久电影中文字幕| 此物有八面人人有两片| 国产成人a∨麻豆精品| 人妻丰满熟妇av一区二区三区| 亚洲av中文av极速乱| а√天堂www在线а√下载| 观看免费一级毛片| 村上凉子中文字幕在线| 亚洲av免费高清在线观看| 国产精品人妻久久久久久| 亚洲成人中文字幕在线播放| 欧美色视频一区免费| 色5月婷婷丁香| 国产高清激情床上av| 免费观看的影片在线观看| 99久久精品一区二区三区| 久久人人精品亚洲av| 69av精品久久久久久| 国产大屁股一区二区在线视频| 亚洲成人av在线免费| eeuss影院久久| 久久久精品欧美日韩精品| 成人午夜高清在线视频| 国产麻豆成人av免费视频| 蜜桃久久精品国产亚洲av| 色5月婷婷丁香| 人妻夜夜爽99麻豆av| 久久久久久伊人网av| 两个人视频免费观看高清| 啦啦啦啦在线视频资源| 看片在线看免费视频| 悠悠久久av| 97超视频在线观看视频| 嫩草影院入口| 成人亚洲精品av一区二区| 日韩成人伦理影院| 蜜臀久久99精品久久宅男| 免费观看人在逋| 久久精品国产99精品国产亚洲性色| 久久久久久久久久成人| www.色视频.com| 久久人人爽人人片av| 亚洲精品一卡2卡三卡4卡5卡| 哪里可以看免费的av片| 九九爱精品视频在线观看| 日韩欧美 国产精品| 天美传媒精品一区二区| 国产精品一区二区免费欧美| 国产真实伦视频高清在线观看| 18禁裸乳无遮挡免费网站照片| 18+在线观看网站| 一进一出好大好爽视频| 国产精品伦人一区二区| 老熟妇仑乱视频hdxx| 亚洲欧美日韩卡通动漫| 国产在线男女| 国产精品一及| 日本黄色片子视频| 99久久久亚洲精品蜜臀av| 日韩成人av中文字幕在线观看 | 亚洲精品粉嫩美女一区| 别揉我奶头 嗯啊视频| 神马国产精品三级电影在线观看| 美女cb高潮喷水在线观看| 成人欧美大片| 色综合亚洲欧美另类图片| 国产中年淑女户外野战色| 小说图片视频综合网站| 久久综合国产亚洲精品| 波多野结衣巨乳人妻| 丰满的人妻完整版| 女的被弄到高潮叫床怎么办| 身体一侧抽搐| 97碰自拍视频| 在现免费观看毛片| 久久鲁丝午夜福利片| 国产av不卡久久| 一卡2卡三卡四卡精品乱码亚洲| 日韩欧美 国产精品| 精品欧美国产一区二区三| 老师上课跳d突然被开到最大视频| 国产三级中文精品| 国产成人影院久久av| 不卡视频在线观看欧美| 一级黄片播放器| 亚洲欧美日韩东京热| 波多野结衣高清作品| 亚洲av不卡在线观看| 午夜福利高清视频| 最后的刺客免费高清国语| 亚洲,欧美,日韩| 国产精品人妻久久久影院| 亚洲一区高清亚洲精品| 嫩草影视91久久| 午夜老司机福利剧场| 成人永久免费在线观看视频| 国产欧美日韩精品亚洲av| 精品久久久久久成人av| 99国产极品粉嫩在线观看| 久久午夜亚洲精品久久| 中文亚洲av片在线观看爽| 天美传媒精品一区二区| 日韩在线高清观看一区二区三区| АⅤ资源中文在线天堂| 99久久成人亚洲精品观看| 色在线成人网| 男人和女人高潮做爰伦理| 国产精品一区二区三区四区免费观看 | 欧美成人一区二区免费高清观看| 中国美白少妇内射xxxbb| 99久久中文字幕三级久久日本| 麻豆av噜噜一区二区三区| 免费在线观看影片大全网站| 亚洲精品国产av成人精品 | videossex国产| 欧美人与善性xxx| 国国产精品蜜臀av免费| 国产激情偷乱视频一区二区| 亚洲av成人av| 老师上课跳d突然被开到最大视频| 黄片wwwwww| a级毛色黄片| 99久久久亚洲精品蜜臀av| 亚洲va在线va天堂va国产| 两性午夜刺激爽爽歪歪视频在线观看| 欧美性猛交╳xxx乱大交人| 青春草视频在线免费观看| 香蕉av资源在线| 久久草成人影院| 22中文网久久字幕| 最后的刺客免费高清国语| 亚洲三级黄色毛片| 一区福利在线观看| 干丝袜人妻中文字幕| 看免费成人av毛片| 国产一区二区激情短视频| 亚洲天堂国产精品一区在线| 男女做爰动态图高潮gif福利片| 韩国av在线不卡| 一进一出抽搐gif免费好疼| 午夜老司机福利剧场| 日本熟妇午夜| 国产一区二区三区在线臀色熟女| av专区在线播放| 国产精品免费一区二区三区在线| 国产久久久一区二区三区| 亚洲国产精品sss在线观看| 在线免费观看不下载黄p国产| av.在线天堂| 亚洲高清免费不卡视频| 一个人看视频在线观看www免费| 丰满乱子伦码专区| 尤物成人国产欧美一区二区三区| 亚洲中文字幕一区二区三区有码在线看| 一a级毛片在线观看| 久久午夜福利片| 国产av一区在线观看免费| 亚洲一区二区三区色噜噜| 美女xxoo啪啪120秒动态图| 晚上一个人看的免费电影| 插逼视频在线观看| 国产一区亚洲一区在线观看| 亚洲欧美日韩高清专用| 成人欧美大片| 免费看a级黄色片| 嫩草影院新地址| 国产精品一区二区免费欧美| 国产精品久久久久久亚洲av鲁大| 日本a在线网址| 最近最新中文字幕大全电影3| 亚洲真实伦在线观看| 一边摸一边抽搐一进一小说| 日韩大尺度精品在线看网址| 国产精品综合久久久久久久免费| 中文字幕熟女人妻在线| 亚洲精品乱码久久久v下载方式| 伊人久久精品亚洲午夜| 国产不卡一卡二| 午夜精品在线福利| 久久久久免费精品人妻一区二区| eeuss影院久久| 亚洲最大成人手机在线| 久久亚洲国产成人精品v| 搡女人真爽免费视频火全软件 | 最近最新中文字幕大全电影3| 大型黄色视频在线免费观看| 两个人视频免费观看高清| av在线老鸭窝| 自拍偷自拍亚洲精品老妇| 久久天躁狠狠躁夜夜2o2o| 99久久精品一区二区三区| 中文字幕av成人在线电影| 亚洲经典国产精华液单| 一个人观看的视频www高清免费观看| 少妇高潮的动态图| 亚洲高清免费不卡视频| 中文亚洲av片在线观看爽| 亚洲va在线va天堂va国产| 高清午夜精品一区二区三区 | aaaaa片日本免费| 天天躁夜夜躁狠狠久久av| 亚洲成人久久爱视频| 在线观看av片永久免费下载| 非洲黑人性xxxx精品又粗又长| 男人舔奶头视频| 99热全是精品| 精华霜和精华液先用哪个| 老司机福利观看| 欧美bdsm另类| 亚洲天堂国产精品一区在线| 露出奶头的视频| 麻豆一二三区av精品| 久久久久久久午夜电影| 国产伦一二天堂av在线观看| 亚洲av第一区精品v没综合| 亚洲最大成人中文| 一区二区三区免费毛片| 国产精品久久久久久久电影| 国产片特级美女逼逼视频| 九九在线视频观看精品| 乱人视频在线观看| 成人综合一区亚洲| 久久精品国产自在天天线| 久久午夜亚洲精品久久| 搡老熟女国产l中国老女人| 免费电影在线观看免费观看| 欧美xxxx性猛交bbbb| 成人永久免费在线观看视频| 天堂√8在线中文| 亚洲欧美精品综合久久99| 伦理电影大哥的女人| 久久久久久国产a免费观看| 级片在线观看| 婷婷精品国产亚洲av在线| 国产亚洲av嫩草精品影院| 亚洲欧美日韩东京热| a级毛片a级免费在线| 乱码一卡2卡4卡精品| 欧美日韩在线观看h| 别揉我奶头~嗯~啊~动态视频| 亚洲色图av天堂| a级毛片a级免费在线| 精品一区二区三区av网在线观看| eeuss影院久久| 韩国av在线不卡| 国产女主播在线喷水免费视频网站 | 久久精品夜夜夜夜夜久久蜜豆| 99热6这里只有精品| 麻豆久久精品国产亚洲av| 亚洲va在线va天堂va国产| 日韩成人伦理影院| 一夜夜www| 伦理电影大哥的女人| 一边摸一边抽搐一进一小说| 人妻夜夜爽99麻豆av| 狂野欧美白嫩少妇大欣赏| 日本与韩国留学比较| 国产精品久久久久久久久免| 久久久成人免费电影| 国产 一区 欧美 日韩| 免费高清视频大片| 国产精品不卡视频一区二区| av视频在线观看入口| .国产精品久久| 禁无遮挡网站| 波多野结衣高清无吗| 成人二区视频| 菩萨蛮人人尽说江南好唐韦庄 | 麻豆成人午夜福利视频| 日产精品乱码卡一卡2卡三| 中出人妻视频一区二区| 日韩精品有码人妻一区| 久久久a久久爽久久v久久| 99在线人妻在线中文字幕| 日韩欧美在线乱码| 69av精品久久久久久| 在线天堂最新版资源| 别揉我奶头~嗯~啊~动态视频| 99国产极品粉嫩在线观看| 久久草成人影院| 久久久成人免费电影| 日韩大尺度精品在线看网址| 99九九线精品视频在线观看视频| 亚洲经典国产精华液单| 亚洲国产色片| 亚洲精品日韩在线中文字幕 | 日本熟妇午夜| 国产成人影院久久av| 国产高潮美女av| 麻豆av噜噜一区二区三区| 啦啦啦韩国在线观看视频| 天堂√8在线中文| 日日摸夜夜添夜夜添av毛片| 一个人观看的视频www高清免费观看| 夜夜看夜夜爽夜夜摸| 国产精品一区www在线观看| 国产三级在线视频| 精品99又大又爽又粗少妇毛片| 精品乱码久久久久久99久播| 亚洲丝袜综合中文字幕| 最近中文字幕高清免费大全6| 欧美日韩综合久久久久久| 久久久国产成人免费| 国产午夜福利久久久久久| 最近手机中文字幕大全| 小说图片视频综合网站| 精品久久久久久久末码| 国产精品99久久久久久久久| 久久久久久久午夜电影| 国产欧美日韩精品一区二区| 色综合亚洲欧美另类图片| 亚洲人成网站在线播| 国产精品无大码| 欧美色欧美亚洲另类二区| 天天躁夜夜躁狠狠久久av| 午夜精品在线福利| av.在线天堂| 国产精品久久视频播放| 色综合色国产| 搡老妇女老女人老熟妇| 国产成人一区二区在线| 久久精品综合一区二区三区| 免费人成在线观看视频色| 日韩欧美三级三区| 亚洲人成网站高清观看| 五月玫瑰六月丁香| 久久久久久久亚洲中文字幕| 国产伦精品一区二区三区视频9| a级毛色黄片| 人人妻人人澡欧美一区二区| 国产麻豆成人av免费视频| 老熟妇仑乱视频hdxx| 久久久国产成人免费| 亚洲中文字幕一区二区三区有码在线看| 久久久久九九精品影院| 国产视频一区二区在线看| 日韩欧美精品免费久久| av福利片在线观看| 性插视频无遮挡在线免费观看| 三级经典国产精品| 亚洲五月天丁香| 国产熟女欧美一区二区| 美女内射精品一级片tv| 国产精品1区2区在线观看.| 搡老妇女老女人老熟妇| 亚洲国产精品合色在线| 久久6这里有精品| 日韩国内少妇激情av| 校园人妻丝袜中文字幕| 少妇熟女aⅴ在线视频| 女人十人毛片免费观看3o分钟| 人妻制服诱惑在线中文字幕| 日日干狠狠操夜夜爽| 黄色一级大片看看| 性插视频无遮挡在线免费观看| 成年版毛片免费区| 久久久国产成人免费| 久久精品人妻少妇| 99热6这里只有精品| 婷婷精品国产亚洲av在线| 一进一出抽搐动态| 麻豆久久精品国产亚洲av| 高清毛片免费观看视频网站| 午夜日韩欧美国产| 国产高清视频在线观看网站| 国内精品久久久久精免费| 国产黄a三级三级三级人| 99精品在免费线老司机午夜| 免费不卡的大黄色大毛片视频在线观看 | 欧美成人一区二区免费高清观看| 亚洲av五月六月丁香网| 99久久无色码亚洲精品果冻| 三级经典国产精品| 一区二区三区免费毛片| 精品不卡国产一区二区三区| 一区二区三区免费毛片| 国产精品亚洲一级av第二区| 国产亚洲av嫩草精品影院| 永久网站在线| 国产片特级美女逼逼视频| 老熟妇仑乱视频hdxx| 最近的中文字幕免费完整| 国产女主播在线喷水免费视频网站 | 97热精品久久久久久| 日韩一区二区视频免费看| 日韩三级伦理在线观看| 亚洲人成网站高清观看| 久久这里只有精品中国| 高清毛片免费看| 九九久久精品国产亚洲av麻豆| 精品99又大又爽又粗少妇毛片| 久久婷婷人人爽人人干人人爱| 国产精品美女特级片免费视频播放器| 我的老师免费观看完整版| 久久精品国产99精品国产亚洲性色| 日韩欧美三级三区| 日韩国内少妇激情av| 国产人妻一区二区三区在| 一区福利在线观看| 亚洲欧美成人精品一区二区| 日韩高清综合在线| 深夜a级毛片| 免费人成在线观看视频色| 91久久精品国产一区二区成人| 变态另类成人亚洲欧美熟女| 韩国av在线不卡| 亚洲一级一片aⅴ在线观看| 天天一区二区日本电影三级| 午夜爱爱视频在线播放| 色综合亚洲欧美另类图片| 成人永久免费在线观看视频| 国产精品嫩草影院av在线观看| 一级a爱片免费观看的视频| 天堂网av新在线| 久久韩国三级中文字幕| 波多野结衣高清无吗| 老女人水多毛片| 免费大片18禁| ponron亚洲| 中文字幕人妻熟人妻熟丝袜美| or卡值多少钱| 国产成人精品久久久久久| 欧美另类亚洲清纯唯美| 久久久久久国产a免费观看| 99视频精品全部免费 在线| 麻豆av噜噜一区二区三区| 长腿黑丝高跟| 亚洲专区国产一区二区| 欧美中文日本在线观看视频| 有码 亚洲区| 九九在线视频观看精品| 特大巨黑吊av在线直播| 久久精品综合一区二区三区| 夜夜看夜夜爽夜夜摸| 老司机福利观看| 狂野欧美激情性xxxx在线观看| 国产一级毛片七仙女欲春2| 亚洲人成网站在线播| 俄罗斯特黄特色一大片| 12—13女人毛片做爰片一| 国产精品永久免费网站| 校园人妻丝袜中文字幕| 欧美+亚洲+日韩+国产| 十八禁国产超污无遮挡网站| 免费人成视频x8x8入口观看| 国产av在哪里看|