?

基于FSM的WIA—PA協議測試序列自動生成技術研究

2014-10-21 19:57謝昊飛蘇德龍肖尚青郝飛飛
計算機光盤軟件與應用 2014年24期

謝昊飛 蘇德龍 肖尚青 郝飛飛

摘 要:本文重點介紹基于有限狀態機(FSM)測試序列生成方法,并以現場設備安全入網為例,利用該方法生成測試序列。為構建WIA-PA協議測試FSM模型,文中分析了WIA-PA協議測試中的安全入網的設備狀態、事件、輸出和轉移輸出,在此基礎上建立了現場設備安全入網測試的FSM模型。然后在FSM模型基礎上,采用UIO方法生成測試序列。

關鍵詞:WIA-PA協議;FSM模型;形式化模型;UIO序列

中圖分類號:TP393.04

WIA-PA協議形式化描述是一件繁瑣工作,面臨困難,一個合理形式化描述需要深入理解WIA-PA標準基礎上多次反復推敲和修改。WIA-PA是一個復雜的協議,整個協議不好用一個完整的形式化模型來描述。因此,本文在分析和參照標準基礎上,以現場設備安全入網過程的狀態轉換為例,進行形式化建模,構建有限狀態機(FSM)模型,然后將測試序列從協議模型中導出,生成WIA-PA協議測試的測試序列。目前基于FSM測試序列生成方法主要有四種:T方法、D方法、W方法和UIO方法。而UIO方法能夠檢查變遷正確性和狀態正確性,檢錯能力比較強,可以檢測任何輸出錯誤,生成的測試序列長度較短等優點。所以本文采用UIO方法生成測試序列。

1 WIA-PA安全入網形式化模型

在現場設備安全入網過程中的任何一個步驟都有可能出現PDU丟失的情況。在這種情況下,系統應該恢復并且繼續進行下去。下面根據WIA-PA協議標準,給出安全入網過程設備狀態、事件、輸出和轉移輸出列表。

安全入網有限狀態機的狀態可以分為預配置狀態(S0)、正在加入狀態(S1)、已加入狀態(S2)、更新狀態(S3)和完成狀態(S4)。其中S0表示沒有主密鑰,并且不在獲得主密鑰的過程中。S1表示沒有主密鑰,但在獲得主密鑰的過程中,S2表示有當前的主密鑰,但不在獲得下一個主密鑰的過程中。S3表示有當前的主密鑰, 并且在獲得下一個主密鑰的過程中。S4表示有當前的主密鑰和下一個主密鑰。

安全入網有限狀態機的事件可以分為初始化過程(E1),返回安全會話響應并且加密校驗成功(E2),DL密鑰的軟生命周期達到主密鑰失效(E3),安全管理器通過代理者發送到更新密鑰請求給設備并且加密校驗成功(E4),舊主密鑰失效(E5),超時或者安全會話響應并且校驗成功或者拒絕會話(E6),主密鑰失效(E7)以及超時(E8)這八個事件。

安全入網有限狀態機輸出有加入請求(O1),加入響應和安全請求(O2),發起新會話(O3),密鑰更新響應(O4),移除過期的主密鑰(O5),設置一個時間用來再次發起一個新的安全會話(O6),返回到初始狀態(O7)七個輸出。

安全入網有限狀態機狀態轉移如下表所示:

2 WIA-PA安全入網有限狀態機

由以上設備安全入網狀態、事件、輸出和狀態轉移表的基礎上,可以構造出新設備安全入網的有限狀態機,如圖1所示:

3 基于UIO方法的WIA-PA協議一致性測試序列生成

由圖1可知,該有限狀態機比較簡單,可以較容易的寫出各個狀態變遷的UIO序列。

3.1 各狀態UIO序列

UIO(S0):E1/O1

UIO(S1):E2/O2

UIO(S2):E3/O3

UIO(S3):E7/O5

UIO(S4):E5/O5

3.2 生成轉移的UIO序列

下一步是生成安全入網有限狀態機各個轉移的UIO測試子序列,每個測試序列有四部分組成:復位序列、引導序列、待測轉換,UIO序列。(其中:Null表示不輸入,在初始狀態,無需引導序列)。

復位序列:一般用Res/表示,用于將狀態機復位到初始狀態;

引導序列:把有限狀態機從初始狀態帶到目的狀態,使狀態機處于待測狀態;

待測轉換:待測的轉換邊,輸入該轉換邊輸入事件;

UIO序列:上面求的UIO序列,用于驗證轉換后的狀態是否正確。

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 測試例選取

上面共有10條測試子序列,有些測試子序列包含了其他測試子序列,為了縮短總的測試序列長度,需要刪除每條被其他子序列完全包含的測試子序列。

測試子序列T1被測序列T2,T3,T4,T5,T6,T7,T8,T9包含,故刪除測試子序列T1;

測試子序列T2被測試序列T3,T4,T7,T8包含,故刪除測試子序列T2;

測試子序列T5被測試序列T6包含,故刪除測試子序列T5。

經過刪除3個被包含的子序列,共剩下7個測試子序列。最終測試子序列如下:

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 結束語

基于有限狀態機中UIO方法生成測試序列檢測能力比較強,能夠檢查出變遷的正確性和狀態的正確性,測試案例完備性高,可信度高,幾乎可以適用所有有限狀態機,具有普遍適用的特點,并且生成的測試序列較短。而有限狀態機(FSM)來描述協議實現的技術比較成熟,并且FSM具有足夠的描述表達能力和測試控制能力,并且直觀性強,易于自動實現,這剛好彌補了基于測試目的測試序列生成方法的不足?;谟邢逘顟B機(FSM)形勢化技術通過嚴格的分析來確定給定規范的完整性和一致性,可以通過算法來自動生成測試案例,可以作為自動測試基礎。

參考文獻:

[1]彭瑜.工業無線標準 WIA-PA 的特點分析和應用展望[J].自動化儀表,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]毛穎.測試用例自動生成系統研究與實現[D].電子科技大學,2007.

[4]工業無線網絡WIA-PA規范,第1部分:用于過程自動化的 WIA 系統結構與通信規范[S].中華人民共和國國家標準,2010.

[5]王曉偉.WIA-PA協議一致性測試方法的研究與實現[D].重慶郵電大學,2011.

[6]劉攀,繆淮扣,曾紅衛,劉陽.基于FSM的測試理論?方法及評估[J].計算機學報,2011(06):965-983.

作者簡介:謝昊飛(1978-),男,湖南衡陽人,副教授,博士,研究方向:無線傳感器網絡協議測試、無線網絡控制技術等。

作者單位:重慶郵電大學自動化學院,重慶 400065

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合