[發明專利]一種事件序列故障定位方法有效
| 申請號: | 201710278374.3 | 申請日: | 2017-04-25 |
| 公開(公告)號: | CN107133168B | 公開(公告)日: | 2020-08-11 |
| 發明(設計)人: | 裴大茗;王建峰;晏裕生;吳美熹;孫孟陽;汪浩 | 申請(專利權)人: | 中國船舶工業綜合技術經濟研究院 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京高沃律師事務所 11569 | 代理人: | 王加貴 |
| 地址: | 100080 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 事件 序列 故障 定位 方法 | ||
本發明公開了一種事件序列故障定位方法,所述定位方法應用于測試系統中,對多條測試事件序列激勵進行逐條觸發,獲得觸發結果,根據觸發結果獲得正確激勵集合和錯誤激勵集合,根據所述正確激勵集合計算出系統的安全值集合,根據安全值集合和錯誤測試激勵,生成附加測試事件序列,進行故障事件序列定位,獲得錯誤事件序列。采用安全值集合和錯誤測試激勵進行故障事件序列定位分析,快速準確地對故障事件序列進行定位。
技術領域
本發明涉及軟件測試領域,特別是涉及一種事件序列故障定位方法。
背景技術
在軟件測試中,當事件序列測試用例引發軟件錯誤時,需要測試人員找出觸發系統故障的錯誤事件序列,現有技術中,軟件測試人員采用逐條測試的方法查找引起故障的錯誤事件序列,效率低,亟需一種快速準確的定位測試激勵中的錯誤事件序列的方法。
發明內容
本發明的目的是提供一種快速準確的定位測試激勵中的錯誤事件序列的方法。
為實現上述目的,本發明提供了如下方案:
一種事件序列故障定位方法,所述定位方法應用于測試系統中,所述定位方法包括:
根據所述測試系統中的測試結果,獲得可能錯誤事件序列集;
根據所述可能錯誤事件序列集,獲得強度為t的錯誤事件序列;根據所述強度為t的錯誤事件序列,獲得多條測試激勵;
逐條對所述多條測試激勵觸發,獲得觸發結果;
判斷所述觸發結果是否錯誤,如果是,將對應觸發結果錯誤的測試激勵加入到錯誤激勵集合M中;否則,將對應觸發結果正確的測試激勵加入到正確激勵集合N中;
根據所述正確激勵集合N計算,獲得所述測試系統的安全值集合;
根據所述安全值集合定位所述錯誤激勵集合M中的每條所述測試激勵中對應的錯誤事件序列,將所述錯誤事件序列存儲在錯誤事件序列集H中,輸出所述錯誤事件序列集H。
可選的,所述根據所述正確激勵集合N計算,獲得所述測試系統的安全值集合具體包括:
設所述正確激勵具有k個事件;
從所述正確激勵集合N中篩選出kt的正確激勵,獲得新的正確激勵集合N′;
將所述新的正確激勵集合N′中的每條所述正確激勵對應的第i個事件至第i+t個事件的序列存儲到所述安全值集合中,獲得所述安全值集合,當kt時,i的取值為0,1,2,......,k-1。
可選的,根據所述安全值集合定位所述錯誤激勵集合M中的每條所述測試激勵中對應的錯誤事件序列具體包括:
設所述錯誤激勵為T;
初始化所述錯誤激勵T,獲得集合A,所述集合A為1到k的整數;
判斷所述集合A的強度是否大于t,如果是,繼續進行;否則,采用所述安全值集合中的各元素逐一替換所述集合A中的各元素,定位所述集合A中的錯誤事件序列,獲得所述錯誤事件序列;
將所述集合A平均分成t+1個互不相交的集合A1,A2,...,At+1;
采用所述集合A1,A2,...,At+1中的集合Aj將所述錯誤激勵對應位置上的元素替換為所述安全值,獲得t+1條附加測試激勵;
當測試過程中出現m條所述附加測試激勵觸發錯誤,獲取m條所述附加測試激勵的交集對應的因素集A′;
根據所述因素集A′生成新的測試激勵T′;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國船舶工業綜合技術經濟研究院,未經中國船舶工業綜合技術經濟研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710278374.3/2.html,轉載請聲明來源鉆瓜專利網。





