[發明專利]覆蓋表約簡的方法及系統有效
| 申請號: | 201310477511.8 | 申請日: | 2013-10-12 |
| 公開(公告)號: | CN103605603A | 公開(公告)日: | 2014-02-26 |
| 發明(設計)人: | 聶長海;吳化堯;李曉花;董昭;劉克;蔡開元 | 申請(專利權)人: | 南京大學;中國科學院數學與系統科學研究院;北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 陳振 |
| 地址: | 210023 江蘇省南京市棲霞區仙*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 覆蓋 表約簡 方法 系統 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種覆蓋表約簡的方法及系統。
背景技術
軟件或硬件系統的系統行為通常會受到多個參數或因素的影響,其中每個參數有多個不同的離散取值。在這樣的系統中,系統故障通常是由部分參數的某些取值組合引起的,而軟件或硬件測試的目標,則是構建相應的測試用例來觸發這些系統故障。窮盡測試方法可以完全地測試待測系統的所有參數取值組合,但其需要大量的測試用例,因而無法在實際測試中應用。與之相比,通過覆蓋任意t個參數間的所有t-組合,組合測試方法可以在保證較高故障檢測率的前提下,極大地減少測試成本,是一種非常有效的測試方法。
組合測試方法使用覆蓋表作為測試用例集。在一個t-way覆蓋表中,任意t個參數間t-組合的所有取值都至少需要在覆蓋表中出現一次,這里的t稱為覆蓋強度。如果一個t-way覆蓋表中的每個t-組合的所有取值僅出現一次,則該覆蓋表是最優覆蓋表(也稱為正交表),具有最小的規模(測試用例的數目)。但覆蓋表的生成是一個復雜的問題,對于絕大多數待測系統來說,目前無法生成最優規模的覆蓋表,在最終得到的覆蓋表中一般存在很多冗余組合。
發明內容
基于此,為解決現有技術中的存在的問題及缺陷,有必要提供一種簡單有效的覆蓋表約簡的方法及系統。
為實現本發明目的提供的一種覆蓋表約簡的方法,包括以下步驟:
S100,對初始覆蓋表進行分析處理,得到所述初始覆蓋表的相對靈活位置集;
S200,根據所述相對靈活位置集,判斷所述初始覆蓋表中每條測試用例中包含靈活位置的個數,并按所述靈活位置的個數從小到大的順序對所述初始覆蓋表中的所述測試用例進行排序,得到第一新覆蓋表;
S300,對所述第一新覆蓋表進行進一步分析處理,得到所述第一新覆蓋表的靈活位置集;
S400,根據所述靈活位置集,刪除所述第一新覆蓋表中全部為靈活位置的測試用例,得到新的靈活位置集;
S500,將所述新的靈活位置集中的靈活位置在預設取值范圍內進行隨機替換,得到第二新覆蓋表;
S600,將所述第二新覆蓋表作為初始覆蓋表,返回步驟S100循環執行上述所有步驟,直至得到滿足預設條件的最終覆蓋表;
所述預設條件為預設循環總次數,或者預設循環次數內所述第二新覆蓋表中的測試用例的條數相同。
在其中一個實施例中,步驟S100包括以下步驟:
S110,將所述初始覆蓋表中的所有位置標記為靈活位置;
S120,選擇所述初始覆蓋表中任意t個參數進行組合,得到所述初始覆蓋表中參數的m個t-組合,并將所述初始覆蓋表中所有測試用例中只出現一次的t-組合值對應的初始覆蓋表的位置還原為原始值,得到所述初始覆蓋表的相對靈活位置集;
其中,所述t為正整數,為所述初始覆蓋表的覆蓋強度;
m=C(n,t),n為所述初始覆蓋表中參數的個數;
所述參數的某個t-組合對應多個所述t-組合值,所述初始覆蓋表中每條測試用例包含m個所述t-組合的各一個所述t-組合值。
在其中一個實施例中,步驟S120包括以下步驟:
S121,選擇所述初始覆蓋表中任意t個參數進行組合,得到所述初始覆蓋表中參數的m個t-組合;
S122,選擇所述初始覆蓋表中未選擇過的一個所述t-組合,為第一t-組合;
S123,將所述初始覆蓋表中所有測試用例中只出現一次的第一t-組合值對應的初始覆蓋表的位置還原為原始值;
S124,判斷所述初始覆蓋表中是否還存在未選擇過的t-組合,若是則返回執行步驟S122;否則,得到所述初始覆蓋表的相對靈活位置集。
在其中一個實施例中,步驟S300,包括以下步驟:
S310,將所述第一新覆蓋表中的所有位置標記為靈活位置;
S320,選擇所述第一新覆蓋表中任意t個參數進行組合,得到所述第一新覆蓋表中參數的m個t-組合,按照所述第一新覆蓋表中所有測試用例的排列順序,將第一次出現的t-組合值對應的所述第一新覆蓋表的位置還原為原始值,得到所述第一新覆蓋表的靈活位置集;
其中,所述t為正整數,為所述初始覆蓋表的覆蓋強度;
所述m=C(n,t),n為所述初始覆蓋表中參數的個數;
所述參數的某個t-組合對應多個所述t-組合值,所述初始覆蓋表中每條測試用例包含m個所述t-組合的各一個所述t-組合值。
在其中一個實施例中,步驟S320,包括以下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學;中國科學院數學與系統科學研究院;北京航空航天大學,未經南京大學;中國科學院數學與系統科學研究院;北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310477511.8/2.html,轉載請聲明來源鉆瓜專利網。





