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