本發明屬于軟件開發技術領域,特別是涉及一種用于軟件自動生成系統的測試方法。
背景技術:
軟件測試的真正確立是在20世紀70年代,在1972年北卡羅來納舉行的首屆軟件測試正式會議上,Myers定義測試”為發現程序錯誤而執行程序的過程”。到了80年代,一些軟件開發人員和測試人員一起制訂了軟件測試相關的各種標準,包括IEEE、美國的ANSI標準以及ISO國際標準。由于這些標準過于龐大,在實際應用中無法全部落實,但它們確實為一些測試提供了非常寶貴的參考。直到90年代,軟件測試以及各種測試工具才比較盛行起來。在這段時間內,測試理論以及測試用例的選擇一直是研究的熱點。現在,測試理論已經漸漸趨于完善,而測試用例的選擇問題卻仍處在研究階段,怎樣選取測試用例才能夠使被測軟件得到充分的測試,在測試時選擇不一樣的測試序列是否會對測試結果產生影響等等問題還在研究中。
技術實現要素:
本發明的目的在于提供一種用于軟件自動生成系統的測試方法,通過采用對系統建模,通過對系統進行仿真、通過工具對系統進行遍歷,得到所有的測試用例。
本發明是通過以下技術方案實現的:
本發明為一種用于軟件自動生成系統的測試方法,包括如下步驟:
步驟一,通過編輯器進行系統建模,得到軟件系統;
步驟二,在系統完成后,對系統進行仿真,仿真系統包括被仿真系統、外界環境模擬模塊和交互監視模塊;通過仿真器構成被仿真系統;通過外界環境模擬模塊負責與系統交互各種消息;交互監視模塊作為數據交互接口;
步驟三,通過工具對系統進行遍歷,得到所有的測試用例;
步驟四,通過工具進行測試用例的驗證。
優選地,所述步驟三,通過工具對系統進行遍歷,得到所有MSC序列組合,每一個MSC圖表示一個測試用例中,通過Validator工具進行對系統的測試。
優選地,所述步驟四,通過工具進行測試用例的驗證中采用TTCN-SDLCo-simulator工具進行定位錯誤位置。
本發明具有以下有益效果:
本發明通過采用對系統建模,通過對系統進行仿真、通過工具對系統進行遍歷,得到所有的測試用例;通過工具進行測試用例的驗證的三個過程進行對系統的測試,有效的進行定位錯誤位置,提高系統開發與維護的經濟性。
當然,實施本發明的任一產品并不一定需要同時達到以上所述的所有優點。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明的一種用于軟件自動生成系統的測試方法流程圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
請參閱圖1所示,本發明為一種用于軟件自動生成系統的測試方法,包括如下步驟:
步驟一,通過編輯器進行系統建模,得到軟件系統;
步驟二,在系統完成后,對系統進行仿真,仿真系統包括被仿真系統、外界環境模擬模塊和交互監視模塊;通過仿真器構成被仿真系統;通過外界環境模擬模塊負責與系統交互各種消息;交互監視模塊作為數據交互接口;
步驟三,通過工具對系統進行遍歷,得到所有的測試用例;
步驟四,通過工具進行測試用例的驗證。
其中,步驟三,通過工具對系統進行遍歷,得到所有MSC序列組合,每一個MSC圖表示一個測試用例中,通過Validator工具進行對系統的測試。
其中,步驟四,通過工具進行測試用例的驗證中采用TTCN-SDLCo-simulator工具進行定位錯誤位置。
Validator可用多種算法(如一叉樹搜索、窮舉法等)來遍歷我們設計的SDL系統,從而自動生成多種可能出現的MSC序列組合,每一個MSC圖表示—個測試用例。另外它可以和Autolink聯合使用,Autolink支持自動生成的TTCN測試套的聲明,約朿和動態行為表,其生成的上述說明的基礎是SDL說明及其相應的MSC圖。Autolink的輸出是一個MP文件格式的測試套文件。
交互監視模塊作為數據交互接口,其下又分為GUI接口、SDL接口以及MSC接口;通過GUI接口可以控制系統的運行、設罝接口數據值等操作;SDL接口將系統的執行情況與SDL圖進行映射,這樣可以從SDL閣中實時的獲悉各個進程的運行情況;MSC接口提供整個系統的消息交互試圖
值得注意的是,上述系統實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區分,并不用于限制本發明的保護范圍。
另外,本領域普通技術人員可以理解實現上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于一計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁盤或光盤等。
以上公開的本發明優選實施例只是用于幫助闡述本發明。優選實施例并沒有詳盡敘述所有的細節,也不限制該發明僅為所述的具體實施方式。顯然,根據本說明書的內容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本發明的原理和實際應用,從而使所屬技術領域技術人員能很好地理解和利用本發明。本發明僅受權利要求書及其全部范圍和等效物的限制。