引言:本文提出了一個(gè)基于UML模型圖來測試場景的方法,它以順序圖為主要測試模型,結(jié)合類圖和狀態(tài)圖導(dǎo)出所有的場景,并將與場景相關(guān)的環(huán)境條件與方法序列、輸入、輸出合理組合作為覆蓋該場景的測試用例。我們的工作具有兩方面的優(yōu)點(diǎn):測試方法完全基于UML模型,以便已經(jīng)使用UML的軟件系統(tǒng)能方便地采用,另一方面生成的測試用例數(shù)量少,減少工作量。
1、實(shí)例
本文以DHCP[2]作為一個(gè)實(shí)例,使用UML的類圖、狀態(tài)圖和順序圖[3]來說明我們提出的一個(gè)場景測試用例生成方法。DHCP是由IETF進(jìn)行標(biāo)準(zhǔn)化的一個(gè)協(xié)議,提供一種動(dòng)態(tài)指定IP地址和配置參數(shù)的機(jī)制。我們選取了DHCP協(xié)議的一個(gè)子集,協(xié)議的一般過程如下:
1.客戶端廣播一個(gè)DHCP_DISCOVER消息。
2.每個(gè)具有網(wǎng)絡(luò)地址的服務(wù)可能響應(yīng)一個(gè)DHCP_ OFFER消息,如果都沒有響應(yīng),則表示超時(shí)失敗。
3.如果客戶端接收到一個(gè)或多個(gè)DHCP_OFFER消息,則選擇其中一個(gè),然后廣播一條DHCP_REQUEST消息給所有的服務(wù)器,并附上選擇參數(shù)及指明哪一個(gè)服務(wù)器。
4.所有服務(wù)器接收到客戶的廣播信息,只有被選中的服務(wù)器才綁定地址給這個(gè)客戶,并發(fā)送確認(rèn)消息DHCP_ACK,連接成功;如果要求的地址不可得(可能分配給其它用戶),則服務(wù)器發(fā)送一個(gè)DHCP_NAK給客戶,連接失敗。
1、實(shí)例
本文以DHCP[2]作為一個(gè)實(shí)例,使用UML的類圖、狀態(tài)圖和順序圖[3]來說明我們提出的一個(gè)場景測試用例生成方法。DHCP是由IETF進(jìn)行標(biāo)準(zhǔn)化的一個(gè)協(xié)議,提供一種動(dòng)態(tài)指定IP地址和配置參數(shù)的機(jī)制。我們選取了DHCP協(xié)議的一個(gè)子集,協(xié)議的一般過程如下:
1.客戶端廣播一個(gè)DHCP_DISCOVER消息。
2.每個(gè)具有網(wǎng)絡(luò)地址的服務(wù)可能響應(yīng)一個(gè)DHCP_ OFFER消息,如果都沒有響應(yīng),則表示超時(shí)失敗。
3.如果客戶端接收到一個(gè)或多個(gè)DHCP_OFFER消息,則選擇其中一個(gè),然后廣播一條DHCP_REQUEST消息給所有的服務(wù)器,并附上選擇參數(shù)及指明哪一個(gè)服務(wù)器。
4.所有服務(wù)器接收到客戶的廣播信息,只有被選中的服務(wù)器才綁定地址給這個(gè)客戶,并發(fā)送確認(rèn)消息DHCP_ACK,連接成功;如果要求的地址不可得(可能分配給其它用戶),則服務(wù)器發(fā)送一個(gè)DHCP_NAK給客戶,連接失敗。

