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