[發明專利]面向動態場景的測試序列生成方法及系統有效
| 申請號: | 201110375722.1 | 申請日: | 2011-11-23 |
| 公開(公告)號: | CN102521122A | 公開(公告)日: | 2012-06-27 |
| 發明(設計)人: | 李開成;魏國棟;袁磊;劉雨;付強 | 申請(專利權)人: | 北京交通大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩 |
| 地址: | 100044*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 動態 場景 測試 序列 生成 方法 系統 | ||
技術領域
本發明涉及數據處理技術領域,尤其涉及一種面向動態場景的測試序列生成方法及系統。
背景技術
列車運行控制系統或者航空航天系統等相關系統都是按照某些特定的動態場景來實施相應的控制,在不同的場景下控制系統完成的功能以及執行的結果都是不同的。為了保證系統運行安全,對控制系統必須進行全功能的測試,而測試序列的生成是進行系統測試不可避免的一個重要環節。
由于這些控制系統在不同的條件下要完成不同的場景功能,因此系統包含的需求條目非常多,想要達到系統級全功能的覆蓋測試是非常困難的。目前,通用的測試序列生成方法是通過捕獲場景運行數據作為測試序列腳本,然后將該腳本在測試系統中運行,從而對系統進行全功能或者回歸測試。
目前基于動態場景的測試序列生成沒有一套完備的方法,通用的做法是捕獲場景運行數據將其作為腳本,然后將該腳本在測試系統中運行。這種方法一方面由于場景運行比較固定,有些比較少見的場景難以捕獲,導致測試序列不完備;另外一方面,由于測試序列腳本是以一個整體出現,測試腳本內部前后聯系比較緊密,難以提取測試序列腳本中的部分內容進行復用。
發明內容
(一)要解決的技術問題
本發明要解決的技術問題是:提供一種面向動態場景的測試序列生成方法及系統,該系統和方法適用于具有動態場景的控制系統或者軟件系統的測試序列快速生成;利用本系統和方法可以使測試序列的生成模塊化和標準化,提高了測試序列的生成效率和復用程度,而且能夠確保對系統的全功能覆蓋。
(二)技術方案
為解決上述問題,一方面,本發明提供了一種面向動態場景的測試序列生成方法,包括以下步驟:
S1:對系統的測試案例按照不同的動態場景進行分類,形成不同場景的測試案例集;
S2:對所述不同場景的測試案例集按照執行的先后順序進行串聯,形成每個場景下的測試子序列;
S3:將所述測試子序列按照其入口條件和出口條件進行標準化設計,組合生成能夠在測試系統中執行的測試序列。
優選地,所述步驟S1中將所述測試案例分成三類:
初始場景,對應于系統上電開始一直到運行至一個特定的狀態為止,與系統外部各個接口的連接以及系統內部初始化的內容歸類為所述初始場景;
過程場景,對應于所述初始場景結束后直到結束場景開始前為止,將系統依據不同的輸入或者處于不同時刻所執行的不同內容歸類為所述過程場景;
結束場景,對應于系統正式運行結束后直到系統斷電為止,將系統完成與外部接口的斷鏈以及系統內部信息的保存或刪除處理的內容歸類為所述結束場景。
優選地,依據系統運行過程的不同,將所述過程場景對應地拆分成多個不同的過程場景。
優選地,步驟S2中對所述不同場景的測試案例集按照執行的先后順序進行串聯,形成每個場景下的測試子序列的步驟具體包括:
S21:根據各場景的輸入條件,分別確定各場景的標準輸入接口信息和輸入狀態信息,并且依據這些信息,篩選出符合這些接口信息和狀態信息的測試案例分別作為各場景中的每一條子序列的第一個測試案例;
S22:從步驟S21篩選出的測試案例中獲取一個未被執行過的測試案例,如果不能獲取,則轉至步驟S24;如果能夠獲取,則將該測試案例置為已執行,并轉到步驟S23;
S23:檢驗步驟S22獲取的測試案例所在的場景中還未被排序測試案例的輸入接口信息和狀態信息是否與本場景子序列的上一個測試案例匹配:
如果是,則將與上一個測試案例匹配的測試案例排在該子序列的上一個測試案例之后,然后判斷其輸出接口信息和輸出狀態信息是否屬于本場景結束條件:如果屬于則該測試案例作為本子序列的最后一個測試案例,并執行步驟S22;如果不屬于則重新執行步驟S23;
如果不是,則重新執行步驟S23的內容;
S24:全部場景的測試子序列已經串聯完畢。
優選地,所述步驟S3中將所述測試子序列按照其入口條件和出口條件進行標準化設計具體為:依據不同子序列的入口條件和出口條件,按照標準格式標識出每一條子序列的輸入和輸出接口以及狀態信息,供后面生成測試序列使用。
優選地,所述步驟S3中組合生成能夠在測試系統中執行的測試序列的步驟具體包括:
S31:檢查初始場景中是否還有未處理的子序列,如果沒有,則說明執行完畢,跳到步驟S34;如果有,則從初始場景包含的未處理子序列中選取一條子序列作為本測試序列的第一條子序列,然后執行步驟S32;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京交通大學,未經北京交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110375722.1/2.html,轉載請聲明來源鉆瓜專利網。





