精品亚洲aⅴ一区二区三区|日本久久精品视频|成人国产精品秘在线观看免费|久久天天躁日日躁狠

歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機(jī)第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

日志分析法在一卡通系統(tǒng)測試中的應(yīng)用

文章出處:http://bookmouse.cn 作者: 人氣: 發(fā)表時間:2011年09月10日

[文章內(nèi)容簡介]:本文針對一卡通系統(tǒng)的特點,提出了支持層次化狀態(tài)機(jī)的擴(kuò)展日志分析法,增加了執(zhí)行自定義函數(shù)的功能,使之更適用于一卡通系統(tǒng)的測試,并基于該方法實現(xiàn)了測試系統(tǒng),在一卡通系統(tǒng)測試中取得了良好的效果。

    摘要:針對一卡通系統(tǒng)測試中因輸出結(jié)果數(shù)量大、系統(tǒng)關(guān)聯(lián)復(fù)雜、測試準(zhǔn)則構(gòu)造困難等因素而導(dǎo)致的難以判斷輸出結(jié)果正確性的問題, 提出了擴(kuò)展日志分析法。介紹了實現(xiàn)該方法的系統(tǒng)結(jié)構(gòu)和所使用的測試狀態(tài)機(jī), 引入了一種自行開發(fā)的支持層次化狀態(tài)機(jī)、具有執(zhí)行自定義函數(shù)功能的狀態(tài)機(jī)定義語言, 增強(qiáng)了擴(kuò)展日志分析法測試復(fù)雜大型系統(tǒng)的能力。該方法在一卡通系統(tǒng)測試中得到了應(yīng)用。
    關(guān)鍵詞:軟件測試;日志分析法;狀態(tài)機(jī);狀態(tài)機(jī)定義語言

    市政交通一卡通系統(tǒng)OCMS( One Card Multi-service System,以下簡稱“一卡通系統(tǒng)”) 是一套與人們?nèi)粘I铌P(guān)系密切的電子交易系統(tǒng)。該系統(tǒng)要求較高的安全性和可靠性, 需要進(jìn)行嚴(yán)格的測試。測試中遇到了輸出結(jié)果數(shù)據(jù)量大、系統(tǒng)關(guān)聯(lián)復(fù)雜、測試準(zhǔn)則( Test Oracle) 構(gòu)造困難等問題, 難以判斷輸出結(jié)果的正確性。手工測試方法效率低、易出錯; 使用基于測試準(zhǔn)則的方法如回歸測試法[ 1] 、斷言測試法[ 2 ] 等也具有一定的困難。日志分析法( Log File Analysis, LFA) [ 3] 使用狀態(tài)機(jī)分析被測系統(tǒng)的日志實現(xiàn)軟件測試, 具有構(gòu)造簡單、描述能力強(qiáng)等特點, 較適合應(yīng)用于關(guān)聯(lián)復(fù)雜的系統(tǒng)測試中。本文針對一卡通系統(tǒng)的特點, 提出了支持層次化狀態(tài)機(jī)的擴(kuò)展日志分析法, 增加了執(zhí)行自定義函數(shù)的功能, 使之更適用于一卡通系統(tǒng)的測試, 并基于該方法實現(xiàn)了測試系統(tǒng), 在一卡通系統(tǒng)測試中取得了良好的效果。

    1 研究背景

    1. 1 一卡通系統(tǒng)

    一卡通系統(tǒng)是一個小金額電子交易系統(tǒng), 由消費IC 卡、消費機(jī)具( 出租車計價器、公交刷卡機(jī)等) 、客戶端( 出租客戶端,公交客戶端等) 、各級分中心、總中心以及數(shù)據(jù)傳輸網(wǎng)絡(luò)等組成。消費者在進(jìn)行交易時, 消費機(jī)具對消費IC 卡進(jìn)行讀寫, 產(chǎn)生交易數(shù)據(jù)。交易數(shù)據(jù)定期從消費機(jī)具中采集到客戶端中, 通過計算機(jī)網(wǎng)絡(luò)逐級上傳, 最終匯總到總中心, 進(jìn)行結(jié)算劃賬。

    一卡通系統(tǒng)內(nèi)部關(guān)聯(lián)復(fù)雜, 對可靠性和安全性的要求較高, 中間輸出和最終輸出與前期的運(yùn)行情況關(guān)系緊密、變化大。這些特點要求系統(tǒng)在開發(fā)、試運(yùn)行以及升級維護(hù)時, 都需要進(jìn)行大量的測試, 要求使用的測試方法效率高, 能適應(yīng)復(fù)雜系統(tǒng)和輸出結(jié)果與前期關(guān)系緊密的情況。

    1. 2 日志分析法

    日志分析法是文獻(xiàn)[ 3] 中提出的一種用狀態(tài)機(jī)對被測系統(tǒng)的日志進(jìn)行分析實現(xiàn)軟件測試的方法。該方法要求被測系統(tǒng)產(chǎn)生文本日志, 記錄測試過程中的輸入、輸出、函數(shù)調(diào)用以及返回值等重要事件。日志被輸入狀態(tài)機(jī)進(jìn)行分析, 實現(xiàn)測試。狀態(tài)機(jī)由測試人員根據(jù)被測系統(tǒng)的需求轉(zhuǎn)換生成。當(dāng)狀態(tài)機(jī)在日志的驅(qū)動下終止于終態(tài)時, 說明日志符合狀態(tài)機(jī)的要求,即被測系統(tǒng)符合需求; 否則, 不符合要求。

    日志分析法與回歸測試法、斷言測試法等相比, 具有效率高、構(gòu)造簡單、依據(jù)狀態(tài)機(jī)判斷測試輸出的正確性等特點。但文獻(xiàn)[ 3] 中定義狀態(tài)機(jī)的LFAL 語言描述能力受限: 對狀態(tài)機(jī)不能進(jìn)行層次化的設(shè)計, 不宜描述大型系統(tǒng); 沒有執(zhí)行自定義函數(shù)等功能, 對復(fù)雜系統(tǒng)描述困難。

    2 基于日志分析法的一卡通測試系統(tǒng)

    2. 1 總體結(jié)構(gòu)

    基于日志分析法并針對一卡通系統(tǒng)的特點而提出了擴(kuò)展日志分析法, 同時實現(xiàn)了基于該方法的一卡通日志分析測試系統(tǒng)———OLFTS( OCMS Log File Testing System) 。系統(tǒng)總體結(jié)構(gòu)如圖1 所示。

 OLFTS 總體結(jié)構(gòu)

圖 1 OLFTS 總體結(jié)構(gòu)

    首先, 將一卡通系統(tǒng)的一個或一組相近的需求轉(zhuǎn)換為由函數(shù)調(diào)用、消息發(fā)送等描述的執(zhí)行過程, 并確定函數(shù)調(diào)用等發(fā)生的條件以及返回值等。然后, 用狀態(tài)機(jī)定義語言TSML( TestingState Machine Language) 定義一個描述該過程的狀態(tài)機(jī)( . tsm文件) , 并輸入狀態(tài)機(jī)編譯器, 將其編譯為某種語言源代碼( 以Java語言為例) , 作為中間結(jié)果。調(diào)用相應(yīng)語言的編譯器將中間結(jié)果編譯為可執(zhí)行文件, 最終得到可執(zhí)行的狀態(tài)機(jī)。測試時, 先將狀態(tài)機(jī)可執(zhí)行文件輸入狀態(tài)機(jī)容器中, 再將被測系統(tǒng)的日志文件輸入狀態(tài)機(jī)容器。狀態(tài)機(jī)容器負(fù)責(zé)讀取日志、創(chuàng)建狀態(tài)機(jī), 廣播日志, 收集狀態(tài)機(jī)輸出和產(chǎn)生測試報告等工作。狀態(tài)機(jī)在日志驅(qū)動下進(jìn)行狀態(tài)轉(zhuǎn)移, 并向容器輸出信息。

    2. 2 日志

    測試需要的日志由被測系統(tǒng)產(chǎn)生。每一個日志行表示一個事件的發(fā)生, 例如函數(shù)調(diào)用、消息發(fā)送等。日志行由行單元組成, 行單元之間用空格分隔。每個日志行開頭的行單元稱為關(guān)鍵行單元, 必須是一個字符串, 通常是被調(diào)用函數(shù)的名稱、消息名等。緊挨關(guān)鍵行單元之后的行單元一般是被調(diào)用函數(shù)的返回值或消息參數(shù)等, 再后面是一些表示其他信息的行單元。狀態(tài)機(jī)通過日志行的關(guān)鍵行單元來判斷是否對其敏感。對敏感日志行, 通過判斷函數(shù)的返回值或消息參數(shù)以及其他信息決定如何進(jìn)行狀態(tài)轉(zhuǎn)移。出租客戶端數(shù)據(jù)采集過程的日志片斷如下:

    2. 3 測試狀態(tài)機(jī)與狀態(tài)機(jī)定義語言

    有限狀態(tài)機(jī)FSM( Finite State Machine, 以下簡稱狀態(tài)機(jī)) [ 4]被廣泛應(yīng)用于諸多領(lǐng)域, 如電路設(shè)計[ 5] 、通信協(xié)議測試[ 6] 等。普通的狀態(tài)機(jī)所提供的描述能力有限, 用來描述軟件的執(zhí)行過程能力尚顯不足。結(jié)合文獻(xiàn)[ 3] 中所使用的狀態(tài)機(jī)和文獻(xiàn)[ 7]中提出的PSM( Protocol State Machine) , OLFTS 中定義了一種新的狀態(tài)機(jī)———測試狀態(tài)機(jī)TSM( Testing State Machine) 。

    定義1 TSM。一個TSM為一個11 元組:

    與普通狀態(tài)機(jī)相比, TSM增加了謂詞集和動作集, 采用了更嚴(yán)格的轉(zhuǎn)移函數(shù), 描述能力更強(qiáng), 比普通狀態(tài)機(jī)更適合描述軟件的執(zhí)行過程、應(yīng)用于軟件測試。

    雖然可采用普通的計算機(jī)語言實現(xiàn)TSM, 但為了方便TSM的設(shè)計, OLFTS 中開發(fā)了一種支持層次化設(shè)計和自定義函數(shù)的狀態(tài)機(jī)定義語言TSML。其EBNF[ 8] 描述如下所示:

第1頁第2頁

本文關(guān)鍵詞:日志分析法,一卡通系統(tǒng),一卡通測試,測試狀態(tài)機(jī)
回到頂部