基于UML順序圖的場景測試用例生成方法_第1頁
基于UML順序圖的場景測試用例生成方法_第2頁
基于UML順序圖的場景測試用例生成方法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于UML順序圖的場景測試用例生成方法 08-05-05 14:32:00 作者:逄瑞娟 李勁華編輯:studa0714摘 要 本文提出了一個基于UML順序圖的場景測試方法,它以UML順序圖為主要測試模型,結(jié)合類圖和狀態(tài)圖生成所有的測試場景,然后找到與每一場景相關(guān)的環(huán)境條件并將它與方法序列、輸入、輸出合理組合作為覆蓋該場景的測試用例。該方法完全基于UML,而且生成的測試用例數(shù)量少,減少了測試工作量。 關(guān)鍵詞 UML順序圖; 場景測試; 測試用例;自動測試0 引言 本文提出了一個基于UML模型圖來測試場景的方法,它以順序圖為主要測試模型,結(jié)合類圖和狀態(tài)圖導出所有的場景,并將與場景相關(guān)的環(huán)境條件與

2、方法序列、輸入、輸出合理組合作為覆蓋該場景的測試用例。我們的工作具有兩方面的優(yōu)點:測試方法完全基于UML模型,以便已經(jīng)使用UML的軟件系統(tǒng)能方便地采用,另一方面生成的測試用例數(shù)量少,減少工作量。1 實例 本文以DHCP2作為一個實例,使用UML的類圖、狀態(tài)圖和順序圖3來說明我們提出的一個場景測試用例生成方法。DHCP是由IETF進行標準化的一個協(xié)議,提供一種動態(tài)指定IP地址和配置參數(shù)的機制。我們選取了DHCP協(xié)議的一個子集,協(xié)議的一般過程如下: 1客戶端廣播一個DHCP_DISCOVER消息。 2每個具有網(wǎng)絡(luò)地址的服務(wù)可能響應(yīng)一個DHCP_ OFFER消息,如果都沒有響應(yīng),則表示超時失敗。 3

3、如果客戶端接收到一個或多個DHCP_OFFER消息,則選擇其中一個,然后廣播一條DHCP_REQUEST消息給所有的服務(wù)器,并附上選擇參數(shù)及指明哪一個服務(wù)器。 4所有服務(wù)器接收到客戶的廣播信息,只有被選中的服務(wù)器才綁定地址給這個客戶,并發(fā)送確認消息DHCP_ACK,連接成功;如果要求的地址不可得(可能分配給其它用戶),則服務(wù)器發(fā)送一個DHCP_NAK給客戶,連接失敗。 圖1顯示了DHCP協(xié)議的部分類圖。圖1 DHCP的部分類圖 圖2是實例中請求IP的順序圖。圖2 請求IP的順序圖 圖3是DHCP中Server類的狀態(tài)圖。圖3 DHCP-Server狀態(tài)圖2 UML順序圖的一個形式化定義 為了能

4、在測試中找出所有的場景,下面給出順序圖的形式化定義:定義1(順序圖)順序圖SD可以表示為一個六元組:SD=,其中: O=O1, O2, ,Om,是對象的集合。O1, O2, ,Om都是順序圖中的對象。 M guardmessagenameparameter_list,是消息的集合。順序圖中的每一個消息都形如:“衛(wèi)士條件消息名(參數(shù))”。 E=M s, r,是事件集合。事件是指消息的發(fā)送和接收。對于消息msg,發(fā)送事件用表示,接收事件用表示。順序圖中所有發(fā)送消息事件的集合記為S,所有接收消息事件的集合記為R。SR=, SR=E。 是消息集合M上的一個全序關(guān)系,表示順序圖中的消息在縱向時間軸上的先

5、后關(guān)系。 msg是從E到M的一個函數(shù)關(guān)系,msg(e) M表示事件e所對應(yīng)的消息。 Obj是從E到O的一個函數(shù)關(guān)系,obj(e) O表示時間e所對應(yīng)的對象。對象Oi上所有事件的集合記為Ei,Eie | e Eobj(e)= Oi 。在如圖4所示的順序圖中:O=obj1,obj2,obj3; M=m1,m2,m3;E=(m1,s),(m1,r),(m2,s),(m2,r),(m3,s),(m3,r);=m1m2m3.圖4 一個簡單的順序圖 順序圖主要描述了對象間發(fā)送消息的時間順序。我們用符號來表示事件間的先后關(guān)系,它滿足如下三個性質(zhì): 1對同一消息而言,發(fā)送事件先于接收事件。 2在同一對象的生命

6、線上,若事件e1出現(xiàn)在發(fā)送事件e2的上方,則e1先于e2。 3在同一個對象的生命線上,如果接收事件e1出現(xiàn)在e2的上方,并且它們分別對應(yīng)的發(fā)送事件也位于同一個對象的生命線上,則e1先于e2。 順序關(guān)系是強制順序關(guān)系,那么即使它們在順序圖的時間軸上存在先后關(guān)系,這兩個事件實際發(fā)生的先后順序也是不確定的。例如圖4中,盡管(m1,r)在(m3,r)的上方,但是在系統(tǒng)實際運行中,由于m1, m2, m3都是異步消息,因此(m1,r)并不一定先于(m3,r)發(fā)生,這是由于圖形表示的局限性造成的。 一個簡單順序圖(不包括分支)刻畫了系統(tǒng)運行的一個場景,其運行過程表現(xiàn)為一個事件的序列(e1 , e2, em

7、),其中事件ei+1 在事件 ei后發(fā)生(1 i m1)。由于事件之間存在強制順序關(guān)系,因此并不是所有事件序列都是順序圖允許的。而且,由于并不是一個全序關(guān)系,所以一個順序圖的場景可能允許多個事件序列??梢杂靡粋€有向無環(huán)圖(DAG)來表示關(guān)系,對于任意兩個事件 ei,ei E,如果 ei ei,則畫一條從ei 指向ei 的邊,直到所有事件都在這個有向圖上。 通過遍歷所得的DAG圖,可以很容易的得到順序圖中的每一個有效的事件序列。在圖4的例子中,和就是兩個有效的事件序列。 定義2(順序圖的場景)對于順序圖SD=,場景定義為一個消息序列,并且滿足下面兩個條件: (1)所有M中的事件在序列中出現(xiàn)且僅出現(xiàn)一次,也就是說M1,M2,Mm=M且對于所有的i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論