本發(fā)明軟件測試技術領域,尤其涉及一種軟件測試方法及系統(tǒng)。
背景技術:
在軟件測試中,尤其是接口測試,被測試接口的版本會根據(jù)項目進度,版本發(fā)生變化,而在測試中需要對不同版本的被測試接口進行測試,每次運行所述被測試接口時,都要對所述被測試接口進行配置,由于被測試接口版本的更新,對應版本的配置也會發(fā)生變化,但是測試系統(tǒng)中關于所述被測試接口的配置都是一次性的,導致當用到被測試接口的以前的版本時,也得重新進行配置,測試效率低。
技術實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種軟件測試方法及系統(tǒng),旨在提高測試效率。
為實現(xiàn)上述目的,本發(fā)明提供的一種軟件測試方法包括以下步驟:
接收用戶選擇所要運行的被測試接口的版本,作為第一版本;
根據(jù)所述第一版本,通過版本與配置信息對應關系表獲取所述第一版本對應的第一配置;
根據(jù)所述第一配置運行所述第一版本的所述被測試接口。
優(yōu)選地,還包括:
生成第一可視化界面,所述第一可視化界面包括配置參數(shù)的輸入框,所述配置參數(shù)為所述被測試接口的第二版本的配置參數(shù);
接收從所述第一可視化界面獲取的所述第二版本的配置參數(shù),并添加所述第二版本的配置參數(shù)與所述第二版本的對應關系至所述對應關系表。
優(yōu)選地,還包括:
接收用戶輸入訪問所述被測試接口的預設模板,并保存所述預設模板;
當接收到終端發(fā)送的獲取所述預設模板的請求時,為該終端返回所述預設模板。
優(yōu)選地,在所述接收用戶輸入訪問所述被測試接口的預設模板之后包括:
使用所述預設模板對所述被測試接口進行訪問;
生成第二可視化界面,所述第二可視化界面包括使用所述預設模板訪問所述被測試接口的返回值。
優(yōu)選地,所述接收從所述第一可視化界面獲取的所述第二版本的配置參數(shù),并添加所述第二版本的配置參數(shù)與所述第二版本的對應關系至所述對應關系表包括:
判斷所述被測試接口是否為超文本傳輸協(xié)議HTTP接口;
當所述被測試接口為HTTP接口時,則生成第三可視化界面,所述第三可視化界面用于接收用戶輸入的證書文件的配置。
優(yōu)選地,所述根據(jù)所述第一配置運行所述第一版本的所述被測試接口包括:
設置所述被測試接口的部分代碼為可替換代碼;
接收用戶從多個所述可替換代碼中選擇的第一可替換代碼;
使用所述第一可替換代碼運行所述被測試接口。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種軟件測試系統(tǒng),軟件測試系統(tǒng)包括:
第一接收模塊,用于接收用戶選擇所要運行的被測試接口的版本為所述第一版本;
獲取模塊,用于根據(jù)所述第一版本,通過版本與配置信息對應關系表獲取所述第一版本對應的第一配置;
運行模塊,用于根據(jù)所述第一配置運行所述第一版本的所述被測試接口。
優(yōu)選地,還包括:
生成模塊,用于生成第一可視化界面,所述第一可視化界面包括配置參數(shù)的輸入框,所述配置參數(shù)為所述被測試接口的第二版本的配置參數(shù);
第二接收模塊,用于接收從所述第一可視化界面獲取的所述第二版本的配置參數(shù),并添加所述第二版本的配置參數(shù)與所述第二版本的對應關系至所述對應關系表。
優(yōu)選地,還包括:
第一模板模塊,用于接收用戶輸入訪問所述被測試接口的預設模板,并保存所述預設模板;
第二模板模塊,用于當接收到終端發(fā)送的獲取所述預設模板的請求時,為該終端返回所述預設模板。
優(yōu)選地,所述第一模板模塊包括:
第三模板模塊,用于使用所述預設模板對所述被測試接口進行訪問;
第四模板模塊,用于生成第二可視化界面,所述第二可視化界面包括使用所述預設模板訪問所述被測試接口的返回值。
優(yōu)選地,所述第二接收模塊包括:
判斷單元,用于判斷所述被測試接口是否為超文本傳輸協(xié)議HTTP接口;
證書單元,用于當所述被測試接口為HTTP接口時,生成第三可視化界面,所述第三可視化界面用于接收用戶輸入的證書文件的配置。
優(yōu)選地,所述運行模塊包括:
設置單元,用于設置所述被測試接口的部分代碼為可替換代碼;
接收單元,用于接收用戶從多個所述可替換代碼中選擇的第一可替換代碼;
運行單元,用于使用所述第一可替換代碼運行所述被測試接口。
本發(fā)明通過接收用戶選擇所要運行的被測試接口的版本,作為第一版本;根據(jù)所述第一版本,通過版本與配置信息對應關系表獲取所述第一版本對應的第一配置;根據(jù)所述第一配置運行所述第一版本的所述被測試接口。通過根據(jù)版本與配置信息對應關系,使得用戶在運行所述被測試接口時,只需配置一次,即使所述被測試接口的版本變化,系統(tǒng)能自動為用戶根據(jù)以前的配置對所述被測試接口進行配置,避免了用戶重復進行配置,提高了測試效率。
附圖說明
圖1為本發(fā)明軟件測試方法第一實施例的流程示意圖;
圖2為本發(fā)明軟件測試方法第二實施例中從第一可視化界面獲取用戶輸入的配置參數(shù),并添加配置參數(shù)與版本對應關系的細化流程示意圖;
圖3為本發(fā)明軟件測試方法第三實施例中生成預設模板和向用戶返回預設模板的細化流程示意圖;
圖4為本發(fā)明軟件測試方法第四實施例中生成預設模板和向用戶返回預設模板的細化流程示意圖;
圖5為本發(fā)明軟件測試方法第五實施例中為被測試接口提供證書文件配置的細化流程示意圖;
圖6為本發(fā)明軟件測試方法第六實施例中替換被測試代碼部分可替換代碼的細化流程示意圖;
圖7為本發(fā)明軟件測試系統(tǒng)第一實施例的功能模塊示意圖;
圖8為本發(fā)明軟件測試系統(tǒng)第二實施例的功能模塊示意圖;
圖9為本發(fā)明軟件測試系統(tǒng)第三實施例的功能模塊示意圖;
圖10為本發(fā)明軟件測試系統(tǒng)第四實施例的功能模塊示意圖;
圖11為本發(fā)明軟件測試系統(tǒng)第五實施例中第二接收模塊的細化功能模塊示意圖;
圖12為本發(fā)明軟件測試系統(tǒng)第六實施例中運行模塊的細化功能模塊示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種軟件測試方法,參照圖1,在本發(fā)明軟件測試方法第一實施例中,軟件測試方法包括以下步驟:
步驟S10,接收用戶選擇所要運行的被測試接口的版本,作為第一版本;
在用戶運行所述被測試接口時為用戶提供選項,使得用戶可以運行自己想要運行被測試接口的版本,需要說明的是此處所述第一版本為所述被測試接口的任一版本。
步驟S20,根據(jù)所述第一版本,通過版本與配置信息對應關系表獲取所述第一版本對應的第一配置;
所述版本與配置信息對應關系表,記錄所述被測試接口的不同版本對應的配置信息,在本實施例中所述對應關系表包括所述被測試接口的版本號和配置信息的唯一標識,更具體的所述唯一標識為系統(tǒng)為所述配置信息生成的唯一的編碼。
步驟S30,根據(jù)所述第一配置運行所述第一版本的所述被測試接口。
在本實施例中,當系統(tǒng)接收到用戶所要運行的被測試接口的版本后,所述版本為第一版本,根據(jù)所述第一版本的版本號在所述版本與配置信息對應關系中,查詢到所述配置信息的唯一編碼“P001”,根據(jù)述配置信息的唯一的編碼“P001”對應的配置信息,配置所述第一版本的被測試接口。配置完成后運行所述被測試接口。
通過根據(jù)版本與配置信息對應關系,使得用戶在運行所述被測試接口時,只需配置一次,即使所述被測試接口的版本變化,系統(tǒng)能自動為用戶根據(jù)以前的配置對所述被測試接口進行配置,避免了用戶重復進行配置,提高了測試效率。
進一步地,參照圖2,基于本發(fā)明軟件測試方法第一實施例,在本發(fā)明軟件測試方法第二實施例中,還包括:
步驟S40,生成第一可視化界面,所述第一可視化界面包括配置參數(shù)的輸入框,所述配置參數(shù)為所述被測試接口的第二版本的配置參數(shù);
使用可視化界面為用戶輸入提供了方便,用戶可以直觀的明白自己所輸入的信息具體所代表的意義,提高輸入效率。在本實施例中所述可視化界面為網(wǎng)頁,需要說明的是在有些實施例中,所述可視化界面為客戶端程序提供的可視化窗口。
步驟S50,接收從所述第一可視化界面獲取的所述第二版本的配置參數(shù),并添加所述第二版本的配置參數(shù)與所述第二版本的對應關系至所述對應關系表。
具體地,在本實施例中,用戶在對所述被測試接口進行配置時,為用戶提供一個網(wǎng)頁,使用戶在網(wǎng)頁中的表單填寫所述被測試接口的配置參數(shù),所述表單包括所述被測試接口的第二版本的版本號“B002”。當用戶提交表單后,后臺程序會為所述配置參數(shù)生成唯一的序列號“P002”,并以“P002”為代號保存所述配置參數(shù)。保存完成后,在所述對應關系表中添加版本“B002”對應配置信息“P002”。使用可視化的輸入方式讓用戶設置配置參數(shù),并在后臺通過對應關系表為所述配置參數(shù)綁定所述被測試接口的版本,使得系統(tǒng)可以追蹤到被測試接口不同版本的配置參數(shù),為用戶重用配置提供了方便。
進一步地,參照圖3,基于本發(fā)明軟件測試方法第二實施例,在本發(fā)明軟件測試方法第三實施例中,還包括:
步驟S60,接收用戶輸入訪問所述被測試接口的預設模板,并保存所述預設模板;
步驟S70,當接收到終端發(fā)送的獲取所述預設模板的請求時,為該終端返回所述預設模板。
為所述被測試接口生成標準的訪問預設模板,使得多個用戶使用所述被測試接口時,只需要向系統(tǒng)發(fā)送關于獲取所述預設模板的請求,系統(tǒng)便會自動返回所述預設模板,用戶使用所述預設模板來對所述被測試接口進行訪問,減少用戶對所述被測試接口進行訪問的編碼量,提高了測試效率;模板需要更新時,只需要更新所述預設模板,因為用戶本地沒有模板所以不需要更新用戶的模板,為多個用戶時的所述預設模板更新,提供了方便。
進一步地,參照圖4,基于本發(fā)明軟件測試方法第三實施例,在本發(fā)明軟件測試方法第四實施例中,在所述接收用戶輸入訪問所述被測試接口的預設模板之后包括:
步驟S80,使用所述預設模板對所述被測試接口進行訪問;
步驟S90,生成第二可視化界面,所述第二可視化界面包括使用所述預設模板訪問所述被測試接口的返回值。
為確保所述預設模板的正確性,在用戶完成所述預設模板的輸入后,系統(tǒng)使用所述預設模板對所述被測試接口進行測試訪問,并生成窗口顯示所述返回值,讓用戶判斷所述預設模板是否可用。在本實施例中,對所述返回值進行分析,對于JSON(一種輕量級的數(shù)據(jù)交換格式)或XML(可擴展標記語言)數(shù)據(jù),按照其數(shù)據(jù)結構進行排版顯示,使得用戶能更直觀地查看所述返回值。通過使用所述預設模板訪問所述被測試接口,并可視化展現(xiàn)返回值給用戶查看,使得用戶在第一時間能知道所述預設模板是否正確,提高了工作效率。
進一步地,參照圖5,基于本發(fā)明軟件測試方法第三實施例,在本發(fā)明軟件測試方法第五實施例中,所述接收從所述第一可視化界面獲取的所述第二版本的配置參數(shù),并添加所述第二版本的配置參數(shù)與所述第二版本的對應關系至所述對應關系表包括:
步驟S51,判斷所述被測試接口是否為超文本傳輸協(xié)議HTTP接口;
步驟S52,當所述被測試接口為HTTP接口時,則生成第三可視化界面,所述第三可視化界面用于接收用戶輸入的證書文件的配置。
通過判斷所述被測試接口的類型,自動生成第三可視化界面,使得用戶可以方便地為所述被測試接口提供證書文件配置,提高配置效率。需要說明的是,所述第三可視化界面可以為第一可視化界面的擴展,并不是每個實施例都是重新生成一個界面。
具體地,在本實施例中,所述接口類型為配置信息中的一條。在獲取所述接口類型的配置信息后,如果所述被測試接口為HHTP類型的接口,則自動在后續(xù)配置中生成第三可視化界面,所述第三可視化界面包括:證書類型、證書文件、證書密鑰等的輸入框。
進一步地,參照圖6,基于本發(fā)明軟件測試方法第一實施例,在本發(fā)明軟件測試方法第六實施例中,所述根據(jù)所述第一配置運行所述第一版本的所述被測試接口包括:
步驟31,設置所述被測試接口的部分代碼為可替換代碼;
在本實施例中,在測試時需要對被測試接口使用不同的業(yè)務處理方法進行測試,通過預設所述業(yè)務處理方法的代碼為可替換代碼,在本實施例中所述業(yè)務處理方法的數(shù)量為三個。
步驟32,接收用戶從多個所述可替換代碼中選擇的第一可替換代碼;
步驟33,使用所述第一可替換代碼運行所述被測試接口。
更具體地,用戶在網(wǎng)頁中根據(jù)提示信息在三個所述業(yè)務處理方法中選擇其中一個業(yè)務處理方法,在系統(tǒng)接收到選擇后,使用類加載器動態(tài)加載第一可替換代碼的業(yè)務處理方法,確保所述被測試接口執(zhí)行的是所述第一可替換代碼。根據(jù)用戶的選擇,動態(tài)加載部分代碼,使得用戶可以靈活選擇所述被測試接口運行的代碼,不需要為部分代碼重新編寫完整的測試接口代碼,提高了測試效率。
本發(fā)明還提供一種軟件測試系統(tǒng),請參照圖7,本發(fā)明軟件測試系統(tǒng)第一實施例包括:
第一接收模塊10,用于接收用戶選擇所要運行的被測試接口的版本,作為第一版本;
在用戶運行所述被測試接口時為用戶提供選項,使得用戶可以運行自己想要運行被測試接口的版本,需要說明的是此處所述第一版本為所述被測試接口的任一版本。
獲取模塊20,用于根據(jù)所述第一版本,通過版本與配置信息對應關系表獲取所述第一版本對應的第一配置;
所述版本與配置信息對應關系表,記錄所述被測試接口的不同版本對應的配置信息,在本實施例中所述對應關系表包括所述被測試接口的版本號和配置信息的唯一標識,更具體的所述唯一標識為系統(tǒng)為所述配置信息生成的唯一的編碼。
運行模塊30,用于根據(jù)所述第一配置運行所述第一版本的所述被測試接口。
在本實施例中,當?shù)谝唤邮漳K10接收到用戶所要運行的被測試接口的版本后,所述版本為第一版本,獲取模塊20根據(jù)所述第一版本的版本號在所述版本與配置信息對應關系中,查詢到所述配置信息的唯一編碼“P001”,運行模塊30根據(jù)述配置信息的唯一的編碼“P001”對應的配置信息,配置所述第一版本的被測試接口。配置完成后運行所述被測試接口。
通過建立版本與配置信息對應關系,使得用戶在運行所述被測試接口時,只需配置一次,即使所述被測試接口的版本變化,系統(tǒng)能自動為用戶根據(jù)以前的配置對所述被測試接口進行配置,避免了用戶重復進行配置,提高了測試效率。
進一步地,參照圖8,基于本發(fā)明軟件測試系統(tǒng)第一實施例,在本發(fā)明軟件測試系統(tǒng)第二實施例中,還包括:
生成模塊40,用于生成第一可視化界面,所述第一可視化界面包括配置參數(shù)的輸入框,所述配置參數(shù)為所述被測試接口的第二版本的配置參數(shù);
使用可視化界面為用戶輸入提供了方便,用戶可以直觀的明白自己所輸入的信息具體所代表的意義,提高輸入效率。在本實施例中所述可視化界面為網(wǎng)頁,需要說明的是在有些實施例中,所述可視化界面為客戶端程序提供的可視化窗口。
第二接收模塊50,用于接收從所述第一可視化界面獲取的所述第二版本的配置參數(shù),并添加所述第二版本的配置參數(shù)與所述第二版本的對應關系至所述對應關系表。
具體地,在本實施例中,用戶在對所述被測試接口進行配置時,生成模塊40為用戶提供一個網(wǎng)頁,使用戶在網(wǎng)頁中的表單填寫所述被測試接口的配置參數(shù),所述表單包括所述被測試接口的第二版本的版本號“B002”。當用戶提交表單后,第二接收模塊50會為所述配置參數(shù)生成唯一的序列號“P002”,并以“P002”為代號保存所述配置參數(shù)。保存完成后,在所述對應關系表中添加版本“B002”對應配置信息“P002”。使用可視化的輸入方式讓用戶設置配置參數(shù),并在后臺通過對應關系表為所述配置參數(shù)綁定所述被測試接口的版本,使得系統(tǒng)可以追蹤到被測試接口不同版本的配置參數(shù),為用戶重用配置提供了方便。
進一步地,參照圖9,基于本發(fā)明軟件測試系統(tǒng)第二實施例,在本發(fā)明軟件測試系統(tǒng)第三實施例中,還包括:
第一模板模塊60,用于接收用戶輸入訪問所述被測試接口的預設模板,并保存所述預設模板;
第二模板模塊70,用于當接收到終端發(fā)送的獲取所述預設模板的請求時,為該終端返回所述預設模板。
第一模板模塊60通過用戶的輸入信息為所述被測試接口生成標準的訪問預設模板,使得多個用戶使用所述被測試接口時,只需要向系統(tǒng)發(fā)送關于獲取所述預設模板的請求,第二模板模塊70便會自動返回所述預設模板,用戶使用所述預設模板來對所述被測試接口進行訪問,減少用戶對所述被測試接口進行訪問的編碼量,提高了測試效率;模板需要更新時,只需要更新所述預設模板,因為用戶本地沒有模板所以不需要更新用戶的模板,為多個用戶時的所述預設模板更新,提供了方便。
進一步地,參照圖10,基于本發(fā)明軟件測試系統(tǒng)第三實施例,在本發(fā)明軟件測試系統(tǒng)第四實施例中,所述第一模板模塊包括::
第三模板模塊80,用于使用所述預設模板對所述被測試接口進行訪問;
第四模板模塊90,用于生成第二可視化界面,所述第二可視化界面包括使用所述預設模板訪問所述被測試接口的返回值。
為確保所述預設模板的正確性,在用戶完成所述預設模板的輸入后,第三模板模塊80使用所述預設模板對所述被測試接口進行測試訪問,第四模板模塊90生成窗口顯示所述返回值,讓用戶判斷所述預設模板是否可用。在本實施例中,對所述返回值進行分析,對于JSON(一種輕量級的數(shù)據(jù)交換格式)或XML(可擴展標記語言)數(shù)據(jù),按照其數(shù)據(jù)結構進行排版顯示,使得用戶能更直觀地查看所述返回值。通過使用所述預設模板訪問所述被測試接口,并可視化展現(xiàn)返回值給用戶查看,使得用戶在第一時間能知道所述預設模板是否正確,提高了工作效率。
進一步地,參照圖11,基于本發(fā)明軟件測試系統(tǒng)第三實施例,在本發(fā)明軟件測試系統(tǒng)第五實施例中,所述第二接收模塊包括:
判斷單元51,用于判斷所述被測試接口是否為超文本傳輸協(xié)議HTTP接口;
證書單元52,用于當所述被測試接口為HTTP接口時,生成第三可視化界面,所述第三可視化界面用于接收用戶輸入的證書文件的配置。
通過判斷所述被測試接口的類型,自動生成第三可視化界面,使得用戶可以方便地為所述被測試接口提供證書文件配置,提高配置效率。需要說明的是,所述第三可視化界面可以為第一可視化界面的擴展,并不是每個實施例都是重新生成一個界面。
具體地,在本實施例中,所述接口類型為配置信息中的一條。在獲取所述接口類型的配置信息后,如果判斷單元51判斷所述被測試接口為HHTP類型的接口,則證書單元52在后續(xù)配置中生成第三可視化界面,所述第三可視化界面包括:證書類型、證書文件、證書密鑰等的輸入框。
進一步地,參照圖12,基于本發(fā)明軟件測試系統(tǒng)第一實施例,在本發(fā)明軟件測試系統(tǒng)第六實施例中,所述運行模塊包括:
設置單元31,用于設置所述被測試接口的部分代碼為可替換代碼;
在本實施例中,在測試時需要對被測試接口使用不同的業(yè)務處理方法進行測試,通過預設所述業(yè)務處理方法的代碼為可替換代碼,在本實施例中所述業(yè)務處理方法的數(shù)量為三個。
接收單元32,用于接收用戶從多個所述可替換代碼中選擇的第一可替換代碼;
運行單元33,用于使用所述第一可替換代碼運行所述被測試接口。
更具體地,用戶在網(wǎng)頁中根據(jù)提示信息在三個所述業(yè)務處理方法中選擇其中一個業(yè)務處理方法,在設置單元31接收到選擇后,運行單元33使用類加載器動態(tài)加載第一可替換代碼的業(yè)務處理方法,確保所述被測試接口執(zhí)行的是所述第一可替換代碼。根據(jù)用戶的選擇,動態(tài)加載部分代碼,使得用戶可以靈活選擇所述被測試接口運行的代碼,不需要為部分代碼重新編寫完整的測試接口代碼,提高了測試效率。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。