本發(fā)明涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,特別是涉及一種模型軟件測(cè)試結(jié)果分析方法及裝置。
背景技術(shù):
目前,基于Mathworks公司推出的Matlab的Simulink、Stateflow或Targetlink的模型化軟件成型之后,可以基于設(shè)計(jì)任務(wù)書(shū)進(jìn)行前期的測(cè)試驗(yàn)證,而不必等輸入到真實(shí)的控制器進(jìn)行測(cè)試驗(yàn)證。
對(duì)于較為復(fù)雜的模型軟件,人工開(kāi)發(fā)的模型中存在較多的缺陷,測(cè)試和驗(yàn)證就顯得非常重要,但是測(cè)試驗(yàn)證的工作難,工作量大。測(cè)試人員每執(zhí)行一條測(cè)試用例就需要對(duì)測(cè)試結(jié)果進(jìn)行分析。對(duì)利用Simulink、Stateflow或Targetlink開(kāi)發(fā)的模型軟件進(jìn)行測(cè)試時(shí),需要將待分析的信號(hào)接入到Scope或者利用其他方式保存到Workspace中。對(duì)于軟件輸出信號(hào)較多的模型軟件來(lái)說(shuō),增加過(guò)多的Scope模塊或To Workspace模塊,都會(huì)占用運(yùn)行空間,甚至可能導(dǎo)致空間溢出而停止仿真。即使不會(huì)導(dǎo)致空間溢出停止仿真,測(cè)試人員參照測(cè)試用例預(yù)期結(jié)果對(duì)每一個(gè)輸出信號(hào)進(jìn)行分析,不僅工作量大,而且容易出現(xiàn)人為操作錯(cuò)誤。因此,尋找一種自動(dòng)分析測(cè)試結(jié)果的方法就相當(dāng)有意義,具有省人工、省人力、效率高、正確性有保障的優(yōu)點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種模型軟件測(cè)試結(jié)果分析方法及裝置,以實(shí)現(xiàn)自動(dòng)分析測(cè)試結(jié)果,提升測(cè)試效率。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種模型軟件測(cè)試結(jié)果分析方法,該方法包括:
在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù);
對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真;
利用待觀(guān)測(cè)信號(hào)中所配置的屬性參數(shù)記錄模型軟件的仿真結(jié)果;
將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試用例不通過(guò)。
優(yōu)選的,所述在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù),包括:
選擇待觀(guān)測(cè)信號(hào)所在的子系統(tǒng)Subsystem;
在子系統(tǒng)Subsystem中查找到與待觀(guān)測(cè)信號(hào)命名相同的對(duì)象;
對(duì)所述對(duì)象進(jìn)行屬性配置。
優(yōu)選的,對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真,包括:
針對(duì)所有待觀(guān)測(cè)信號(hào),判斷搜索結(jié)果中是否至少有一個(gè)對(duì)象的名稱(chēng)與測(cè)試用例對(duì)應(yīng)的待觀(guān)測(cè)信號(hào)命名相同,若是,執(zhí)行測(cè)試用例;
調(diào)用測(cè)試用例,仿真模型軟件。
優(yōu)選的,將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試不通過(guò)之后,還包括:
將導(dǎo)致測(cè)試未通過(guò)的待觀(guān)測(cè)信號(hào)寫(xiě)入文檔中。
本發(fā)明還提供一種模型軟件測(cè)試結(jié)果分析裝置,該裝置包括:
搜索模塊,用于在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù);
仿真模塊,用于對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真;
記錄模塊,用于利用待觀(guān)測(cè)信號(hào)中所配置的屬性參數(shù)記錄模型軟件的仿真結(jié)果;
比對(duì)模塊,用于將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試用例不通過(guò)。
優(yōu)選的,所述搜索模塊包括:
選擇單元,用于選擇待觀(guān)測(cè)信號(hào)所在的子系統(tǒng)Subsystem;
查找單元,用于在子系統(tǒng)Subsystem中查找到與待觀(guān)測(cè)信號(hào)命名相同的對(duì)象;
配置單元,用于對(duì)所述對(duì)象進(jìn)行屬性配置。
優(yōu)選的,所述仿真模塊包括:
判斷單元,用于針對(duì)所有待觀(guān)測(cè)信號(hào),判斷搜索結(jié)果中是否至少有一個(gè)對(duì)象的名稱(chēng)與測(cè)試用例對(duì)應(yīng)的待觀(guān)測(cè)信號(hào)命名相同,若是,執(zhí)行測(cè)試用例;
仿真單元,用于調(diào)用測(cè)試用例,仿真模型軟件。
優(yōu)選的,所述裝置還包括:
寫(xiě)入模塊,用于將導(dǎo)致測(cè)試未通過(guò)的待觀(guān)測(cè)信號(hào)寫(xiě)入文檔中。
本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析方法及裝置,在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù);對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真;利用待觀(guān)測(cè)信號(hào)中所配置的屬性參數(shù)記錄模型軟件的仿真結(jié)果;將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試用例不通過(guò)??梢?jiàn),在模型軟件中搜索需要觀(guān)測(cè)的信號(hào)并設(shè)置屬性使其在模型仿真時(shí)記錄仿真結(jié)果數(shù)據(jù),仿真結(jié)束后對(duì)這些信號(hào)與測(cè)試用例的預(yù)期結(jié)果進(jìn)行對(duì)比,不一致則測(cè)試不通過(guò),如此采用自動(dòng)分析不僅能夠保證對(duì)結(jié)果分析的正確性,還能夠大幅提高測(cè)試效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析方法的流程圖;
圖2為模型軟件測(cè)試結(jié)果分析具體流程圖;
圖3為本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種模型軟件測(cè)試結(jié)果分析方法及裝置,以實(shí)現(xiàn)自動(dòng)分析測(cè)試結(jié)果,提升測(cè)試效率。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析方法的流程圖,該方法包括:
步驟1、在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù);
步驟2、對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真;
步驟3、利用待觀(guān)測(cè)信號(hào)中所配置的屬性參數(shù)記錄模型軟件的仿真結(jié)果;
步驟4、將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試用例不通過(guò)。
可見(jiàn),在模型軟件中搜索需要觀(guān)測(cè)的信號(hào)并設(shè)置屬性使其在模型仿真時(shí)記錄仿真結(jié)果數(shù)據(jù),仿真結(jié)束后對(duì)這些信號(hào)與測(cè)試用例的預(yù)期結(jié)果進(jìn)行對(duì)比,不一致則測(cè)試不通過(guò),如此采用自動(dòng)分析不僅能夠保證對(duì)結(jié)果分析的正確性,還能夠大幅提高測(cè)試效率。
基于上述方法,步驟1的過(guò)程具體為:選擇待觀(guān)測(cè)信號(hào)所在的子系統(tǒng)Subsystem;在子系統(tǒng)Subsystem中查找到與待觀(guān)測(cè)信號(hào)命名相同的對(duì)象;對(duì)所述對(duì)象進(jìn)行屬性配置。
進(jìn)一步的,步驟2的過(guò)程具體包括:針對(duì)所有待觀(guān)測(cè)信號(hào),判斷搜索結(jié)果中是否至少有一個(gè)對(duì)象的名稱(chēng)與測(cè)試用例對(duì)應(yīng)的待觀(guān)測(cè)信號(hào)命名相同,若是,執(zhí)行測(cè)試用例;調(diào)用測(cè)試用例,仿真模型軟件。
進(jìn)一步的,將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試不通過(guò)之后,還包括:將導(dǎo)致測(cè)試未通過(guò)的待觀(guān)測(cè)信號(hào)寫(xiě)入文檔中。
本方法在模型軟件中搜索需要分析的信號(hào)并設(shè)置屬性使其在模型仿真時(shí)記錄仿真結(jié)果數(shù)據(jù),仿真結(jié)束后對(duì)這些信號(hào)與測(cè)試用例的預(yù)期結(jié)果進(jìn)行對(duì)比,記錄測(cè)試結(jié)果中存在與預(yù)期結(jié)果不一致信號(hào)。采用自動(dòng)分析不僅能夠保證對(duì)結(jié)果分析的正確性,還能夠大幅提高測(cè)試效率。其中,在指定的Subsystem中搜索需要分析的信號(hào)并對(duì)其屬性進(jìn)行配置,對(duì)測(cè)試結(jié)果與預(yù)期結(jié)果進(jìn)行對(duì)比分析,并將與預(yù)期結(jié)果不一致的信號(hào)記錄到文檔中。
本方法采用自動(dòng)分析測(cè)試結(jié)果能夠規(guī)避人為分析錯(cuò)誤;采用自動(dòng)分析測(cè)試結(jié)果能夠大幅提升測(cè)試效率;采用自動(dòng)分析測(cè)試結(jié)果可以實(shí)現(xiàn)測(cè)試人員直接查看測(cè)試結(jié)果,無(wú)需全程跟進(jìn)測(cè)試。
基于上述方法,以使用Matlab編寫(xiě)M文件實(shí)現(xiàn)自動(dòng)分析模型軟件的測(cè)試結(jié)果為例,具體流程如圖2,具體流程包括:
S1:對(duì)待測(cè)模型軟件進(jìn)行參數(shù)配置,使其能夠保存仿真過(guò)程數(shù)據(jù)。
S2:選擇待分析的信號(hào)所在的子系統(tǒng)Subsystem。通常一個(gè)項(xiàng)目軟件是多個(gè)開(kāi)發(fā)人員完成的,那么就難免存在信號(hào)重命名的情況。測(cè)試人員會(huì)把模型軟件的所有輸出信號(hào)引入到同一個(gè)Subsystem中,一方面一定程度上避免信號(hào)觀(guān)測(cè)信號(hào)的重命名,另一方面也能夠確保接口的覆蓋率。
S3:創(chuàng)建一個(gè)文檔,用來(lái)記錄測(cè)試過(guò)程中的問(wèn)題,可以采用系統(tǒng)時(shí)間命名文本文檔,這樣可以有效避免文本文檔的重命名,還能提示測(cè)試人員執(zhí)行測(cè)試的時(shí)間。
S4:選擇待執(zhí)行的測(cè)試用例,其中包括輸入數(shù)據(jù)和預(yù)期結(jié)果數(shù)據(jù)。測(cè)試用例可以是不同文件保存的,但是最后需要轉(zhuǎn)化為.mat格式,以便模型軟件仿真時(shí)調(diào)用。
S5:判斷測(cè)試用例是否執(zhí)行完,如果沒(méi)有,則繼續(xù)執(zhí)行用例,如果執(zhí)行完了,則保存并關(guān)閉文檔。
S6:所有測(cè)試用例執(zhí)行完以后,保存并關(guān)閉文檔。
S7~S19:逐一執(zhí)行所選取的測(cè)試用例:搜索并配置待觀(guān)測(cè)的信號(hào),自動(dòng)仿真,自動(dòng)分析測(cè)試結(jié)果并將過(guò)程中的問(wèn)題信息寫(xiě)入文檔中。
S7:在Subsystem中搜索第c條用例中所有待觀(guān)測(cè)信號(hào)命名相同的對(duì)象。在搜索的過(guò)程中,需要考慮模型軟件中某些特殊的模塊對(duì)信號(hào)名稱(chēng)格式的修改,例如,當(dāng)信號(hào)通過(guò)Bus Creator模塊封裝成總線(xiàn)類(lèi)型后在通過(guò)Bus Selector模塊重新引出時(shí),信號(hào)線(xiàn)的名稱(chēng)前后分別被自動(dòng)加上了“<”和“>”。
S8:針對(duì)所有待觀(guān)測(cè)信號(hào),判斷搜索結(jié)果中是否有且只有一個(gè)對(duì)象的名稱(chēng)與測(cè)試用例相應(yīng)待觀(guān)測(cè)信號(hào)命名相同。對(duì)于較復(fù)雜的模型,一般需要多個(gè)程序員共同完成,雖然有命名規(guī)則來(lái)規(guī)范程序員對(duì)信號(hào)的命名,但是不能完全保證不存在重命名信號(hào),所以需要對(duì)搜索結(jié)果進(jìn)行分析。
S9:如果部分待觀(guān)測(cè)信號(hào)在Subsystem中沒(méi)有搜索到相應(yīng)的對(duì)象,則表示不能對(duì)這些信號(hào)的正確性進(jìn)行判斷,那么將該條用例劃為不通過(guò)的一類(lèi)中,以便提示測(cè)試人員排查問(wèn)題后重新測(cè)試。
S10:判斷搜索結(jié)果中是否至少只有一個(gè)對(duì)象的名稱(chēng)與測(cè)試用例相應(yīng)待觀(guān)測(cè)信號(hào)命名相同。如果有,則執(zhí)行該測(cè)試用例,并對(duì)存在的待觀(guān)測(cè)信號(hào)結(jié)果進(jìn)行分析,如果沒(méi)有,則執(zhí)行下一條測(cè)試用例。
S11:將在Subsystem沒(méi)有搜索到相應(yīng)對(duì)象的待觀(guān)測(cè)信號(hào)記錄到文檔中,以便提示測(cè)試人員。
S12:對(duì)搜索出來(lái)與待觀(guān)測(cè)信號(hào)命名相同的對(duì)象進(jìn)行屬性配置,使其能夠記錄仿真過(guò)程數(shù)據(jù),用于仿真結(jié)束后自動(dòng)分析。
S13:對(duì)所有對(duì)象的屬性配置完成之后,自動(dòng)開(kāi)始仿真模型軟件。
S14:模型軟件仿真完成之后,將所有屬性被修改過(guò)的對(duì)象重新復(fù)原。
S15:將仿真結(jié)果中的所有信號(hào)與預(yù)期結(jié)果中相應(yīng)信號(hào)進(jìn)行對(duì)比分析判斷是否正確。相同名稱(chēng)的兩個(gè)信號(hào)所包含的兩組數(shù)據(jù)作差,差值在一定范圍內(nèi)則認(rèn)為是正確的,否則判定為錯(cuò)誤的。對(duì)于有時(shí)序要求的數(shù)據(jù),作差時(shí)需要考慮相同時(shí)刻的數(shù)據(jù)作差,否則會(huì)存在對(duì)結(jié)果的誤判。
S16:判定所有待觀(guān)測(cè)信號(hào)是否都被分析并且結(jié)果都正確。
S17:如果所有待觀(guān)測(cè)信號(hào)都被分析并且結(jié)果都正確,則該條測(cè)試通過(guò)。
S18:如果有待觀(guān)測(cè)信號(hào)未被分析或者結(jié)果中存在不正確的,則該條測(cè)試不通過(guò)。
S19:模型軟件仿真結(jié)束后將導(dǎo)致測(cè)試未通過(guò)的信號(hào)寫(xiě)入文檔中待測(cè)試人員有針對(duì)性的分析。
請(qǐng)參考圖3,圖3為本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析裝置的結(jié)構(gòu)示意圖,該裝置包括:
搜索模塊101,用于在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù);
仿真模塊102,用于對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真;
記錄模塊103,用于利用待觀(guān)測(cè)信號(hào)中所配置的屬性參數(shù)記錄模型軟件的仿真結(jié)果;
比對(duì)模塊104,用于將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試用例不通過(guò)。
基于上述裝置,具體的,搜索模塊包括:
選擇單元,用于選擇待觀(guān)測(cè)信號(hào)所在的子系統(tǒng)Subsystem;
查找單元,用于在子系統(tǒng)Subsystem中查找到與待觀(guān)測(cè)信號(hào)命名相同的對(duì)象;
配置單元,用于對(duì)所述對(duì)象進(jìn)行屬性配置。
進(jìn)一步的,所述仿真模塊包括:
判斷單元,用于針對(duì)所有待觀(guān)測(cè)信號(hào),判斷搜索結(jié)果中是否至少有一個(gè)對(duì)象的名稱(chēng)與測(cè)試用例對(duì)應(yīng)的待觀(guān)測(cè)信號(hào)命名相同,若是,執(zhí)行測(cè)試用例;
仿真單元,用于調(diào)用測(cè)試用例,仿真模型軟件。
進(jìn)一步的,所述裝置還包括:
寫(xiě)入模塊,用于將導(dǎo)致測(cè)試未通過(guò)的待觀(guān)測(cè)信號(hào)寫(xiě)入文檔中
綜上,本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析方法及裝置,在模型軟件中搜索待觀(guān)測(cè)信號(hào),對(duì)待觀(guān)測(cè)信號(hào)配置屬性參數(shù);對(duì)待觀(guān)測(cè)信號(hào)執(zhí)行測(cè)試用例,完成模型軟件的仿真;利用待觀(guān)測(cè)信號(hào)中所配置的屬性參數(shù)記錄模型軟件的仿真結(jié)果;將仿真結(jié)果與測(cè)試用例的預(yù)期結(jié)果進(jìn)行比對(duì),若不一致,則測(cè)試用例不通過(guò)??梢?jiàn),在模型軟件中搜索需要觀(guān)測(cè)的信號(hào)并設(shè)置屬性使其在模型仿真時(shí)記錄仿真結(jié)果數(shù)據(jù),仿真結(jié)束后對(duì)這些信號(hào)與測(cè)試用例的預(yù)期結(jié)果進(jìn)行對(duì)比,不一致則測(cè)試不通過(guò),如此采用自動(dòng)分析不僅能夠保證對(duì)結(jié)果分析的正確性,還能夠大幅提高測(cè)試效率。
以上對(duì)本發(fā)明所提供的一種模型軟件測(cè)試結(jié)果分析方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。