1.基于模型的測驗生成
在需求分析時,我們遇到了以下4個問題需要解決:
1)自動化生成方法固然能夠在短時間內快速生成大量測驗資料,但是如何挑選具有高覆寫率、低數量級的測驗資料集?這對于降低后續測驗執行成本而言是一個關鍵問題;
2)無論采用哪種組合演算法,生成的決策表都會存在冗余和無效的決策,如果不能及時剔除,在后續生成測驗用例時會造成額外的開銷;
3)被測服務的開發語言存在差異,測驗工具可以根據自然語言描述的服務介面檔案完成建模作業,無需關注內部實作語言,但在生成測驗代碼時卻缺少靈活性,只能以程式中固化的方式生成特定語言的測驗代碼;API檔案撰寫內容,詳細內容防止重復撰寫用例;

4)進行組合測驗時,服務之間會存在資料和控制依賴關系,如何能便捷直觀地描述各種依賴關系,高效完成測驗計劃編排?
針對上述問題,我們在測驗工具的設計與實作中采取了針對性的解決方法,
2.基于資料磁區的組合測驗資料生成
基于資料模型和服務模型中的引數約束,可以根據測驗覆寫率的需求生成測驗資料,
使用服務引數的整個輸入域作為測驗輸入,無疑會得到最大的測驗覆寫率,但是會帶來針對性差、代價高的問題,并且,當同時存在多個引數時,追求全覆寫會導致引陣列合爆炸,
為此,本文提出基于資料磁區的組合測驗方法,通過為服務引數的輸入域劃分資料磁區并為磁區組合構建決策表,解決測驗資料生成的盲目性問題,同時在覆寫率和組合爆炸之間取得折中,方法描述有效設定測驗用例,使用Eolink測驗工具撰寫測驗用例,

1)資料磁區劃分,依據等價類劃分的思想,為服務的每個輸入引數劃分資料磁區,包括合法磁區和非法磁區,用于描述更加細化的引數資料約束條件;
2)磁區資料集設定,針對每個資料磁區,可采用隨機方式或者自定義方式從每個磁區中選取少數代表性資料作為磁區資料集,用于最終的測驗資料自動生成,磁區資料集的設計,既有效避免了使用整個磁區作為輸入時可能導致的測驗資料量過大的問題,又能有效提高測驗的針對性,為滿足使用盡量少的測驗用例達到盡量大的覆寫率的測驗目標提供了可能;
3)決策表生成,以服務的輸入資料磁區作為條件屬性,以服務的回傳值作為決策屬性,為服務的輸入引陣列合創建決策表,為了避免組合爆炸,采用了多種組合測驗演算法(全組合、IPO2組合、基于擬水平法的正交實驗設計、基于并列法的正交實驗設計)來生成滿足不同測驗覆寫率需求的決策表,
計劃模型的測驗用例來自于其組成服務的測驗用例集組合,對這些用例資料進行笛卡兒積組合遍歷無疑會導致組合爆炸,因此,也采用組合測驗演算法來支持計劃模型的測驗資料生成,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/423586.html
標籤:其他
上一篇:正則運算式 - 密碼格式驗證大全
下一篇:虎年開工大吉
