欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種接口自動化測試方法及裝置制造方法

文檔序號:6637048閱讀:389來源:國知局
一種接口自動化測試方法及裝置制造方法
【專利摘要】本申請公開了一種接口自動化測試方法及裝置,該方法測試設(shè)備在待測接口的程序中,確定不影響接口的返回值的代碼段,并針對該代碼段生成測試腳本,然后,執(zhí)行該測試腳本,以獲取待測接口的返回值和與該代碼段對應(yīng)的日志,再判斷獲取的返回值和日志是否符合預設(shè)結(jié)果,若是,則確定待測接口工作正常,否則,確定待測接口工作不正常。通過上述方法,由于測試設(shè)備除了校驗返回值是否正確之外,還通過日志校驗了待測接口的程序中,不影響該接口的返回值的代碼段是否工作正常,因此,測試設(shè)備可以準確地測試待測接口。
【專利說明】一種接口自動化測試方法及裝置

【技術(shù)領(lǐng)域】
[0001] 本申請涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種接口自動化測試方法及裝置。

【背景技術(shù)】
[0002] 目前,隨著自動化測試技術(shù)在測試領(lǐng)域中的廣泛應(yīng)用,測試工程師可以將很多機 械重復的手工測試工作交給自動化測試平臺完成,節(jié)省了人力,也提高了測試效率。
[0003] 在測試領(lǐng)域中,接口測試主要用于校驗待測系統(tǒng)與外部系統(tǒng)之間、以及待測系統(tǒng) 內(nèi)部的各個子系統(tǒng)之間的接口是否能夠正常工作,具體的,要校驗接口兩側(cè)數(shù)據(jù)的交換、傳 遞和控制管理過程,以及系統(tǒng)間相互的邏輯依賴關(guān)系是否與符合設(shè)計預期。由于接口相對 于其他的業(yè)務(wù)邏輯,待測試數(shù)據(jù)量大,且測試需求穩(wěn)定,變更較少,因此,自動化測試技術(shù)很 適用于接口測試。
[0004] 在現(xiàn)有技術(shù)中,基于自動化測試平臺,對接口的測試主要包括以下三個方面:
[0005] 1、對輸入?yún)?shù)的完整性校驗,即輸入?yún)?shù)是否包含了所有必要參數(shù);
[0006] 2、對輸入?yún)?shù)的功能性校驗,即針對所有的有效輸入?yún)?shù),校驗接口的功能是否 符合設(shè)計預期;
[0007] 3、接口的容錯能力,即針對無效的或錯誤的輸入?yún)?shù),接口是否能夠正常返回結(jié) 果,并給出有意義的錯誤消息,以幫助調(diào)用方定位問題。
[0008] 以上的測試,都以接口的返回值是否符合設(shè)計預期作為評判標準。但是,在接口的 程序中,可能會存在不影響該接口的返回值的代碼段,也即,無論該代碼段是否工作正常, 都不會改變該接口的返回值(可能都會返回正確的返回值)。因此,在這種情況下,基于返 回值無法判斷該代碼段是否工作正常,從而,也無法準確地測試該接口。
[0009] 例如,假定某接口預期的功能是在接收一個有效的輸入?yún)?shù)后,返回該輸入?yún)?shù) 的階乘值,并將該階乘值寫入數(shù)據(jù)庫(寫庫)。當負責計算階乘值的代碼段工作正常時,該 接口能正確返回輸入?yún)?shù)的階乘值,而此時負責寫庫的代碼段可能工作不正常,會寫入錯 誤的階乘值或?qū)憥焓?。則在現(xiàn)有的接口自動化測試方法下,根據(jù)返回的階乘值,會判斷該 接口工作正常,而實際上該接口工作不正常,也即,無法準確地測試該接口。


【發(fā)明內(nèi)容】

[0010] 本申請實施例提供一種接口自動化測試方法及裝置,用以解決現(xiàn)有技術(shù)中當接口 的程序中存在不影響該接口的返回值的代碼段時,基于返回值無法正確地測試該接口的問 題。
[0011] 本申請實施例提供的一種接口自動化測試方法,包括:
[0012] 在待測接口的程序中,確定需進行日志校驗的代碼段;
[0013] 針對所述代碼段生成測試腳本;
[0014] 執(zhí)行所述測試腳本,以獲取所述待測接口的返回值和與所述代碼段對應(yīng)的日志;
[0015] 判斷獲取的返回值和日志是否符合預設(shè)結(jié)果;
[0016] 若是,則確定所述待測接口工作正常;
[0017] 否則,確定所述待測接口工作不正常。
[0018] 本申請實施例提供的一種接口自動化測試裝置,包括:
[0019] 確定模塊,用于在待測接口的程序中,確定需進行日志校驗的代碼段;
[0020] 第一生成模塊,用于針對所述代碼段生成測試腳本;
[0021] 獲取模塊,用于執(zhí)行所述測試腳本,以獲取所述待測接口的返回值和與所述代碼 段對應(yīng)的日志;
[0022] 判斷模塊,用于判斷獲取的返回值和日志是否符合預設(shè)結(jié)果,若是,則確定所述待 測接口工作正常,否則,確定所述待測接口工作不正常。
[0023] 本申請實施例提供一種接口自動化測試方法及裝置,該方法測試設(shè)備在待測接口 的程序中,確定不影響待測接口的返回值的代碼段,并針對該代碼段生成測試腳本,然后, 執(zhí)行該測試腳本,以獲取待測接口的返回值和與該代碼段對應(yīng)的日志,再判斷獲取的返回 值和日志是否符合預設(shè)結(jié)果,若是,則確定待測接口工作正常,否則,確定待測接口工作不 正常。通過上述方法,由于測試設(shè)備除了校驗返回值是否正確之外,還通過日志校驗了待測 接口的程序中,不影響該接口的返回值的代碼段是否工作正常,因此,測試設(shè)備可以準確地 測試待測接口。

【專利附圖】

【附圖說明】
[0024] 此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申 請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當限定。在附圖中:
[0025] 圖1為本申請實施例提供的接口自動化測試過程;
[0026] 圖2為本申請實施例提供的接口自動化測試詳細過程;
[0027] 圖3為基于本申請實施例提供的接口自動化測試方法,可實現(xiàn)的測試工具中類的 調(diào)用關(guān)系圖;
[0028] 圖4為基于本申請實施例提供的接口自動化測試方法,可實現(xiàn)的測試工具中的核 心架構(gòu)圖;
[0029] 圖5為本申請實施例提供的接口自動化測試裝置結(jié)構(gòu)示意圖。

【具體實施方式】
[0030] 為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及 相應(yīng)的附圖對本申請技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一 部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做 出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0031] 圖1為本申請實施例提供的接口自動化測試過程,具體包括以下步驟:
[0032] SlOl :測試設(shè)備在待測接口的程序中,確定需進行日志校驗的代碼段。
[0033] 在本申請實施例中,所述的測試設(shè)備可以是基于自動化測試平臺的測試設(shè)備,所 述的待測接口可以是待測軟件接口(以下待測接口也可簡稱為接口),可由測試設(shè)備對接 口的功能和性能進行自動化測試。
[0034] 一般的,對于一個接口自動化測試工程,首先,用戶可制定測試策略,測試策略描 述了該測試過程的總體方法和目標,包括測試過程中所使用的自動化測試平臺、測試技術(shù) 和測試工具,以及在測試過程各個階段的測試任務(wù)等。然后,在對接口進行測試之前,需配 置接口,并由用戶根據(jù)接口設(shè)計文檔,預先針對接口設(shè)計相應(yīng)的測試用例和執(zhí)行該測試用 例的預期結(jié)果(測試用例的預期結(jié)果,以下稱為:預設(shè)結(jié)果),并制定測試計劃,測試計劃描 述了本次測試過程中執(zhí)行哪些測試用例、執(zhí)行的時間點、執(zhí)行的次數(shù)等,其中,測試用例和 測試計劃都可包含在所使用測試工具的配置文件中。進而,測試設(shè)備可通過該測試工具對 接口進行自動化測試,具體的,測試設(shè)備可按照用戶制定的測試計劃,自動地執(zhí)行相應(yīng)的測 試用例,并判斷接口的返回值是否符合預設(shè)結(jié)果,若是,則確定接口工作正常,否則,確定接 口工作不正常。
[0035] 但是,在接口的程序中,可包含兩類代碼段,一類是能夠影響接口的返回值的代碼 段(以下稱為返回值邏輯),另一類是不影響接口的返回值的代碼段,對于不影響接口的返 回值的代碼段,若這種代碼段工作不正常,則即使接口的返回值符合預設(shè)結(jié)果,接口也是處 于工作不正常的狀態(tài)。例如,假定在接口 A的程序中,除了包含返回值邏輯,還包含了內(nèi)部 調(diào)用另一個接口 B的附加代碼段,且該附加代碼段的執(zhí)行,并不能影響返回值邏輯執(zhí)行后 所生成的接口 A的返回值,則當返回值邏輯工作正常,而該附加代碼段工作不正常時,雖然 該返回值可能符合預設(shè)結(jié)果,但是,接口 A也是處于工作不正常的狀態(tài)。
[0036] 因此,根據(jù)上述說明,在未確定不影響接口的返回值的代碼段是否工作正常的情 況下,僅基于接口的返回值對接口進行測試的方法是不可靠的。
[0037] 在本申請實施例中,可以通過日志校驗的方式,判斷上述的代碼段是否工作正常, 則在對接口進行測試之前,測試設(shè)備可在接口的程序中,確定出需進行日志校驗的代碼段, 也即,在接口的程序的各代碼段中,確定不影響接口的返回值的代碼段,作為需進行日志校 驗的代碼段。
[0038] 另外,在接口測試中,也存在這樣的情況,即:返回值邏輯在工作不正常時,對于一 些特定輸入?yún)?shù)值,仍可以生成正確的返回值,假定測試該接口時所使用的輸入?yún)?shù)值均 包含在這些特定輸入?yún)?shù)值中,則測試設(shè)備也無法正確地測試返回值邏輯,因此,在這種情 況下,測試設(shè)備除了對不影響接口的返回值的代碼段進行日志校驗之外,還可對返回值邏 輯也進行日志校驗,從而可提高測試結(jié)果的可靠性。
[0039] S102 :針對該代碼段生成測試腳本。
[0040] 在本申請實施例中,由于后續(xù)需要確定不影響接口的返回值的代碼段是否工作正 常,因此,在確定出該代碼段后,用戶可針對該代碼段制定相應(yīng)的測試策略并配置接口,再 進一步的針對該代碼段設(shè)計相關(guān)的測試用例,以及制定相應(yīng)的測試計劃。其中,所述的配 置接口具體包括:配置接口傳遞數(shù)據(jù)采用的方法,如GET方法(不隱藏用戶標識和用戶密 碼)、P0ST方法(隱藏用戶標識和用戶密碼);配置接口傳遞數(shù)據(jù)采用的模式,如同步模式、 異步模式。
[0041] 此后,測試設(shè)備可根據(jù)測試計劃,通過執(zhí)行與該代碼段相關(guān)的測試用例,對該代碼 段進行測試。其中,執(zhí)行測試用例,具體可包括:測試設(shè)備對測試用例進行解析,將測試用 例中包含的針對接口的輸入?yún)?shù)值、測試邏輯等信息轉(zhuǎn)換為用腳本語言表示的代碼(也 艮P,生成測試腳本),以及后續(xù)執(zhí)行該測試腳本。其中,測試設(shè)備生成測試腳本時中所使用 的腳本語言包括但不限于:工具命令語言(Tool Command Language, TCL)、實用報表提取 語言(Practical Extraction and Report Language,PERL)、超文本預處理器(Hypertext Pr印rocessor,PHP)、PYTHON、RUBY 等腳本語言。
[0042] S103 :執(zhí)行該測試腳本,以獲取待測接口的返回值和與該代碼段對應(yīng)的日志。
[0043] 在本申請實施例中,測試設(shè)備在執(zhí)行該測試腳本的過程中,會通過該測試腳本調(diào) 用該代碼段,或直接執(zhí)行該代碼段,并將與該代碼段相關(guān)的調(diào)用或執(zhí)行過程記錄為日志,即 為所述的該代碼段對應(yīng)的日志。其中,該日志中可包含調(diào)用或執(zhí)行該代碼段時所涉及的各 參數(shù)的取值狀態(tài)和變化過程,從而,可為后續(xù)校驗該代碼段是否工作正常提供依據(jù)。當然, 測試設(shè)備也可記錄測試腳本的完整的執(zhí)行日志,顯然,該執(zhí)行日志中包含有與該代碼段對 應(yīng)的日志。
[0044] S104:判斷獲取的返回值和日志是否符合預設(shè)結(jié)果,若是,則執(zhí)行步驟S105,否 貝1J,執(zhí)行步驟S106。
[0045] 在本申請實施例中,接口的返回值是由接口的返回值邏輯根據(jù)測試腳本中包含的 輸入?yún)?shù)值生成的,因此,測試設(shè)備在執(zhí)行完該測試腳本,獲取到接口的返回值和該代碼段 對應(yīng)的日志后,可根據(jù)預設(shè)結(jié)果,對該返回值進行校驗,以判斷返回值邏輯是否工作正常, 且測試設(shè)備同時還可根據(jù)預設(shè)結(jié)果,對獲取的與該代碼段對應(yīng)的日志進行校驗,以判斷該 代碼段是否工作正常。
[0046] S105 :確定待測接口工作正常。
[0047] S106 :確定待測接口工作不正常。
[0048] 通過上述方法,由于測試設(shè)備在對接口進行自動化測試時,除了通過返回值校驗 了接口的返回值邏輯是否工作正常之外,還通過日志校驗了接口的程序中,不影響該接口 的返回值的代碼段是否工作正常,因此,測試設(shè)備可以準確地測試接口。
[0049] 在本申請實施例中,對于上述步驟SlOl,測試設(shè)備在接口的程序中,確定需進行日 志校驗的代碼段,具體包括:測試設(shè)備在接口的程序的各代碼段中,確定不影響接口的返回 值的代碼段,作為需進行日志校驗的代碼段。在實際應(yīng)用中,測試設(shè)備或用戶可使用代碼工 具(例如Understand代碼工具)對接口的程序進行審計,生成代碼邏輯關(guān)系依賴圖,以分 析確定出接口的程序中存在的不影響接口的返回值的代碼段。
[0050] 進一步的,在對接口進行測試前,測試設(shè)備還可對使用的測試工具進行相應(yīng)的配 置,如接口所在主機的互聯(lián)網(wǎng)協(xié)議(Internet Protocol, IP)地址、端口號、對應(yīng)的數(shù)據(jù)庫連 接統(tǒng)一資源定位器(Uniform Resource Locator,URL)、用戶賬號、用戶密碼等等。其中,在 實際應(yīng)用中,可在所述的測試工具上實現(xiàn)本申請實施例中所述的方法,則測試設(shè)備在測試 接口時,可通過使用該測試工具執(zhí)行所述的方法。
[0051] 接下來,測試設(shè)備可開始對接口進行測試,也即,測試設(shè)備可根據(jù)測試計劃,執(zhí)行 與該代碼段相關(guān)的測試用例,對于上述步驟S102,針對所述代碼段生成測試腳本,具體包 括:根據(jù)預設(shè)的與所述代碼段相關(guān)的測試用例,生成測試腳本。當然,若接口的測試場景較 少時,用戶也可不設(shè)計測試用例,而是手動編寫測試腳本并上載至測試設(shè)備上,則測試設(shè)備 可直接執(zhí)行用戶編寫的測試腳本。
[0052] 更進一步的,由于在執(zhí)行測試腳本的過程中需記錄相關(guān)的日志,而接口的程序中 一般不會包含記錄日志的程序,因此,若要記錄日志,可由測試設(shè)備在執(zhí)行測試腳本之前, 加載日志程序,其中,所述的日志程序可以由測試設(shè)備上的自動化測試平臺提供,也可由用 戶提供給測試設(shè)備使用。在本申請實施例中,對其中的一種加載日志程序的方法進行說 明:
[0053] 測試設(shè)備在執(zhí)行測試腳本之前,可向接口的程序中加入日志程序,相應(yīng)的,在上述 步驟S103中,執(zhí)行該測試腳本,以獲取與該代碼段對應(yīng)的日志,具體包括:執(zhí)行該測試腳 本,并通過該日志程序獲取與該代碼段對應(yīng)的日志。
[0054] 例如,對于某接口 A,假定接口 A內(nèi)部調(diào)用了另一個接口 B,且即使該調(diào)用過程執(zhí)行 失敗也不會影響接口 A生成正確的返回值,則可對接口 A內(nèi)部調(diào)用接口 B的代碼段進行日 志校驗,測試設(shè)備在對接口 A進行測試之前,可在接口的程序中加入日志程序,具體的,可 在接口 A內(nèi)部調(diào)用接口 B的代碼段下加入以下代碼:
[0055]

【權(quán)利要求】
1. 一種接口自動化測試方法,其特征在于,包括: 在待測接口的程序中,確定需進行日志校驗的代碼段; 針對所述代碼段生成測試腳本; 執(zhí)行所述測試腳本,以獲取所述待測接口的返回值和與所述代碼段對應(yīng)的日志; 判斷獲取的返回值和日志是否符合預設(shè)結(jié)果; 若是,則確定所述待測接口工作正常; 否則,確定所述待測接口工作不正常。
2. 如權(quán)利要求1所述的方法,其特征在于,在待測接口的程序中,確定需進行日志校驗 的代碼段,具體包括: 在待測接口的程序的各代碼段中,確定不影響所述待測接口的返回值的代碼段,作為 需進行日志校驗的代碼段。
3. 如權(quán)利要求1所述的方法,其特征在于,針對所述代碼段生成測試腳本,具體包括: 根據(jù)預設(shè)的與所述代碼段相關(guān)的測試用例,生成測試腳本。
4. 如權(quán)利要求3所述的方法,其特征在于,執(zhí)行所述測試腳本之前,所述方法還包括: 向所述待測接口的程序中加入日志程序; 執(zhí)行所述測試腳本,以獲取與所述代碼段對應(yīng)的日志,具體包括: 執(zhí)行所述測試腳本,并通過所述日志程序獲取與所述代碼段對應(yīng)的日志。
5. 如權(quán)利要求1所述的方法,其特征在于,判斷獲取的返回值和日志是否符合預設(shè)結(jié) 果之前,所述方法還包括: 生成與獲取的日志對應(yīng)的校驗程序; 判斷獲取的返回值和日志是否符合預設(shè)結(jié)果,具體包括: 通過所述校驗程序判斷獲取的返回值和日志是否符合預設(shè)結(jié)果。
6. 如權(quán)利要求1所述的方法,其特征在于,判斷獲取的返回值和日志是否符合預設(shè)結(jié) 果,具體包括: 從預設(shè)結(jié)果中提取預設(shè)返回結(jié)果和預設(shè)參數(shù)值; 當獲取的返回值與所述預設(shè)返回結(jié)果匹配,且獲取的日志中包含的既定參數(shù)值與所述 預設(shè)參數(shù)值匹配時,確定獲取的返回值和日志符合預設(shè)結(jié)果; 當獲取的返回值與所述預設(shè)返回結(jié)果不匹配,或獲取的日志中包含的既定參數(shù)值與所 述預設(shè)參數(shù)值不匹配時,確定獲取的返回值和日志不符合預設(shè)結(jié)果。
7. -種接口自動化測試裝置,其特征在于,包括: 確定模塊,用于在待測接口的程序中,確定需進行日志校驗的代碼段; 第一生成模塊,用于針對所述代碼段生成測試腳本; 獲取模塊,用于執(zhí)行所述測試腳本,以獲取所述待測接口的返回值和與所述代碼段對 應(yīng)的日志; 判斷模塊,用于判斷所述獲取模塊獲取的返回值和日志是否符合預設(shè)結(jié)果,若是,則確 定所述待測接口工作正常,否則,確定所述待測接口工作不正常。
8. 如權(quán)利要求7所述的裝置,其特征在于,所述確定模塊具體用于,在待測接口的程序 的各代碼段中,確定不影響所述待測接口的返回值的代碼段,作為需進行日志校驗的代碼 段。
9. 如權(quán)利要求7所述的裝置,其特征在于,所述第一生成模塊具體用于,根據(jù)預設(shè)的與 所述代碼段相關(guān)的測試用例,生成測試腳本。
10. 如權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 加入模塊,用于在所述獲取模塊執(zhí)行所述測試腳本之前,向所述待測接口的程序中加 入日志程序; 所述獲取模塊具體用于,執(zhí)行所述測試腳本,并通過所述日志程序獲取與所述代碼段 對應(yīng)的日志。
【文檔編號】G06F11/22GK104360920SQ201410724763
【公開日】2015年2月18日 申請日期:2014年12月2日 優(yōu)先權(quán)日:2014年12月2日
【發(fā)明者】徐炳松, 羅詩堯, 丁玲 申請人:微夢創(chuàng)科網(wǎng)絡(luò)科技(中國)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
睢宁县| 莱芜市| 大理市| 讷河市| 聂荣县| 漾濞| 独山县| 雅安市| 奇台县| 蕉岭县| 东乡族自治县| 荥阳市| 博白县| 政和县| 鸡东县| 屏东县| 米脂县| 云梦县| 宝坻区| 南阳市| 建瓯市| 闻喜县| 托里县| 林口县| 广东省| 黔东| 通辽市| 西峡县| 尤溪县| 普兰县| 呼和浩特市| 油尖旺区| 肇州县| 温宿县| 化德县| 天等县| 太原市| 新宁县| 义马市| 体育| 邯郸市|