生成測(cè)試用例的方法和裝置、測(cè)試方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試技術(shù)領(lǐng)域,特別是涉及一種生成測(cè)試用例的方法和一種生成測(cè)試用例的裝置、一種測(cè)試腳本客戶端和一種測(cè)試方法。
【背景技術(shù)】
[0002]單元測(cè)試是在軟件開發(fā)完成后,由開發(fā)人員根據(jù)邏輯覆蓋、代碼覆蓋、初始值、臨界值、期望值等條件,編寫對(duì)軟件代碼的測(cè)試代碼,用以檢測(cè)軟件代碼的正確性,從而幫助開發(fā)人員發(fā)現(xiàn)問題、提高軟件質(zhì)量。
[0003]目前比較常見的單元測(cè)試方法有兩種:一種是插粧法,其在被測(cè)試代碼中增加檢測(cè)點(diǎn),監(jiān)控被測(cè)試代碼的運(yùn)行結(jié)果;另一種是服務(wù)器/客戶端模型方法,其在測(cè)試端接收被測(cè)試代碼發(fā)出的數(shù)據(jù),來監(jiān)控被測(cè)試代碼的執(zhí)行情況;其中,服務(wù)器/客戶端模型方法相對(duì)于插粧法能夠保持被測(cè)試代碼的完整性,因而得到了廣泛的應(yīng)用。
[0004]測(cè)試用例指為單元測(cè)試的特定目標(biāo)而開發(fā)的一組測(cè)試輸入、執(zhí)行條件和預(yù)期結(jié)果。目前在進(jìn)行測(cè)試時(shí)通常由測(cè)試人員來人工編碼測(cè)試用例,編寫測(cè)試用例的測(cè)試人員不僅需要懂得被測(cè)試代碼的設(shè)計(jì)原則,而且還需要能讀懂被測(cè)試代碼,因此提高了對(duì)測(cè)試人員技能的要求,這無疑增加了編寫時(shí)間。
[0005]并且,目前在很多種模塊測(cè)試的方案中,在被測(cè)試代碼編寫完成后再編寫測(cè)試用例,而測(cè)試用例的編寫有時(shí)需要參考具體的實(shí)現(xiàn),這容易導(dǎo)致編寫的測(cè)試用例與被測(cè)試代碼的不一致,無法起到很好的測(cè)試效果。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種生成測(cè)試用例的方法,降低了生成測(cè)試用例的門檻和復(fù)雜性,從而縮短了測(cè)試用例的編寫時(shí)間。
[0007]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種生成測(cè)試用例的裝置、一種測(cè)試腳本客戶端和一種測(cè)試方法,用以保證上述方法的實(shí)現(xiàn)及應(yīng)用。
[0008]為了解決上述問題,本發(fā)明公開了一種生成測(cè)試用例的方法,包括:
[0009]根據(jù)待測(cè)代碼的接口文檔所定義消息的數(shù)據(jù)結(jié)構(gòu),生成消息模板;
[0010]根據(jù)測(cè)試用例的設(shè)計(jì)在excel表格中列出消息及消息的配置;
[0011]調(diào)用所述excel表格中的VBA腳本,將所述消息與所述消息模板的副本進(jìn)行鏈接;
[0012]根據(jù)所述消息的配置生成所述測(cè)試用例的配置文件;
[0013]在所述消息模板的副本中填寫所述消息的內(nèi)容。
[0014]另一方面,本發(fā)明還公開了一種生成測(cè)試用例的裝置,包括:
[0015]模板生成模塊,用于根據(jù)待測(cè)代碼的接口文檔所定義消息的數(shù)據(jù)結(jié)構(gòu),生成消息模板;
[0016]消息列出模塊,用于根據(jù)測(cè)試用例的設(shè)計(jì)在excel表格中列出消息及消息的配置;
[0017]鏈接模塊,用于調(diào)用所述excel表格中的VBA腳本,將所述消息與所述消息模板的副本進(jìn)行鏈接;
[0018]文件生成模塊,用于根據(jù)所述消息的配置生成所述測(cè)試用例的配置文件;以及
[0019]內(nèi)容填寫模塊,用于在所述消息模板的副本中填寫所述消息的內(nèi)容。
[0020]再一方面,本發(fā)明還公開了一種測(cè)試腳本客戶端,包括:前述的生成測(cè)試用例的裝置、連接建立裝置、消息轉(zhuǎn)換裝置、發(fā)送裝置、接收裝置和檢查裝置;
[0021]其中,所述生成測(cè)試用例的裝置,用于生成測(cè)試用例的配置文件;其中,所述配置文件中消息鏈接有消息模板的副本;
[0022]所述連接建立裝置,用于建立與測(cè)試代理服務(wù)器的連接;
[0023]所述消息轉(zhuǎn)換裝置,用于讀取所述配置文件中消息鏈接的消息模板的副本,將其轉(zhuǎn)換為消息序列;其中,所述消息序列包括:輸入消息序列和輸出消息序列;
[0024]所述發(fā)送裝置,用于向所述測(cè)試代理服務(wù)器發(fā)送所述輸入消息序列;
[0025]所述接收裝置,用于接收所述測(cè)試代理服務(wù)器返回的測(cè)試消息內(nèi)容;
[0026]所述檢查裝置,用于檢查所述測(cè)試消息內(nèi)容是否符合所述輸出消息序列中規(guī)定的次序,若是,則檢查所述測(cè)試消息內(nèi)容是否與所述輸出消息序列一致,若是,則所述測(cè)試用例通過,否則所述測(cè)試用例不通過。
[0027]又一方面,本發(fā)明還公開了一種測(cè)試方法,應(yīng)用于測(cè)試腳本客戶端,包括:
[0028]使用前述的生成測(cè)試用例的方法,生成測(cè)試用例的配置文件;其中,所述配置文件中消息鏈接有消息模板的副本;
[0029]建立與測(cè)試代理服務(wù)器的連接;
[0030]讀取所述配置文件中消息鏈接的消息模板的副本,將其轉(zhuǎn)換為消息序列;其中,所述消息序列包括:輸入消息序列和輸出消息序列;
[0031]向所述測(cè)試代理服務(wù)器發(fā)送所述輸入消息序列;
[0032]接收所述測(cè)試代理服務(wù)器返回的測(cè)試消息內(nèi)容;
[0033]檢查所述測(cè)試消息內(nèi)容是否符合所述輸出消息序列中規(guī)定的次序,若是,則檢查所述測(cè)試消息內(nèi)容是否與所述輸出消息序列一致,若是,則所述測(cè)試用例通過,否則所述測(cè)試用例不通過。
[0034]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0035]本發(fā)明實(shí)施例在編寫測(cè)試用例的過程中,只需根據(jù)測(cè)試用例的設(shè)計(jì)在excel表格中列出消息及消息的配置,以及在消息模板的副本中填寫所述消息的內(nèi)容,就可以完成測(cè)試用例的編寫;由于所述消息模板可采用易于人閱讀和編寫的數(shù)據(jù)交換語言,故本發(fā)明實(shí)施例無需過多的編程經(jīng)驗(yàn)以及對(duì)被測(cè)代碼的了解,因此降低了生成測(cè)試用例的門檻和復(fù)雜性,從而縮短了測(cè)試用例的編寫時(shí)間;并且,本發(fā)明實(shí)施例的測(cè)試用例僅僅依賴于接口文檔,因此和被測(cè)代碼編寫是相互獨(dú)立的,因此不會(huì)依賴于代碼實(shí)現(xiàn),真正做到實(shí)現(xiàn)無關(guān),增強(qiáng)了測(cè)試的有效性。
【附圖說明】
[0036]圖1是本申請(qǐng)實(shí)施例一提供的一種生成測(cè)試用例的方法的步驟流程圖;
[0037]圖2是本發(fā)明的一種在excel表格中定義測(cè)試用例的消息的示例;
[0038]圖3是本申請(qǐng)實(shí)施例二提供的一種生成測(cè)試用例的方法的步驟流程圖;
[0039]圖4是本發(fā)明的一種在excel表格中定義測(cè)試用例的消息的示例;
[0040]圖5是本申請(qǐng)實(shí)施例提供的生成測(cè)試用例的裝置實(shí)施例一的結(jié)構(gòu)圖;
[0041]圖6是本申請(qǐng)實(shí)施例提供的生成測(cè)試用例的裝置實(shí)施例二的結(jié)構(gòu)圖;
[0042]圖7是本申請(qǐng)實(shí)施例提供的生成測(cè)試用例的裝置實(shí)施例三的結(jié)構(gòu)圖;
[0043]圖8是本申請(qǐng)實(shí)施例提供的測(cè)試系統(tǒng)實(shí)施例的結(jié)構(gòu)圖;
[0044]圖9是本申請(qǐng)實(shí)施例提供的測(cè)試腳本客戶端實(shí)施例的結(jié)構(gòu)圖;
[0045]圖10是本申請(qǐng)實(shí)施例提供的測(cè)試代理服務(wù)器實(shí)施例的結(jié)構(gòu)圖;
[0046]圖11是本申請(qǐng)實(shí)施例提供的服務(wù)裝置1001的結(jié)構(gòu)圖;
[0047]圖12是本申請(qǐng)實(shí)施例提供的解析裝置1002的結(jié)構(gòu)圖;
[0048]圖13是本申請(qǐng)實(shí)施例提供的一種測(cè)試方法實(shí)施例的流程圖;以及
[0049]圖14是本申請(qǐng)實(shí)施例提供的一種測(cè)試方法實(shí)施例的流程圖。
【具體實(shí)施方式】
[0050]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0051]生成方法實(shí)施例一
[0052]參照?qǐng)D1,給出了本申請(qǐng)實(shí)施例一提供的一種生成測(cè)試用例的方法的步驟流程圖,具體可以包括如下步驟:
[0053]步驟101、根據(jù)待測(cè)代碼的接口文檔所定義消息的數(shù)據(jù)結(jié)構(gòu),生成消息模板;
[0054]本發(fā)明實(shí)施例可以應(yīng)用于單元測(cè)試中,用于縮短單元測(cè)試中測(cè)試用例的編寫時(shí)間,從而減小對(duì)應(yīng)的測(cè)試成本。
[0055]在單元測(cè)試中,測(cè)試用例具體可以包括:一個(gè)或多個(gè)檢查點(diǎn)的測(cè)試向量,測(cè)試向量本質(zhì)上由消息及消息的配置組成的,而接口文檔中會(huì)定義有測(cè)試所需消息的數(shù)據(jù)結(jié)構(gòu),故可以依據(jù)這些數(shù)據(jù)結(jié)構(gòu)生成測(cè)試用例對(duì)應(yīng)的消息模板,其中,上述接口文檔通常屬于被測(cè)代碼的設(shè)計(jì)文檔的一部分,上述生成過程用于將接口文檔轉(zhuǎn)換為易于機(jī)器解析的消息模板,上述消息模板可以采用易于機(jī)器解析的語言描述。
[0056]在具體實(shí)現(xiàn)中,可以解析接口文檔,獲取相應(yīng)消息的數(shù)據(jù)結(jié)構(gòu)并轉(zhuǎn)換為標(biāo)準(zhǔn)的JSON(JavaScript對(duì)象表示法,JavaScript Object Notat1n)格式的消息模板;其中,JSON格式為理想的數(shù)據(jù)交換語言,既易于人閱讀和編寫,同時(shí)也