[發明專利]一種基于狀態遷移的自動測試方法及系統有效
| 申請號: | 202110456418.3 | 申請日: | 2021-04-27 |
| 公開(公告)號: | CN112988596B | 公開(公告)日: | 2021-08-03 |
| 發明(設計)人: | 曹雅鑫;崔巖;彭棟;張玙;韓興邦;王振輝 | 申請(專利權)人: | 北京全路通信信號研究設計院集團有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京知聯天下知識產權代理事務所(普通合伙) 11594 | 代理人: | 張迎新;史光偉 |
| 地址: | 100070 北京市豐臺區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 狀態 遷移 自動 測試 方法 系統 | ||
1.一種基于狀態遷移的自動測試方法,其特征在于,包括以下步驟:
獲取測試腳本,所述測試腳本包含一個或多個狀態元素,所述狀態元素用于表示測試動作和狀態遷移關系;
解析測試腳本,將狀態元素轉化為狀態對象,將狀態對象存儲在狀態對象列表中;
執行自動測試,包括:
從狀態對象列表中獲取至少一個狀態對象作為當前狀態對象,根據當前狀態對象執行相應的測試動作;
根據指定條件將當前狀態對象遷移為狀態對象列表中的其他狀態對象,繼續根據切換后的當前狀態對象執行自動測試;
所述狀態元素包括動作元素和遷移元素兩個子元素;
通過所述動作元素定義測試動作,通過所述遷移元素定義滿足指定條件時需要執行的下一個狀態元素;
解析測試腳本時,為腳本中各個元素創建相應的對象,腳本中相應元素的屬性映射為對象屬性,包括:
將狀態元素映射為狀態對象,將遷移元素映射為遷移對象并存儲在遷移對象列表中,將動作元素映射為動作對象并存儲在動作對象列表中;
狀態對象包含相應的動作對象列表和遷移對象列表。
2.根據權利要求1所述的基于狀態遷移的自動測試方法,其特征在于,所述測試腳本還包括任務元素,所述任務元素包含一個或多個所述狀態元素,作為該任務元素的子元素。
3.根據權利要求2所述的基于狀態遷移的自動測試方法,其特征在于,所述測試腳本還包括任務組元素,所述任務組元素包含一個或多個所述任務元素,任務元素作為該任務組元素的子元素。
4.根據權利要求1所述的基于狀態遷移的自動測試方法,其特征在于,所述動作元素的屬性還包括變量引用符號,所述變量引用符號通過指定名稱引用在前執行的狀態元素的遷移元素中獲取的變量。
5.根據權利要求2所述的基于狀態遷移的自動測試方法,其特征在于,以并行方式執行一個測試腳本中的一組相關聯的任務。
6.根據權利要求5所述的基于狀態遷移的自動測試方法,其特征在于,以并行方式執行一個測試腳本中的一組相關聯的任務包括:
采用任務對象列表存儲任務元素所轉換的任務對象;
執行時,從任務對象列表中獲取多個任務對象,并行執行任務對象所代表的測試任務。
7.根據權利要求6所述的基于狀態遷移的自動測試方法,其特征在于,并行執行任務對象所代表的測試任務包括:采用分時復用的方式周期性地輪詢調度任務對象列表中的各個任務。
8.根據權利要求7所述的基于狀態遷移的自動測試方法,其特征在于,采用分時復用的方式周期性地輪詢調度任務對象列表中的各個任務包括:一個線程在每個周期內,處理任務組中的各個任務當前狀態的動作和/或遷移,模擬多個任務的并發執行。
9.根據權利要求7所述的基于狀態遷移的自動測試方法,其特征在于,采用分時復用的方式周期性地輪詢調度任務對象列表中的各個任務包括:周期遍歷任務對象列表中的任務,按照任務對象列表中任務的優先級依次判斷各個任務的當前狀態是否具備跳轉條件;如果處理時刻該任務的當前狀態中任一遷移條件滿足,則更新該任務的當前狀態,跳轉至遷移指定的目標狀態;一周期內對一個任務的跳轉最多執行一次。
10.根據權利要求2所述的基于狀態遷移的自動測試方法,其特征在于,執行自動測試包括:
從狀態對象列表中獲取至少一個狀態對象作為當前狀態對象,根據當前狀態對象執行相應的測試動作;
獲取當前狀態的動作對象,按照動作對象向待測設備發送數據;
獲取當前狀態的遷移對象,按照遷移條件校驗待測設備反饋的數據,并根據校驗結果跳轉至新的狀態對象。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京全路通信信號研究設計院集團有限公司,未經北京全路通信信號研究設計院集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110456418.3/1.html,轉載請聲明來源鉆瓜專利網。





