Api測試方法及系統(tǒng)的制作方法
【技術領域】
[0001 ]本發(fā)明涉及API測試領域,尤其涉及一種API測試方法及系統(tǒng)。
【背景技術】
[0002]對商品與媒體交易提供數(shù)據(jù)服務和管理功能并進行非現(xiàn)金結算的P0S機在市場交易中應用越來越廣,依次帶動P0S機的快速發(fā)展,但在P0S機開發(fā)中會遇到以下問題:API(為應用程序編寫接口Applicat1n Programming Interface的縮寫)函數(shù)的返回值不對、帶入錯誤的參數(shù)導致程序崩潰、API功能沒有支持。
[0003]而,現(xiàn)有API測試方法不能全面的測試所有案例,也不能對API進行全面系統(tǒng)化的測試,且現(xiàn)有API測試方法多為單一的、不能自動化的API測試,導致API測試效率低。
【發(fā)明內容】
[0004]本發(fā)明的目的在于提供一種API測試方法及系統(tǒng),從而解決現(xiàn)有技術中存在的前述問題。
[0005]為了實現(xiàn)上述目的,本發(fā)明所述API測試方法,該方法包括:
[0006]S1,制作測試案例表單并存儲;
[0007]S2,捕獲需要測試的指令;
[0008]如果所述指令是測試目標函數(shù)指令,則從所述案例表單中調取與所述目標函數(shù)對應的所有案例,進入S3;
[0009]如果所述指令是測試案例的指令,從所述案例表單中調取所述案例的案例編號及與所述案例相關的函數(shù),調取所述函數(shù)的運行代碼,將所述案例加載到所述運行代碼中運行并獲得實際運行結果,進入S4;
[0010]S3,從已被標記的案例開始按照所有案例的編號依次運行的代碼進行測試,得到每個案例的實際運行結果;
[0011]S4,將所述實際運行結果與預先存儲的預測結果進行對比,顯示對比后的結果。
[0012]優(yōu)選地,步驟S1具體按照下述步驟實現(xiàn):
[0013]S11,獲取需要測試的程序的所有模塊及每個模塊中涉及到的所有函數(shù);
[0014]S12,對所有模塊進行依次編號,得到模塊編號;在模塊編號的基礎上,對每個模塊中涉及的所有函數(shù)進行順序編號,得到函數(shù)編號;
[0015]S13,獲取每個函數(shù)的測試案例,在每個函數(shù)的函數(shù)編號基礎上,對每個函數(shù)的測試案例進行編號,得到案例編號;
[0016]S14,將每個案例運行的預期結果與所述案例編號一一對應設置,存儲,完成測試案例表單的制作。
[0017]優(yōu)選地,步驟S2,具體按照下述步驟實現(xiàn):
[0018]捕獲需要被測試的目標函數(shù)指令,從數(shù)據(jù)庫中調取運行所述目標函數(shù)的代碼;
[0019]捕獲目標函數(shù)的編號,從測試案例表單中查找出案例編號與所述目標函數(shù)編號相關的所有案例;所述目標函數(shù)的編號是與其相關案例的案例編號的一部分;
[0020]根據(jù)查找到的案例編號順序排隊,得到案例編號隊列;
[0021]將案例編號隊列中的第一個案例編號標記為可自動測試的案例編號A,將所述案例編號A和案例編號隊列發(fā)送給運行所述目標函數(shù)的代碼程序。
[0022]更優(yōu)選地,步驟S3,按照下述步驟實現(xiàn):
[0023]運行所述目標函數(shù)的代碼程序接收到所述案例編號A后,將所述案例編號A對應的案例加載到所述代碼程序進行運行計算,得到案例編號A的案例的實際運行結果,完成案例編號A的案例的運行;然后自動運行下一個案例編號所對應的案例,直至案例編號隊列中所有案例編號對應的案例全部獲得實際運行結果為止。
[0024]更優(yōu)選地,在完成一個案例的運行后,實時將所述案例的實際運行結果寫入測試案例表單中。
[0025]更優(yōu)選地,步驟S4,自動對比或人為對比測試案例表單中與所述目標函數(shù)相關的每個案例的實際運行結果與預測結果,記錄兩個結果不同的案例的案例編號及其實際運行結果和預測結果,然后從數(shù)據(jù)庫中調取所述案例,顯示所述案例。
[0026]一種實現(xiàn)所述API測試方法的系統(tǒng),該系統(tǒng)包括:
[0027]測試案例表單生成存儲模塊:獲取需要被測試程序的功能模塊及每個功能模塊中涉及的函數(shù),獲取測試每個函數(shù)的測試案例,并對功能模塊、函數(shù)、測試案例進行編號,并存儲;
[0028]函數(shù)代碼存儲模塊:存儲需要被測試程序涉及到的每個函數(shù)的運行代碼;
[0029]判斷模塊:判斷收到的指令是測試目標函數(shù)指令還是測試案例的指令;
[0030]測試案例執(zhí)行模塊:案例表單中調取被測試案例的案例編號及與所述被測試案例相關的函數(shù),調取所述函數(shù)的運行代碼,將所述被測試案例加載到所述運行代碼中運行并獲得實際運行結果;
[0031]測試目標函數(shù)執(zhí)行模塊:從所述案例表單中調取與所述目標函數(shù)對應的所有案例,對案例排序后進行標記,從已被標記的案例開始按照所有案例的排序依次運行的代碼進行測試,得到每個案例的實際運行結果;
[0032]對比顯示模塊:將獲得的將所述實際運行結果與預先存儲的預測結果進行對比,顯示對比后的結果。
[0033]優(yōu)選地,所述測試案例表單生成存儲模塊包括:
[0034]模塊編碼單元:獲取需要測試的程序的所有模塊,并給每個模塊編寫唯一的模塊編號;
[0035]函數(shù)編碼單元:在模塊編號的基礎上,對所述模塊涉及的所有函數(shù)依次進行編號,函數(shù)編號,所述函數(shù)編號中包括模塊編號;
[0036]案例編號單元:在函數(shù)編號的基礎上,對每個函數(shù)的測試案例進行編號,得到案例編號。
[0037]優(yōu)選地,所述測試目標函數(shù)執(zhí)行模塊包括:
[0038]代碼獲取單元:捕獲需要被測試的目標函數(shù)指令,從數(shù)據(jù)庫中調取運行所述目標函數(shù)的代碼;
[0039]查找單元:根據(jù)目標函數(shù)的編號,從測試案例表單中查找出案例編號與所述目標函數(shù)編號相關的所有案例;所述目標函數(shù)的編號是與其相關案例的案例編號的一部分;
[0040]排序單元:根據(jù)查找到的案例編號順序排隊,得到案例編號隊列;
[0041 ]自動檢測標記單元:將案例編號隊列中的第一個案例編號標記為可自動測試的案例編號A;
[0042]執(zhí)行單元:從所述案例編號A開始依次執(zhí)行案例編號隊列中的每個案例編號所對應的案例,得到每個案例的實際運行結果。
[0043]本發(fā)明的有益效果是:
[0044]本發(fā)明所述API測試方法,大大增加測試效率和測試的準確度,有效記錄測試結果,通過查看測試表格可直接查看API存在的問題及缺陷,提高應用開發(fā)的效率。
【附圖說明】
[0045]圖1是所述API測試方法的流程示意圖。
【具體實施方式】
[0046]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的【具體實施方式】僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0047]實施例
[0048]參照圖1,本實施例所述API測試方法,該方法包括:
[0049]S1,制作測試案例表單并存儲;
[0050]S2,捕獲需要測試的指令;
[0051]如果所述指令是測試目標函數(shù)指令,則從所述案例表單中調取與所述目標函數(shù)對應的所有案例,進入S3;
[0052]如果所述指令是測試案例的指令,從所述案例表單中調取所述案例的案例編號及與所述案例相關的函數(shù),調取所述函數(shù)的運行代碼,將所述案例加載到所述運行代碼中運行并獲得實際運行結果,進入S4;
[0053]S3,從已被標記的案例開始按照所有案例的編號依次運行的代碼進行測試,得到每個案例的實際運行結果;
[0054]S4,將所述實際運行結果與預先存儲的預測結果進行對比,顯示對比后的結果。
[0055]更詳細的解釋說明:
[0056](一)步驟S1具體按照下述步驟實現(xiàn):
[0057]S11,獲取需要測試的程序的所有模塊及每個模塊中涉及到的所有函數(shù);
[0058]S12,對所有模塊進行依次編號,得到模塊編號;在模塊編號的基礎上,對每個模塊中涉及的所有函數(shù)進行順序編號,得到函數(shù)編號;
[0059]S13,獲取每個函數(shù)的測試案例,在每個函數(shù)的函數(shù)編號基礎上,對每個函數(shù)的測試案例進行編號,得到案例編號;
[0060]S14,將每個案例運行的預期結果與所述案例編號一一對應設置,存儲,完成測試案例表單的制作。
[0061](二)步驟S2,具體按照下述步驟實現(xiàn):
[0062]捕獲需要被測試的目標函數(shù)指令,從數(shù)據(jù)庫中調取運行所述目標函數(shù)的代碼;
[0063]捕獲目標函數(shù)的編號,從測試案例表單中查找出案例編號與所述目標函數(shù)編號相關的所有案例;所述目標函數(shù)的編號是與其相關案例的案例編號的一部分;
[0064]根據(jù)查找到的案例編號順序排隊,得到案例編號隊列;
[0065]將案例編號隊列中的第一個案例編號標記為可自動測試的案例編號A,將所述案例編號A和案例編號隊列發(fā)送給運行所述目標函數(shù)的代碼程序。
[0066](三)步驟S3,按照下述步驟實現(xiàn):
[0067]運行所述目標函數(shù)的代碼程序接收到所述案例編號A后,將所述案例編號A對應的案例加載到