[發明專利]一種基于AP-PSO算法的組合測試用例生成方法有效
| 申請號: | 201611097859.4 | 申請日: | 2016-12-03 |
| 公開(公告)號: | CN106598849B | 公開(公告)日: | 2019-06-04 |
| 發明(設計)人: | 包曉安;楊亞娟;張娜;張唯;滕賽娜 | 申請(專利權)人: | 浙江理工大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 鄭海峰 |
| 地址: | 310018 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 ap pso 算法 組合 測試 生成 方法 | ||
本發明公開了一種基于AP?PSO算法的組合測試用例生成方法,屬于軟件測試領域。本發明包括:通過靜態分析獲得需覆蓋的組合級;調整one?test?at?a?time策略,將隨機選取一個組合改為構造一個優先級度量函數,對每個組合進行優先級度量,選取優先級最高的組合;采用自適應粒子群算法生成單條測試用例,以種群粒子優劣為依據對慣性權重進行自適應調整,對粒子的最大速度進行控制,采用離散化方式對每個粒子的速度進行取整運算,并使用反射墻策略對粒子位置進行邊界處理,防止飛出有效的搜索空間。本發明可適用于不同覆蓋強度的覆蓋表生成,有效縮減了組合測試用例集的規模,并大幅度提升了組合測試用例的生成效率。
技術領域
本發明屬于軟件測試領域,具體涉及一種基于AP-PSO算法的組合測試用例生成方法。
背景技術
軟件測試是軟件工程中保證軟件質量的至關重要的環節,理想的軟件測試方法需要同時具有高錯誤檢測能力、低成本消耗和廣泛的適用性等特點。組合測試作為一種基于規約的軟件測試方法,旨在從待測軟件面臨的龐大組合空間中,選取少量但有效的測試用例,生成覆蓋程度高、揭錯能力強的測試用例集。
粒子群算法作為一種較新的啟發式搜索算法,具有易理解、易實現、全局搜索能力強等特點,目前也被應用于該領域中。目前,在利用粒子群優化生成覆蓋表的相關研究中,主要實現了兩兩組合覆蓋測試用例生成,并未考慮更高覆蓋力度以及交互力度不統一的情況。同時,參數的選取對算法性能有很大影響,絕大多數研究工作通常選取一組經驗參數,沒有考慮到參數選擇在不同覆蓋表上的特殊性。
因此,在粒子群算法具有良好的魯棒性的前提下,將one-test-at-a-time策略和自適應粒子群算法相結合,根據粒子的優劣對慣性權重進行自適應調整,提出了一種可處理任意覆蓋強度的組合測試用例生成方法。該算法能使該算法在覆蓋表生成上具有更強的適用能力,在測試用例集規模和執行時間上均具有一定的優勢。
發明內容
本發明的目的是對原始PSO算法進行改進,增加優先級度量函數和慣性權值的自適應調整策略,提供一種更加有效的組合測試用例生成方法。
本發明解決其技術問題所采用的技術方案如下:
定義:
測試用例——假設一個待測軟件系統(SUT)受到n個獨立因素的影響,這些因素形成一個有限集合F={f1,f2,…,fk},其中第i個因素fi擁有li個可選取值,則其對應的有效取值集可表示為Di={1,2,…,li}。那么,可以稱n元組test=(x1,x2,…,xn)(x1∈D1,x2∈D2,…,xn∈Dn)為SUT的一條測試用例。
固定力度覆蓋表——CA(N;t,k,v)表示一個N×k的矩陣,每列可選取值個數為v,任意的N×t子矩陣包含了在v值域上的所有t元組。
可變力度覆蓋表——VSCA(N;t,k,v,C)在CA(N;t,k,v)基礎上,還滿足包含一個或多個子矩陣C,并且C的覆蓋強度大于t。
one-test-at-a-time策略:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江理工大學,未經浙江理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611097859.4/2.html,轉載請聲明來源鉆瓜專利網。





