謝昊飛 蘇德龍 肖尚青 郝飛飛
摘 要:本文重點(diǎn)介紹基于有限狀態(tài)機(jī)(FSM)測(cè)試序列生成方法,并以現(xiàn)場(chǎng)設(shè)備安全入網(wǎng)為例,利用該方法生成測(cè)試序列。為構(gòu)建WIA-PA協(xié)議測(cè)試FSM模型,文中分析了WIA-PA協(xié)議測(cè)試中的安全入網(wǎng)的設(shè)備狀態(tài)、事件、輸出和轉(zhuǎn)移輸出,在此基礎(chǔ)上建立了現(xiàn)場(chǎng)設(shè)備安全入網(wǎng)測(cè)試的FSM模型。然后在FSM模型基礎(chǔ)上,采用UIO方法生成測(cè)試序列。
關(guān)鍵詞:WIA-PA協(xié)議;FSM模型;形式化模型;UIO序列
中圖分類號(hào):TP393.04
WIA-PA協(xié)議形式化描述是一件繁瑣工作,面臨困難,一個(gè)合理形式化描述需要深入理解WIA-PA標(biāo)準(zhǔn)基礎(chǔ)上多次反復(fù)推敲和修改。WIA-PA是一個(gè)復(fù)雜的協(xié)議,整個(gè)協(xié)議不好用一個(gè)完整的形式化模型來描述。因此,本文在分析和參照標(biāo)準(zhǔn)基礎(chǔ)上,以現(xiàn)場(chǎng)設(shè)備安全入網(wǎng)過程的狀態(tài)轉(zhuǎn)換為例,進(jìn)行形式化建模,構(gòu)建有限狀態(tài)機(jī)(FSM)模型,然后將測(cè)試序列從協(xié)議模型中導(dǎo)出,生成WIA-PA協(xié)議測(cè)試的測(cè)試序列。目前基于FSM測(cè)試序列生成方法主要有四種:T方法、D方法、W方法和UIO方法。而UIO方法能夠檢查變遷正確性和狀態(tài)正確性,檢錯(cuò)能力比較強(qiáng),可以檢測(cè)任何輸出錯(cuò)誤,生成的測(cè)試序列長(zhǎng)度較短等優(yōu)點(diǎn)。所以本文采用UIO方法生成測(cè)試序列。
1 WIA-PA安全入網(wǎng)形式化模型
在現(xiàn)場(chǎng)設(shè)備安全入網(wǎng)過程中的任何一個(gè)步驟都有可能出現(xiàn)PDU丟失的情況。在這種情況下,系統(tǒng)應(yīng)該恢復(fù)并且繼續(xù)進(jìn)行下去。下面根據(jù)WIA-PA協(xié)議標(biāo)準(zhǔn),給出安全入網(wǎng)過程設(shè)備狀態(tài)、事件、輸出和轉(zhuǎn)移輸出列表。
安全入網(wǎng)有限狀態(tài)機(jī)的狀態(tài)可以分為預(yù)配置狀態(tài)(S0)、正在加入狀態(tài)(S1)、已加入狀態(tài)(S2)、更新狀態(tài)(S3)和完成狀態(tài)(S4)。其中S0表示沒有主密鑰,并且不在獲得主密鑰的過程中。S1表示沒有主密鑰,但在獲得主密鑰的過程中,S2表示有當(dāng)前的主密鑰,但不在獲得下一個(gè)主密鑰的過程中。S3表示有當(dāng)前的主密鑰, 并且在獲得下一個(gè)主密鑰的過程中。S4表示有當(dāng)前的主密鑰和下一個(gè)主密鑰。
安全入網(wǎng)有限狀態(tài)機(jī)的事件可以分為初始化過程(E1),返回安全會(huì)話響應(yīng)并且加密校驗(yàn)成功(E2),DL密鑰的軟生命周期達(dá)到主密鑰失效(E3),安全管理器通過代理者發(fā)送到更新密鑰請(qǐng)求給設(shè)備并且加密校驗(yàn)成功(E4),舊主密鑰失效(E5),超時(shí)或者安全會(huì)話響應(yīng)并且校驗(yàn)成功或者拒絕會(huì)話(E6),主密鑰失效(E7)以及超時(shí)(E8)這八個(gè)事件。
安全入網(wǎng)有限狀態(tài)機(jī)輸出有加入請(qǐng)求(O1),加入響應(yīng)和安全請(qǐng)求(O2),發(fā)起新會(huì)話(O3),密鑰更新響應(yīng)(O4),移除過期的主密鑰(O5),設(shè)置一個(gè)時(shí)間用來再次發(fā)起一個(gè)新的安全會(huì)話(O6),返回到初始狀態(tài)(O7)七個(gè)輸出。
安全入網(wǎng)有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移如下表所示:
2 WIA-PA安全入網(wǎng)有限狀態(tài)機(jī)
由以上設(shè)備安全入網(wǎng)狀態(tài)、事件、輸出和狀態(tài)轉(zhuǎn)移表的基礎(chǔ)上,可以構(gòu)造出新設(shè)備安全入網(wǎng)的有限狀態(tài)機(jī),如圖1所示:
3 基于UIO方法的WIA-PA協(xié)議一致性測(cè)試序列生成
由圖1可知,該有限狀態(tài)機(jī)比較簡(jiǎn)單,可以較容易的寫出各個(gè)狀態(tài)變遷的UIO序列。
3.1 各狀態(tài)UIO序列
UIO(S0):E1/O1
UIO(S1):E2/O2
UIO(S2):E3/O3
UIO(S3):E7/O5
UIO(S4):E5/O5
3.2 生成轉(zhuǎn)移的UIO序列
下一步是生成安全入網(wǎng)有限狀態(tài)機(jī)各個(gè)轉(zhuǎn)移的UIO測(cè)試子序列,每個(gè)測(cè)試序列有四部分組成:復(fù)位序列、引導(dǎo)序列、待測(cè)轉(zhuǎn)換,UIO序列。(其中:Null表示不輸入,在初始狀態(tài),無需引導(dǎo)序列)。
復(fù)位序列:一般用Res/表示,用于將狀態(tài)機(jī)復(fù)位到初始狀態(tài);
引導(dǎo)序列:把有限狀態(tài)機(jī)從初始狀態(tài)帶到目的狀態(tài),使?fàn)顟B(tài)機(jī)處于待測(cè)狀態(tài);
待測(cè)轉(zhuǎn)換:待測(cè)的轉(zhuǎn)換邊,輸入該轉(zhuǎn)換邊輸入事件;
UIO序列:上面求的UIO序列,用于驗(yàn)證轉(zhuǎn)換后的狀態(tài)是否正確。
T1:(S0,E1/O1,S1){(Res/-Null)E1/O1(E2/O2)}
T2:(S1,E2/O2,S2){(Res/-E1/O1)E2/O2(E3/O3)}
T3:(S2,E3/O3,S3){(Res/-E1/O1,E2/O2)E3/O3(E7/O5)}
T4:(S3,E4/O4,S4){(Res/-E1/O1,E2/O2,E3/O3)E4/O4(E5/O5)}
T5:(S2,E4/O4,S4){(Res/-E1/O1,E2/O2)E4/O4(E5/O5)}
T6:(S4,E5/O5,S2){(Res/-E1/O1,E2/O2,E4/O4)E5/O5(E3/O3)}
T7:(S3,E6/O6,S2){(Res/-E1/O1,E2/O2,E3/O3)E6/O6(E3/O3)}
T8:(S3,E7/O5,S0){(Res/-E1/O1,E2/O2,E3/O3)E7/O5(E1/O1)}
T9:(S2,E7/O5,S0){(Res/-E1/O1,E2/O2)E7/O5(E1/O1)}
T10:(S1,E8/O7,S0){(Res/-E1/O1)E8/O7(E1/O1)}
3.3 測(cè)試?yán)x取
上面共有10條測(cè)試子序列,有些測(cè)試子序列包含了其他測(cè)試子序列,為了縮短總的測(cè)試序列長(zhǎng)度,需要?jiǎng)h除每條被其他子序列完全包含的測(cè)試子序列。
測(cè)試子序列T1被測(cè)序列T2,T3,T4,T5,T6,T7,T8,T9包含,故刪除測(cè)試子序列T1;
測(cè)試子序列T2被測(cè)試序列T3,T4,T7,T8包含,故刪除測(cè)試子序列T2;
測(cè)試子序列T5被測(cè)試序列T6包含,故刪除測(cè)試子序列T5。
經(jīng)過刪除3個(gè)被包含的子序列,共剩下7個(gè)測(cè)試子序列。最終測(cè)試子序列如下:
T3:(S2,E3/O3,S3){(Res/-E1/O1,E2/O2)E3/O3(E7/O5)}
T4:(S3,E4/O4,S4){(Res/-E1/O1,E2/O2,E3/O3)E4/O4(E5/O5)}
T6:(S4,E5/O5,S2){(Res/-E1/O1,E2/O2,E4/O4)E5/O5(E3/O3)}
T7:(S3,E6/O6,S2){(Res/-E1/O1,E2/O2,E3/O3)E6/O6(E3/O3)}
T8:(S3,E7/O5,S0){(Res/-E1/O1,E2/O2,E3/O3)E7/O5(E1/O1)}
T9:(S2,E7/O5,S0){(Res/-E1/O1,E2/O2)E7/O5(E1/O1)}
T10:(S1,E8/O7,S0){(Res/-E1/O1)E8/O7(E1/O1)}
4 結(jié)束語
基于有限狀態(tài)機(jī)中UIO方法生成測(cè)試序列檢測(cè)能力比較強(qiáng),能夠檢查出變遷的正確性和狀態(tài)的正確性,測(cè)試案例完備性高,可信度高,幾乎可以適用所有有限狀態(tài)機(jī),具有普遍適用的特點(diǎn),并且生成的測(cè)試序列較短。而有限狀態(tài)機(jī)(FSM)來描述協(xié)議實(shí)現(xiàn)的技術(shù)比較成熟,并且FSM具有足夠的描述表達(dá)能力和測(cè)試控制能力,并且直觀性強(qiáng),易于自動(dòng)實(shí)現(xiàn),這剛好彌補(bǔ)了基于測(cè)試目的測(cè)試序列生成方法的不足?;谟邢逘顟B(tài)機(jī)(FSM)形勢(shì)化技術(shù)通過嚴(yán)格的分析來確定給定規(guī)范的完整性和一致性,可以通過算法來自動(dòng)生成測(cè)試案例,可以作為自動(dòng)測(cè)試基礎(chǔ)。
參考文獻(xiàn):
[1]彭瑜.工業(yè)無線標(biāo)準(zhǔn) WIA-PA 的特點(diǎn)分析和應(yīng)用展望[J].自動(dòng)化儀表,2010(01):1-4.
[2]ISO/IEC 9646-1 Information technology–Open systems Interconnection–Conformance testing methodology and framework–Part 1: General concepts,1994.
[3]毛穎.測(cè)試用例自動(dòng)生成系統(tǒng)研究與實(shí)現(xiàn)[D].電子科技大學(xué),2007.
[4]工業(yè)無線網(wǎng)絡(luò)WIA-PA規(guī)范,第1部分:用于過程自動(dòng)化的 WIA 系統(tǒng)結(jié)構(gòu)與通信規(guī)范[S].中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn),2010.
[5]王曉偉.WIA-PA協(xié)議一致性測(cè)試方法的研究與實(shí)現(xiàn)[D].重慶郵電大學(xué),2011.
[6]劉攀,繆淮扣,曾紅衛(wèi),劉陽.基于FSM的測(cè)試?yán)碚?方法及評(píng)估[J].計(jì)算機(jī)學(xué)報(bào),2011(06):965-983.
作者簡(jiǎn)介:謝昊飛(1978-),男,湖南衡陽人,副教授,博士,研究方向:無線傳感器網(wǎng)絡(luò)協(xié)議測(cè)試、無線網(wǎng)絡(luò)控制技術(shù)等。
作者單位:重慶郵電大學(xué)自動(dòng)化學(xué)院,重慶 400065