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