本文作者:kaifamei

一種接口自動化測試方法與流程

更新時間:2025-12-27 13:15:30 0條評論

一種接口自動化測試方法與流程



1.本發明涉及一種接口測試方法,尤其是一種接口自動化測試方法。


背景技術:

2.目前,在新的接口開發完成之后,需要由接口測試人員進行人工測試,從而可以在程序部署早期及時發現問題,減少程序部署好之后再進行手工測試所花費的時間,從而加快版本迭代。接口測試時需要根據各個測試要求選定相應的測試項,例如對于接口名稱為網絡數據接口的測試要求包括通信速率測試、通信安全測試、通信時延測試等測試要求,其中通信速率測試又包括上傳速率測試、下載速率測試、并行速率測試等測試項。但是現有技術的人工測試方法需要耗費大量的人力和時間成本,難以滿足批量接口的快速測試需要。因此有必要設計出一種接口自動化測試方法,能夠在接口開發完成后進行快速測試,減少人工參與,提高接口測試效率。


技術實現要素:

3.發明目的:提供一種接口自動化測試方法,能夠在接口開發完成后進行快速測試,減少人工參與,提高接口測試效率。
4.技術方案:本發明所述的接口自動化測試方法,包括如下步驟:步驟1,根據各類接口的歷史測試數據構建一個存儲有各類接口的自動化測試腳本的接口測試腳本庫以及一個對接口名稱、測試要求以及測試項進行對應統計的測試項對應表;步驟2,根據測試項對應表生成各個測試要求的測試模式,包括全面測試模式、默認測試模式以及基礎測試模式;步驟3,實時獲取用戶針對待測試接口的測試請求,測試請求包括用戶選定的測試要求以及測試模式;步驟4,根據測試要求以及測試模式確定出待測試接口的各個測試項,再從接口測試腳本庫中選出各個測試項對應的自動化測試腳本;步驟5,運行選出的各個自動化測試腳本對待測試接口依次進行各項自動化測試;步驟6,在各項自動化測試完成后向用戶發送全部測試結果。
5.進一步的,步驟1中,構建接口測試腳本庫以及測試項對應表的具體步驟為:步驟1.1,獲取各類接口的歷史測試數據,并從歷史測試數據中獲得各類接口的全部測試要求、每個測試要求對應的各個測試項、每個測試項的測試參數配置信息以及每個測試項的測試流程信息;步驟1.2,根據每個測試項的測試參數配置信息以及測試流程信息生成各個測試項對應的自動化測試腳本,用于在運行時對待測試接口的各個測試項進行自動化測試;步驟1.3,將生成的各個自動化測試腳本存儲在接口測試腳本庫中,并將各個測試項的項目名稱作為接口測試腳本庫中各個自動化測試腳本的腳本索引,用于從腳本庫中快
速選擇各個測試項對應的自動化測試腳本;步驟1.4,從歷史測試數據中篩選出各個接口名稱,再將各個不同的接口名稱寫入測試項對應表的第一列;步驟1.5,將相同接口名稱對應的各個測試要求合并為一個測試要求組,并在測試要求組內按照各個測試要求名稱分成對應的測試要求分組,同一測試要求分組內各個測試要求名稱相同并在測試要求名稱后標記有對應的測試日期,再將各個測試要求組按照第一列的各個接口名稱對應寫入測試項對應表的第二列;步驟1.6,將相同測試要求對應的各個測試項合并為一個測試項組,并在測試項組內按照各個測試項名稱分成對應的測試項分組,同一測試項分組內各個測試項名稱相同并在測試項目名稱后標記有對應的測試日期,再將各個測試項組按照第二列的各個測試要求分組對應寫入測試項對應表的第三列。
6.進一步的,步驟1.2中,生成各個測試項對應的自動化測試腳本的具體步驟為:步驟1.2.1,根據各個測試項的測試參數配置信息生成對應的config文件,并在config文件中設置各個測試用例py文件的存儲路徑以及report文件的存儲路徑;步驟1.2.2,由用戶根據各個測試項定制對應的測試用例py文件,用于在啟動運行時通過測試用例對待測試接口的對應測試項進行測試;步驟1.2.3,利用各個config文件分別對各個測試用例py文件進行參數配置,再根據各個測試項的測試流程信息設置各個測試用例py文件在自動化測試腳本中的啟動順序。
7.進一步的,步驟2中,根據測試項對應表生成各個測試要求的測試模式的具體步驟為:步驟2.1,對測試項對應表中的各個測試要求以及各個測試項進行統計,獲得相同測試要求下各個測試項的被選中概率;步驟2.2,根據各個測試項的被選中概率對各個測試項進行劃分,將被選中概率≥90%的測試項劃分為基礎測試項,將被選中概率≥60%的測試項劃分為默認測試項,將被選中概率≥30%的測試項劃分為全面測試項;步驟2.3,將全面測試項作為全面測試模式下的各個測試項,將默認測試項作為默認測試模式下的各個測試項,將基礎測試項作為基礎測試模式下的各個測試項。
8.進一步的,步驟2中,測試模式還包括自定義測試模式;自定義測試模式允許選擇測試項對應表中各個測試要求對應的全部測試項,其中與默認測試項相同的各個測試項被默認選定,其余測試項默認未選定,且默認選定以及默認未選定的測試項均允許被改選。
9.進一步的,步驟2.1中,獲得相同測試要求下各個測試項被選中的概率的具體步驟為:步驟2.1.1,統計測試項對應表中每個測試要求分組內的測試要求名稱數量為mi;步驟2.1.2,統計測試項對應表中每個測試項分組內各個測試項名稱的被選中次數,若測試項分組內有多個測試日期相同的測試項名稱,則對測試日期相同的測試項名稱數量進行加權計算,最終得到的測試項名稱數量為:nj=aj+bj+cj×
0.2+dj×
0.1式中,aj為當前測試項分組內沒有相同測試日期的測試項名稱數量,bj為當前測試項分組內有相同測試日期的測試項名稱數量,cj為當前測試項分組內有兩個以上相同測試
日期的測試項名稱數量,dj為當前測試項分組內有三個以上相同測試日期的測試項名稱數量;步驟2.1.3,利用當前測試項名稱的被選中次數nj除以對應測試要求分組內測試要求名稱數量mi得到當前測試項的被選中概率p
l
。
10.進一步的,步驟3,實時獲取用戶針對待測試接口的測試請求的具體步驟:步驟3.1,實時獲取用戶發送的請求信息,并對各個請求信息進行緩存;步驟3.2,依次讀取緩存的各個請求信息,并根據接口名稱判斷請求信息是否為針對待測試接口的測試請求,若為待測試接口的測試請求,則進入步驟3.2,否則返回步驟3.1;步驟3.3,從測試請求中解析出用戶設置的測試要求以及測試模式,并將解析出的測試要求在測試項對應表中的測試要求組進行名稱匹配,若存在相同測試要求的名稱,則認定為測試要求匹配成功,并進入步驟4,否則認定為測試要求匹配失敗,并向用戶反饋測試要求名稱匹配失敗信息,再進入步驟3.4;步驟3.4,在設定時間內實時接收用戶的新增測試信息,若接收到用戶的新增測試信息,則根據新增測試信息獲取用戶從測試項對應表的測試項組中選擇的各個測試項,否則向用戶反饋測試要求匹配失敗信息,再返回步驟3.1。
11.進一步的,步驟4中,根據測試要求以及測試模式確定出待測試接口的各個測試項的具體步驟:步驟4.1,根據測試要求從測試項對應表中確定出測試要求分組,再根據確定出的測試要求分組到對應的測試項組;步驟4.2,根據測試模式從到的測試項組中選出相應的測試項分組,每個測試項分組分別對應一個測試項。
12.進一步的,步驟5中,運行選出的各個自動化測試腳本對待測試接口依次進行各項自動化測試的具體步驟:步驟5.1,按照測試流程信息首先通過get請求或post請求獲取待測試接口的接口參數,對待測試接口的接口參數與選出的各個自動化測試腳本的測試參數配置信息進行參數匹配,若其中的接口名稱以及接口位置均成功匹配,再則進入步驟5.2,否則退出接口測試步驟,并向用戶反饋待測試接口的接口參數匹配失敗信息;步驟5.2,從選出的各個自動化測試腳本中選擇一個未運行過的作為當前測試腳本,根據config文件中的存儲路徑出當前測試腳本對應的各個測試用例py文件,再對待測試接口運行出的各個測試用例py文件,從而運行對應的測試用例對待測試接口進行測試獲得report文件;步驟5.3,根據config文件中的存儲路徑對獲得的report文件進行存儲,并對report文件進行文件編號;步驟5.4,判斷是否全部自動化測試腳本均運行完畢,若全部運行完畢,則進入步驟6,否則返回步驟5.2。
13.進一步的,步驟6中,在各項自動化測試完成后向用戶發送全部測試結果的具體步驟:步驟6.1,對按照文件編號對存儲的各個report文件進行分析,生成待測試接口的
測試結果allure報告;步驟6.2,獲取當前待測試接口預設的結果接收郵箱,并向結果接收郵箱發送測試結果allure報告。
14.本發明與現有技術相比,其有益效果是:通過構建接口測試腳本庫能夠在測試時快速出對應的自動化測試腳本,便于實現自動化測試,也能夠提高測試效率;通過構建測試項對應表能夠對歷史測試數據進行統計分析,從而快速計算出各個測試項的被選中概率,為測試模式的劃分提供依據;通過選定相應的測試模式來進行不同模式的接口測試,滿足接口測試的可定制化要求,增強接口測試的靈活性;通過選出的各個自動化測試腳本對待測試接口進行自動化測試,能夠滿足接口的自動化測試要求,提高接口測試效率。
附圖說明
15.圖1為本發明的測試方法流程圖;圖2為本發明的測試項對應表示意圖。
具體實施方式
16.下面結合附圖對本發明技術方案進行詳細說明,但是本發明的保護范圍不局限于所述實施例。
17.實施例1:如圖1所示,本發明公開的接口自動化測試方法包括如下步驟:步驟1,根據各類接口的歷史測試數據構建一個存儲有各類接口的自動化測試腳本的接口測試腳本庫以及一個對接口名稱、測試要求以及測試項進行對應統計的測試項對應表;步驟2,根據測試項對應表生成各個測試要求的測試模式,包括全面測試模式、默認測試模式以及基礎測試模式;步驟3,實時獲取用戶針對待測試接口的測試請求,測試請求包括用戶選定的測試要求以及測試模式;步驟4,根據測試要求以及測試模式確定出待測試接口的各個測試項,再根據腳本索引從接口測試腳本庫中選出各個測試項對應的自動化測試腳本;步驟5,運行選出的各個自動化測試腳本對待測試接口依次進行各項自動化測試;步驟6,在各項自動化測試完成后向用戶發送全部測試結果。
18.通過構建接口測試腳本庫能夠在測試時快速出對應的自動化測試腳本,便于實現自動化測試,也能夠提高測試效率;通過構建測試項對應表能夠對歷史測試數據進行統計分析,從而快速計算出各個測試項的被選中概率,為測試模式的劃分提供依據;通過選定相應的測試模式來進行不同模式的接口測試,滿足接口測試的可定制化要求,增強接口測試的靈活性;通過選出的各個自動化測試腳本對待測試接口進行自動化測試,能夠滿足接口的自動化測試要求,提高接口測試效率。
19.進一步的,步驟1中,構建接口測試腳本庫以及測試項對應表的具體步驟為:步驟1.1,獲取各類接口的歷史測試數據,可以是全部歷史測試數據,也可以選擇近半年或一年的測試數據,并從歷史測試數據中獲得各類接口的全部測試要求、每個測試
要求對應的各個測試項、每個測試項的測試參數配置信息以及每個測試項的測試流程信息,由歷史測試數據中獲取的各項參數具有更為可靠的測試依據,也更符合接口測試的準確定制化要求;步驟1.2,根據每個測試項的測試參數配置信息以及測試流程信息生成各個測試項對應的自動化測試腳本,用于在運行時對待測試接口的各個測試項進行自動化測試;步驟1.3,將生成的各個自動化測試腳本存儲在接口測試腳本庫中,并將各個測試項的項目名稱作為接口測試腳本庫中各個自動化測試腳本的腳本索引,用于從腳本庫中快速選擇各個測試項對應的自動化測試腳本,提高自動化測試腳本的查效率;步驟1.4,從歷史測試數據中篩選出各個接口名稱,再將各個不同的接口名稱寫入測試項對應表的第一列,如圖2所示;步驟1.5,將相同接口名稱對應的各個測試要求合并為一個測試要求組,并在測試要求組內按照各個測試要求名稱分成對應的測試要求分組,同一測試要求分組內各個測試要求名稱相同并在測試要求名稱后標記有對應的測試日期,再將各個測試要求組按照第一列的各個接口名稱對應寫入測試項對應表的第二列;步驟1.6,將相同測試要求對應的各個測試項合并為一個測試項組,并在測試項組內按照各個測試項名稱分成對應的測試項分組,同一測試項分組內各個測試項名稱相同并在測試項目名稱后標記有對應的測試日期,通過測試日期的標記能夠便于后期進行重復測試的統計,再將各個測試項組按照第二列的各個測試要求分組對應寫入測試項對應表的第三列。
20.通過測試項對應表對接口名稱、測試要求以及測試項進行分行、分列統計,能夠便于后續對各個測試項的被選中概率進行統計計算。
21.進一步的,步驟1.2中,生成各個測試項對應的自動化測試腳本的具體步驟為:步驟1.2.1,根據各個測試項的測試參數配置信息生成對應的config文件,并在config文件中設置各個測試用例py文件的存儲路徑以及report文件的存儲路徑;步驟1.2.2,由用戶根據各個測試項定制對應的測試用例py文件,用于在啟動運行時通過測試用例對待測試接口的對應測試項進行測試,測試用例比如上傳速率測試用例、下載速率測試用例、傳輸時延測試用例等;步驟1.2.3,利用各個config文件分別對各個測試用例py文件進行參數配置,例如進行波特率、數據位、停止位、校驗位等參數的配置,再根據各個測試項的測試流程信息設置各個測試用例py文件在自動化測試腳本中的啟動順序。
22.利用config文件能夠便于實現各個測試用例py文件進行參數的快速且批量配置;利用測試用例py文件能夠在啟動運行時通過測試用例對待測試接口的對應測試項進行測試。
23.進一步的,步驟2中,根據測試項對應表生成各個測試要求的測試模式的具體步驟為:步驟2.1,對測試項對應表中的各個測試要求以及各個測試項進行統計,獲得相同測試要求下各個測試項的被選中概率;步驟2.2,根據各個測試項的被選中概率對各個測試項進行劃分,將被選中概率≥90%的測試項劃分為基礎測試項,將被選中概率≥60%的測試項劃分為默認測試項,將被選
中概率≥30%的測試項劃分為全面測試項;步驟2.3,將全面測試項作為全面測試模式下的各個測試項,將默認測試項作為默認測試模式下的各個測試項,將基礎測試項作為基礎測試模式下的各個測試項。
24.通過計算獲得相同測試要求下各個測試項的被選中概率,從而根據歷史數據將被選中概率的大小將相應的測試項設置為基礎測試項、默認測試項或者全面測試項,便于后續進行接口測試時進行選擇,增強接口測試的靈活性。
25.進一步的,步驟2中,測試模式還包括自定義測試模式;自定義測試模式允許選擇測試項對應表中各個測試要求對應的全部測試項,其中與默認測試項相同的各個測試項被默認選定,其余測試項默認未選定,且默認選定以及默認未選定的測試項均允許被改選。
26.通過自定義測試模式能夠便于用戶在全面測試模式、默認測試模式、基礎測試模式外提供一種可以自行選擇的模式,能夠對全部的測試項進行自定義選擇,且將選中頻率較高的測試項進行默認選定,并允許默認選定被修改。
27.進一步的,步驟2.1中,獲得相同測試要求下各個測試項被選中的概率的具體步驟為:步驟2.1.1,統計測試項對應表中每個測試要求分組內的測試要求名稱數量為mi,例如圖2中,通信速率測試數量m1=6,通信安全測試數量m2=4,通信時延測試數量m3=5;步驟2.1.2,統計測試項對應表中每個測試項分組內各個測試項名稱的被選中次數,若測試項分組內有多個測試日期相同的測試項名稱,表明該測試項在該測試日期的測試要求下進行了多次重復測試,可能原因是測試過程中出現了錯誤或者為了確??煽啃赃M行的多次重復測試,因此在統計時如果將重復測試全部都計算在內的話就會擾亂正常的選中概率計算,所以對測試日期相同的測試項名稱數量進行加權計算,最終得到的測試項名稱數量為:nj=aj+bj+cj×
0.2+dj×
0.1式中,aj為當前測試項分組內沒有相同測試日期的測試項名稱數量,bj為當前測試項分組內有相同測試日期的測試項名稱數量,cj為當前測試項分組內有兩個以上相同測試日期的測試項名稱數量,dj為當前測試項分組內有三個以上相同測試日期的測試項名稱數量,例如圖2中,在上傳速率測試分項中a1=4,b1=c1=d1=0,在下載速率測試分項中a2=2,b2=1,c2=1,d2=1,在并行速率測試分項中a2=4,b2=2,c2=2,d2=1;步驟2.1.3,利用當前測試項名稱的被選中次數nj除以對應測試要求分組內測試要求名稱數量mi得到當前測試項的被選中概率p
l
,例如圖2中,上傳速率測試被選中概率p1=66.7%,為默認測試項,下載速率測試被選中概率p2=55%,為全面測試項,并行速率測試被選中概率p2=108.3%,為基礎測試項。
28.利用當前測試項的被選中次數除以對應測試要求分組內測試要求數量得到當前測試項的被選中概率,因為歷史測試數據中雖然相同的測試要求比較多,但是各個測試要求在選擇測試項時由于測試人員的臨時主觀判斷而選擇不同的測試項,因此各個測試項的被選中概率是存在差異的。
29.進一步的,步驟3,實時獲取用戶針對待測試接口的測試請求的具體步驟:步驟3.1,實時獲取用戶發送的請求信息,并對各個請求信息進行緩存;步驟3.2,依次讀取緩存的各個請求信息,并根據接口名稱判斷請求信息是否為針
對待測試接口的測試請求,若為待測試接口的測試請求,則進入步驟3.2,否則返回步驟3.1;步驟3.3,從測試請求中解析出用戶設置的測試要求以及測試模式,并將解析出的測試要求在測試項對應表中的測試要求組進行名稱匹配,若存在相同測試要求的名稱,則認定為測試要求匹配成功,并進入步驟4,否則認定為測試要求匹配失敗,并向用戶反饋測試要求名稱匹配失敗信息,再進入步驟3.4;步驟3.4,在設定時間內實時接收用戶的新增測試信息,例如5分鐘內,若接收到用戶的新增測試信息,則根據新增測試信息獲取用戶從測試項對應表的測試項組中選擇的各個測試項,否則向用戶反饋測試要求匹配失敗信息,再返回步驟3.1。
30.通過接口名稱首先判斷請求信息是否為針對待測試接口的測試請求,實現對測試請求進行驗證,防止出現錯誤測試,保證待測試接口的安全性;通過測試要求的名稱匹配能夠在匹配成功后通過測試模式的設定選擇出對應的測試項,從而順利進入自動化測試過程;通過設定新增測試信息能夠便于用戶定制新的測試要求,增強測試的靈活性。
31.進一步的,步驟4中,根據測試要求以及測試模式確定出待測試接口的各個測試項的具體步驟:步驟4.1,根據測試要求從測試項對應表中確定出測試要求分組,再根據確定出的測試要求分組到對應的測試項組;步驟4.2,根據測試模式從到的測試項組中選出相應的測試項分組,每個測試項分組分別對應一個測試項。
32.通過測試要求以及測試模式進行雙層逐級篩選,從而能夠快速確定出相應的測試項,用于后續的自動化測試腳本選擇。
33.進一步的,步驟5中,運行選出的各個自動化測試腳本對待測試接口依次進行各項自動化測試的具體步驟:步驟5.1,按照測試流程信息首先通過get請求或post請求獲取待測試接口的接口參數,對待測試接口的接口參數與選出的各個自動化測試腳本的測試參數配置信息進行參數匹配,若其中的接口名稱以及接口位置均成功匹配,再則進入步驟5.2,否則退出接口測試步驟,并向用戶反饋待測試接口的接口參數匹配失敗信息;步驟5.2,從選出的各個自動化測試腳本中選擇一個未運行過的作為當前測試腳本,根據config文件中的存儲路徑出當前測試腳本對應的各個測試用例py文件,再對待測試接口運行出的各個測試用例py文件,從而運行對應的測試用例對待測試接口進行測試獲得report文件;步驟5.3,根據config文件中的存儲路徑對獲得的report文件進行存儲,并對report文件進行文件編號;步驟5.4,判斷是否全部自動化測試腳本均運行完畢,若全部運行完畢,則進入步驟6,否則返回步驟5.2。
34.通過獲取待測試接口的接口參數,從而在測試之前對接口進行匹配,只有在匹配成功后才進行測試,防止誤測試對接口造成不可逆的損害;利用測試用例py文件啟動運行對應的測試用例對待測試接口進行測試,能夠實現接口的快速自動測試;利用report文件存儲測試結果,從而便于后續查看。
35.進一步的,步驟6中,在各項自動化測試完成后向用戶發送全部測試結果的具體步驟:步驟6.1,對按照文件編號對存儲的各個report文件進行分析,生成待測試接口的測試結果allure報告;步驟6.2,獲取當前待測試接口預設的結果接收郵箱,并向結果接收郵箱發送測試結果allure報告。
36.通過測試結果allure報告能夠充分展示測試結果,便于用戶查看。
37.如上所述,盡管參照特定的優選實施例已經表示和表述了本發明,但其不得解釋為對本發明自身的限制。在不脫離所附權利要求定義的本發明的精神和范圍前提下,可對其在形式上和細節上作出各種變化。


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-15-853-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2022-11-27 21:14:37

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
2人圍觀
參與討論