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

        ?

        基于UML活動(dòng)圖的場(chǎng)景法測(cè)試用例生成策略的研究

        2017-06-01 12:30:57陳翠娟
        關(guān)鍵詞:控制流測(cè)試用例環(huán)路

        陳翠娟

        (閩江學(xué)院 軟件學(xué)院,福建 福州 350001)

        基于UML活動(dòng)圖的場(chǎng)景法測(cè)試用例生成策略的研究

        陳翠娟

        (閩江學(xué)院 軟件學(xué)院,福建 福州 350001)

        傳統(tǒng)的軟件場(chǎng)景測(cè)試法存在著構(gòu)造場(chǎng)景難度大,場(chǎng)景數(shù)量龐大、冗余度高等問題.針對(duì)這些問題,本文提出了一種基于UML活動(dòng)圖的場(chǎng)景法測(cè)試用例生成策略,利用活動(dòng)圖和基本路徑覆蓋法壓縮、優(yōu)化測(cè)試場(chǎng)景和測(cè)試數(shù)據(jù),為軟件系統(tǒng)測(cè)試提供有效、可行、系統(tǒng)的方法.

        UML;場(chǎng)景測(cè)試;基本路徑覆蓋法;控制流圖;獨(dú)立路徑

        1 引言

        UML是一種可視化的建模語(yǔ)言,它通過圖形表示法從多個(gè)側(cè)面對(duì)系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等進(jìn)行刻畫.研究表明,采用有效的形式化方法來(lái)描述問題域,并選擇適當(dāng)?shù)臏y(cè)試策略,是設(shè)計(jì)和生成完備的測(cè)試用例集合的關(guān)鍵環(huán)節(jié)[1].活動(dòng)圖是UML中的一種行為圖,它描述系統(tǒng)為完成某項(xiàng)功能而執(zhí)行的操作序列,其實(shí)質(zhì)就是流程圖,可用于描述程序流程和工作流程.所以活動(dòng)圖是軟件系統(tǒng)測(cè)試,尤其是業(yè)務(wù)流程測(cè)試的重要手段.

        場(chǎng)景測(cè)試法是通過構(gòu)建各種測(cè)試場(chǎng)景,對(duì)系統(tǒng)的功能點(diǎn)或業(yè)務(wù)流程進(jìn)行描述來(lái)設(shè)計(jì)測(cè)試用例的一種方法.場(chǎng)景測(cè)試法的關(guān)鍵就是構(gòu)建測(cè)試場(chǎng)景和生成測(cè)試數(shù)據(jù).本文通過研究如何運(yùn)用UML中的活動(dòng)圖來(lái)構(gòu)建測(cè)試場(chǎng)景,然后利用基本路徑覆蓋法導(dǎo)出基本路徑集合,從中尋找獨(dú)立路徑,生成測(cè)試用例.

        2 活動(dòng)圖概述

        活動(dòng)圖(Activity Diagram)是一種特殊形式的狀態(tài)機(jī)[2].活動(dòng)圖中的狀態(tài)表示計(jì)算過程或業(yè)務(wù)流程中所處的各種狀態(tài).我們將活動(dòng)圖做如下定義.

        定義1一個(gè)活動(dòng)圖是一個(gè)四元組AD={V0,VF(AD),V (AD),E(AD)}.

        (1)V0表示活動(dòng)圖中起始結(jié)點(diǎn),活動(dòng)圖的起始結(jié)點(diǎn)只有一個(gè);

        (2)VF(AD)表示活動(dòng)圖中的所有終止結(jié)點(diǎn)的集合;

        (3)V(AD)={v1,v2,……,vn}表示活動(dòng)圖中所有結(jié)點(diǎn)的集合;

        (4)E(AD)={e1,e2,……,em}表示活動(dòng)圖中所有邊的集合.

        活動(dòng)圖中的分支結(jié)點(diǎn)用于表示具有條件的行為,只有一個(gè)輸入轉(zhuǎn)換,可以有多個(gè)帶互斥的守衛(wèi)條件的輸出轉(zhuǎn)換.分叉用于表示多個(gè)控制并發(fā)執(zhí)行.

        3 基本路徑覆蓋法

        基本路徑覆蓋法是在控制流程圖的基礎(chǔ)上,分析環(huán)路復(fù)雜性,導(dǎo)出獨(dú)立路徑集合,從而設(shè)計(jì)測(cè)試用例的方法.控制流圖是一種用來(lái)描述控制流的圖形,圓圈表示結(jié)點(diǎn),帶箭頭的邊表示控制流的方向,結(jié)點(diǎn)和邊圈起的部分稱為區(qū)域.為了方便描述,我們做如下定義.

        定義2基本路徑集合是從控制流圖的起始結(jié)點(diǎn)開始到終止結(jié)點(diǎn),由邊連接而成的結(jié)點(diǎn)序列的集合,記為PS={p1, p2,……,pnp},p為一條路徑,np為控制流程圖中的路徑總數(shù).

        定義3環(huán)路度量又稱為環(huán)路復(fù)雜性,是基本路徑集合中獨(dú)立路徑的條數(shù).記為V(G).環(huán)路度量有三種方法:

        (1)V(G)=M-N+2,其中M為圖中的總邊數(shù),N為圖的總結(jié)點(diǎn)數(shù);

        (2)V(G)=P+1,其中P為圖中的判定結(jié)點(diǎn)數(shù),判定結(jié)點(diǎn)是該結(jié)點(diǎn)輸出邊數(shù)大于等于2的結(jié)點(diǎn);

        (3)V(G)=A,A表示圖中的區(qū)域數(shù),區(qū)域是圖中邊和結(jié)點(diǎn)圈起來(lái)的部分,當(dāng)計(jì)算區(qū)域時(shí),圖形最外圈應(yīng)記為一個(gè)區(qū)域.

        定義4環(huán)路是指在控制流圖中,由邊和結(jié)點(diǎn)構(gòu)成了一個(gè)閉合回路.

        定義5獨(dú)立路徑是指至少包含一條新邊的路徑,所謂的新邊就是指在前面已定義的獨(dú)立路徑集合中未曾用到的邊.我們將獨(dú)立路徑集合記為IDPS={idp1,idp2,……,idpmp},idp為一條獨(dú)立路徑.生成獨(dú)立路徑時(shí),需要對(duì)環(huán)路進(jìn)行限制,采取不進(jìn)入環(huán)路或只進(jìn)入環(huán)路一次處理.

        4 基于活動(dòng)圖的場(chǎng)景測(cè)試策略

        場(chǎng)景測(cè)試法是基于IBM公司提出的RUP的測(cè)試用例生成方法,該方法從系統(tǒng)分析的結(jié)果——用例出發(fā),首先從用例開始到結(jié)束遍歷其中的所有基本流和備選流,從基本流開始,再將基本流和備選流結(jié)合起來(lái),可以確定用例場(chǎng)景,然后通過確定某個(gè)特定條件來(lái)生成每個(gè)場(chǎng)景的測(cè)試用例[3].

        基于活動(dòng)圖的場(chǎng)景測(cè)試策略就是利用可視化的UML的活動(dòng)圖來(lái)構(gòu)建測(cè)試場(chǎng)景,然后將活動(dòng)圖映射成為控制流圖,利用基本路徑覆蓋法導(dǎo)出獨(dú)立路徑集合,從而確定測(cè)試場(chǎng)景和測(cè)試用例的一種方法.傳統(tǒng)的場(chǎng)景測(cè)試法對(duì)于一些復(fù)雜的業(yè)務(wù)流程,選擇測(cè)試場(chǎng)景有一定難度,且容易遺漏.而且復(fù)雜業(yè)務(wù)流程中并發(fā)和分支較多,錯(cuò)綜復(fù)雜,導(dǎo)致測(cè)試場(chǎng)景數(shù)量爆炸.采用基于活動(dòng)圖的場(chǎng)景測(cè)試法,通過合并業(yè)務(wù)流程中并發(fā)執(zhí)行的活動(dòng)和順序執(zhí)行的活動(dòng),從而大大減少測(cè)試場(chǎng)景和測(cè)試用例,提高測(cè)試的效率.

        5 實(shí)例分析與展示

        本節(jié)就某教務(wù)管理系統(tǒng)中的添加課程設(shè)置的系統(tǒng)功能為例,論述基于活動(dòng)圖的場(chǎng)景法測(cè)試用例生成的全過程. 5.1 活動(dòng)圖建模

        在每個(gè)學(xué)期開學(xué)前,教務(wù)管理人員通過教務(wù)管理系統(tǒng)能為每門課程選擇任課教師、上課的時(shí)間和地點(diǎn),生成課程設(shè)置.根據(jù)需求,構(gòu)建課程設(shè)置功能的活動(dòng)圖,如圖1所示.教務(wù)管理人員登錄系統(tǒng)后,可以添加教師信息和課程信息,這兩個(gè)活動(dòng)可以并發(fā)執(zhí)行.然后選擇已有的教師和課程,以及上課時(shí)間、上課地點(diǎn)等,添加為課程設(shè)置,此時(shí)系統(tǒng)將進(jìn)行沖突檢查,檢查同一教師在同一時(shí)間是否有其他的課程,或是同一教室在同一時(shí)間是否已排了其他課程等.檢查通過的課程設(shè)置再檢查課時(shí)數(shù)是否符合課程要求,都符合要求則添加成功.

        圖1 課程設(shè)置活動(dòng)圖和控制流圖

        根據(jù)前面的定義,此活動(dòng)圖記為AD={V0,VF(AD),V(AD), E(AD)},其中結(jié)點(diǎn)集合V(AD)={V1,V2,……,V10},邊集合E(AD) ={e1,e2,……,e18},終止結(jié)點(diǎn)集合VF(AD)={Vf}.

        活動(dòng)圖中的各種并發(fā)活動(dòng)總是從某個(gè)結(jié)點(diǎn)開始分叉,然后于某個(gè)結(jié)點(diǎn)匯合結(jié)束,可以把它看成是一個(gè)單入口和單出口的結(jié)點(diǎn).對(duì)于只有單一入口和單一出口的結(jié)點(diǎn),我們可以對(duì)它們進(jìn)行合并.假設(shè)對(duì)于活動(dòng)圖中的分叉和匯合不做壓縮合并,那么并發(fā)活動(dòng)的任意排列組合勢(shì)必造成場(chǎng)景數(shù)量爆炸.所以,我們將活動(dòng)圖中V2和V3結(jié)點(diǎn)壓縮合并成一個(gè)活動(dòng)的結(jié)點(diǎn)N1,合并后刪除e3、e4、e5、e6邊,則V(AD)’={V1, N1,……,V10},E(AD)’={e1,e7,e8,……,e18}.

        5.2 活動(dòng)圖映射為控制流圖

        在實(shí)際應(yīng)用中,一個(gè)不太復(fù)雜的功能的測(cè)試場(chǎng)景,其路徑組合都是一個(gè)龐大的數(shù)字,為了能好地分析路徑,我們將活動(dòng)圖映射為表現(xiàn)形式更為簡(jiǎn)單的控制流圖.活動(dòng)圖中順序執(zhí)行的結(jié)點(diǎn)沒有分支和分叉,只有一條輸入邊和一條輸出邊,可以合并為一個(gè)結(jié)點(diǎn),使得控制流圖進(jìn)一步簡(jiǎn)化,有利于分析環(huán)路復(fù)雜和生成獨(dú)立路徑集合.如圖1,映射為控制流圖時(shí)可以將V0、V1和N1結(jié)點(diǎn)合并為M0,V5和V6結(jié)點(diǎn)合并為M1,V10和Vf結(jié)點(diǎn)合并為Mf結(jié)點(diǎn).合并后,得到右邊的控制流圖.

        5.3 生成獨(dú)立路徑

        (1) 按照定義3,計(jì)算環(huán)路復(fù)雜性,采用公式V(G) =M-N+2=8-7+2=3,或V(G)=P+1=2+1=3,或計(jì)算區(qū)域數(shù)V(G) =A=3;

        (2) 按照定義4,生成獨(dú)立路徑集合IDPS={idp1,idp2, idp4},其中idp1表示獨(dú)立路徑M0→V4→M1→V8→Mf,idp2示獨(dú)立路徑M0→V4→M1→V7→V4→M1→V8→Mf,idp3示獨(dú)立路徑M0→V4→M1→V8→V9→M4→M1→V8→Mf.

        每條獨(dú)立路徑就是一個(gè)測(cè)試場(chǎng)景,為每個(gè)測(cè)試場(chǎng)景設(shè)置一個(gè)測(cè)試用例.然后,在測(cè)試場(chǎng)景中運(yùn)行測(cè)試用例.最后,將期望的結(jié)果與實(shí)際輸出的結(jié)果做比較,如果兩個(gè)結(jié)果不相符,則表示在此路徑上存在錯(cuò)誤,以此來(lái)達(dá)到測(cè)試軟件功能的目的.

        6 總結(jié)

        本文采用可視化的UML活動(dòng)圖對(duì)測(cè)試場(chǎng)景進(jìn)行描述,并對(duì)UML活動(dòng)圖進(jìn)行壓縮、合并,然后采用基本路徑覆蓋法將化簡(jiǎn)后的UML活動(dòng)圖映射為更為形式化更為簡(jiǎn)單的控制流圖,最后通過對(duì)控制流圖的分析得到獨(dú)立路徑集合,完成了場(chǎng)景測(cè)試中場(chǎng)景的構(gòu)建和測(cè)試用例的生成.通過實(shí)例的分析和演示,有效地證明了,基于UML活動(dòng)圖的場(chǎng)景法測(cè)試用例生成技術(shù),能有效地解決由于活動(dòng)并發(fā)執(zhí)行帶來(lái)的數(shù)量爆炸問題,大大減少了場(chǎng)景集的數(shù)量,提高了測(cè)試效率.——————————

        〔1〕張楣,劉超,孫昌愛.基于UML活動(dòng)圖模型的測(cè)試用例生成技術(shù)研究 [J].北京航空航天大學(xué)學(xué)報(bào),2001,27(4) 433~437.

        〔2〕Tombros D,Geppert A,Dittrieh K.Semantics of reactive componentsin event.driven workflow execution[C]// Proceedingsofthe InternationalConference on Advanced Information Systems Engineering.Barcelona,Spain,1997:409—422.

        〔3〕徐宏喆,陳建明,等.UML自動(dòng)化測(cè)試技術(shù)[M].西安:西安交通大學(xué)出版社,2006(8).

        TP311.5

        :A

        :1673-260X(2017)05-0024-02

        2017-01-16

        猜你喜歡
        控制流測(cè)試用例環(huán)路
        抵御控制流分析的Python 程序混淆算法
        工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
        電子科技(2021年2期)2021-01-08 02:25:58
        抵御控制流分析的程序混淆算法
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        上海市中環(huán)路標(biāo)線調(diào)整研究
        上海公路(2018年4期)2018-03-21 05:57:46
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        基于控制流隱藏的代碼迷惑
        Buck-Boost變換器的環(huán)路補(bǔ)償及仿真
        單脈沖雷達(dá)導(dǎo)引頭角度跟蹤環(huán)路半實(shí)物仿真
        久久精品国产99久久丝袜| 国产午夜精品av一区二区麻豆| 国产在线观看无码免费视频| 国产成人亚洲不卡在线观看| 国产精品久久久久久久久久影院| 日本岛国一区二区三区四区| 亚洲精品久久久久久久蜜桃| 亚洲色大成网站www永久一区| 日本色偷偷| 毛片成人18毛片免费看| 国产大片黄在线观看| 久久久久亚洲av无码专区| 九九精品国产99精品| av网页免费在线观看| 日本高清视频永久网站www| 久久久久亚洲av无码尤物| 国产不卡一区二区三区视频| 亚洲国产精品婷婷久久| 亚洲色成人www永久在线观看| 热の国产AV| 日本免费一区精品推荐| 华人免费网站在线观看| 午夜无码片在线观看影视| 91精品国产免费久久久久久青草| 清纯唯美亚洲经典中文字幕| 少妇久久久久久被弄高潮| 国产无遮挡a片又黄又爽| 无码av专区丝袜专区| a黄片在线视频免费播放| 久久久www免费人成精品| 无码精品一区二区三区超碰| 日本一区二区偷拍视频| 一边做一边说国语对白| a国产一区二区免费入口| 国产日韩亚洲中文字幕| 成年人观看视频在线播放| 伊人久久大香线蕉av一区| 国产精品国产三级国产av创| 亚州中文热码在线视频| wwww亚洲熟妇久久久久| 91白浆在线视频|