本發明涉及一種面向自動測試行業的測試用例優化方法。
背景技術:
1、測試用例是自動測試行業中的重要概念,在自動測試行業中往往需要通過程控手段控制測試儀器自動完成測試結果采集工作,而測試用例是連接上層測試方案和底層設備驅動的橋梁。測試用例實質上是上位機給測試客戶端下達的一份任務清單,它既要用簡單易懂的自然語言表述測試對象、測試方法、和結果評判標準,方便測試人員閱讀和編輯;又要以固定格式和關鍵字編寫,更夠被測試客戶端解析為明確的儀器指令。
2、在大規模生產測試環境下,測試耗時是不容忽視的因素。即使在程序控制的情況下,儀器執行程控指令依然需要時間,尤其是一些機械作動的設備如繼電器夾具,分選機,傳送帶等,它們的作動延時會更加明顯。但在測試用例編寫的過程中,工程師們往往更關注測試用例能否正確獲取測試結果,容易忽略測試耗時。人為編寫測試用例時可能會添加無效的儀器重復操作,同時無法從全局角度分析測試順序對測試耗時的影響。
3、能夠完成測試任務的測試用例,并不代表它是合理的。不合理的測試用例會導致測試儀器的頻繁作動,不僅增加測試耗時還加快了測試儀器的損耗。盡管工程師會進行一些儀器操作的歸類和整合,但這種人工優化方式通常不能達到最佳優化效果,所以采取一種系統的,科學的方式優化測試用例是十分有必要的。
4、影響測試耗時的主要因素有兩個,一是測試用例中存在無效重復操作,比如重復設置相同的儀器參數,重復開關儀器等;二是測試項的測試順序,不同的測試順序會導致儀器操作發生相應的變化,合理的測試順序可以充分利用當前儀器狀態完成多項測試,不合理的順序往往將需要不同測量參數的測試項混雜在一起,導致儀器狀態頻繁變更,增加了測試耗時。
5、為了區分有效操作和無效操作,我們需要根據實際情況制定判別規則;對于如何獲取最優測試順序,該問題的本質是經典的旅行商問題(tsp),我們可以借鑒tsp問題的相關算法來求解最優順序。
技術實現思路
1、本發明為解決自動測試行業中測試用例可能存在的無效測試操作和測試順序不合理的問題,提供了一種測試用例優化方法。本發明基于圖論和旅行商問題(tsp)的解決方案,力圖優化復雜測試用例,并實現用例中無效操作的去除以及最優測試順序的搜索,從而降低測試耗時,提高測試效率。
2、所述的測試用例優化方法可應用于自動測試平臺,在測試用例的初版審核環節發揮作用。該方法的實施步驟如下:首先列出所有測試儀器的操作清單,根據實際情況為每個操作標定操作用時,形成固定格式的時間成本配置文件。然后明確各儀器操作之間的限制條件,制定出一套能夠判斷儀器操作有效性的判別規則,并以固定格式書寫形成判別規則配置文件。之后將測試用例信息轉化為關系圖,并以鄰接矩陣的形式存儲。最后基于tsp問題的動態規劃算法和退火算法,依據測試用例關系圖計算出能夠不重復的遍歷每個節點的最短路徑,遍歷的節點順序即為最優的測試順序。在最優測試順序下,從測試用例關系圖中逐項提取有效操作,重新組合成完整測試用例,該測試用例即為優化測試用例,它對應的測試時間成本最低,測試效率最高。
3、本發明的特點是:
4、(1)通用性好:測試用例,時間成本配置文件,判別規則配置文件可使用瀏覽器界面進行編輯,適用于不同測試對象與測試儀器,能夠及時根據實際情況做出調整,同時方便集成到測試平臺中。
5、(2)充分縮短測試時間:基于判斷規則和tsp算法優化出的測試用例,能夠在最佳的測試順序下,以最少的操作完成測試任務,縮短測試時間;
6、(3)評價指標可量化:根據標定的時間成本可計算原始用例和優化用例的測試總耗時;根據判別規則可獲取原始用例中的無效操作數量,通過對比無效操作數量和測試總耗時兩個指標,實現測試用例優化效果的量化評估。
1.一種面向自動測試行業的測試用例優化方法,其特征在于,包括以下步驟:
2.根據權利要求1,所述的面向測試行業的測試用例優化方法,其特征在于,所述的標定儀器操作所需用時,具體包括:
3.根據權利要求1,所述的面向測試行業的測試用例優化方法,其特征在于,制定出一套能夠判斷儀器操作有效性的判別規則,具體包括:
4.根據權利要求1,所述的面向測試行業的測試用例優化方法,其特征在于,將用例信息轉化為關系圖,具體包括:
5.根據權利要求1,所述的面向測試行業的測試用例優化方法,其特征在于,基于tsp問題的動態規劃算法和退火算法,計算最優測試順序,具體包括:
6.根據權利要求1,所述的面向測試行業的測試用例優化方法,其特征在于,根據最優測試項排序重構測試用例,具體包括: