[發明專利]基于遞歸在線算法的進程任務塊可疑依賴關系的發現方法有效
| 申請號: | 201711216892.9 | 申請日: | 2017-11-28 |
| 公開(公告)號: | CN107861880B | 公開(公告)日: | 2021-06-22 |
| 發明(設計)人: | 曲明成;陳蛟龍;王冠楠 | 申請(專利權)人: | 曲明成 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 岳泉清 |
| 地址: | 150000 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 遞歸 在線 算法 進程 任務 可疑 依賴 關系 發現 方法 | ||
1.基于遞歸在線算法的進程任務塊可疑依賴關系的發現方法,其特征在于:所述方法具體過程為:
步驟一、輸入正確和錯誤的測試用例,正確測試用例為a1,a2,...,ai,ai+1,...ap,...aj,aj+1,...,am,ipj;根據一種基于矩陣的獲取進程任務塊依賴關系方法得到ai在aj之前執行,找出α個正確測試用例中ai和aj距離最近時ai和aj所在的正確測試用例,將該正確測試用例重新命名為a[1],a[2],...,a[i],a[i+1],...a[p],...,a[j],a[j+1],...,a[m];具體過程為:
步驟一一、輸入正確和錯誤測試用例,測試用例包括所有進程任務塊;
步驟一二、將測試用例轉換成關系矩陣;
關系矩陣包括正確關系矩陣、錯誤關系矩陣、關系相容矩陣和依賴關系矩陣;
在關系矩陣中,1代表先于執行,0代表后于執行,-1不予考慮;
正確關系矩陣:由正確的測試用例序列構建的矩陣;
錯誤關系矩陣:由錯誤的測試用例序列構建的矩陣;
關系相容矩陣:不同任務的子任務塊沒有先后關系的矩陣;
依賴關系矩陣:不同任務的子任務塊之間有確定的依賴關系;
步驟一三、當α≥β時,執行步驟一四;當αβ時,執行步驟一九;α為正確測試用例數目,β為錯誤測試用例數目;
步驟一四、對β個正確關系矩陣和錯誤關系矩陣進行矩陣減操作,得到新的矩陣B1’和B2’,根據B1’和B2’確定正確測試用例中有幾處與錯誤測試用例不一樣;執行步驟一五;
步驟一五、當αβ時,執行步驟一六;當α=β時,執行步驟一七;
步驟一六、對α-β個正確關系矩陣進行矩陣交操作,得到關系相容矩陣;執行步驟一八;
步驟一七、對步驟一四得到的新的矩陣B1’和B2’進行矩陣交操作,得到依賴關系矩陣;執行一十三;
步驟一八、對步驟一四得到的新的矩陣B1’和B2’以及步驟一六得到的一個關系相容矩陣進行矩陣交操作,得到依賴關系矩陣;執行步驟一十三;
步驟一九、對α個正確關系矩陣和錯誤關系矩陣進行矩陣減操作,得到新的矩陣B1’和B2’,根據B1’和B2’確定正確測試用例中有幾處與錯誤測試用例不一樣;執行步驟一十;
步驟一十、對β-α個正確關系矩陣進行矩陣求補操作,得到補集關系矩陣b1和b2;執行步驟一十一;
步驟一十一、對補集關系矩陣b1和b2進行交操作,得到新的補集關系矩陣b1’;
步驟一十二、對步驟九得到的新的矩陣B1’和B2’以及步驟一十一得到的新的補集關系矩陣b1’進行矩陣交操作,得到依賴關系矩陣;執行步驟一十三;
步驟一十三、根據獲得的依賴關系矩陣,得到依賴關系并輸出;
步驟二、
令步驟一中正確測試用例a[1],a[2],…,a[i],a[i+1],...a[p],...,a[j],a[j+1],...,a[m]中的a[i]與a[i+1]交換,生成新的測試用例;
步驟三、測試新的測試用例能否正確執行,若新的測試用例能正確執行,執行步驟四;若新的測試用例不能正確執行,將a[p-1]與a[p]交換,執行步驟七;
步驟四、
令步驟一中正確測試用例a[1],a[2],...,a[i],a[i+1],...a[p],...,a[j],a[j+1],...,a[m]中的a[i+1]與a[i+2]交換,生成新的測試用例,測試新的測試用例能否正確執行,若新的測試用例能正確執行,執行步驟五;若新的測試用例不能正確執行,將a[p-1]與a[p]交換,執行步驟七;
步驟五、
令步驟一中正確測試用例a[1],a[2],...,a[i],a[i+1],...a[p],...,a[j],a[j+1],...,a[m]中的a[i+2]與a[i+3]交換,生成新的測試用例;
步驟六、迭代執行步驟三-步驟五,直至ai任務塊在aj任務塊的位置之后;
步驟七、當ai與ap不能交換時,輸出ai與ap有依賴關系,將ai任務塊存儲,將a[p]與a[p+1]交換,產生新的測試用例,執行步驟三;
當ap與aj不能交換時,同時ai與aj不能交換,即aiapaj,直接輸出aiapaj,程序結束;所述表示先于執行;
當ap與aj能交換時,交換ap與aj位置,產生新的測試用例a1,a2,...,ai-1,ai+1,...ai,ap+1...aj,ap,...,am,將該正確測試用例重新命名為a[1],a[2],...,a[i],a[i+1],...a[p],...,a[j],a[j+1],...,a[m],令測試用例a[1],a[2],...,a[i],a[i+1],...a[p],...,a[j],a[j+1],...,a[m]中的a[p-1]與a[p]交換,生成新的測試用例;執行步驟三,直到ai任務塊在aj任務塊的位置之后;
a1在a[1]的位置,a2在a[2]的位置,ai-1在a[i-1]的位置,ai+1在a[i]的位置,ai在a[p-1]的位置,ap+1在a[p]的位置;aj在a[j-1]的位置,ap在a[j]的位置,am在a[m]的位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于曲明成,未經曲明成許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711216892.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種實現軟件自動化測試的方法和系統
- 下一篇:壓力測試方法及裝置





