Api测试方法及系统的制作方法

文档序号:9727259阅读:299来源:国知局
Api测试方法及系统的制作方法
【技术领域】
[0001 ]本发明涉及API测试领域,尤其涉及一种API测试方法及系统。
【背景技术】
[0002]对商品与媒体交易提供数据服务和管理功能并进行非现金结算的P0S机在市场交易中应用越来越广,依次带动P0S机的快速发展,但在P0S机开发中会遇到以下问题:API(为应用程序编写接口Applicat1n Programming Interface的缩写)函数的返回值不对、带入错误的参数导致程序崩溃、API功能没有支持。
[0003]而,现有API测试方法不能全面的测试所有案例,也不能对API进行全面系统化的测试,且现有API测试方法多为单一的、不能自动化的API测试,导致API测试效率低。

【发明内容】

[0004]本发明的目的在于提供一种API测试方法及系统,从而解决现有技术中存在的前述问题。
[0005]为了实现上述目的,本发明所述API测试方法,该方法包括:
[0006]S1,制作测试案例表单并存储;
[0007]S2,捕获需要测试的指令;
[0008]如果所述指令是测试目标函数指令,则从所述案例表单中调取与所述目标函数对应的所有案例,进入S3;
[0009]如果所述指令是测试案例的指令,从所述案例表单中调取所述案例的案例编号及与所述案例相关的函数,调取所述函数的运行代码,将所述案例加载到所述运行代码中运行并获得实际运行结果,进入S4;
[0010]S3,从已被标记的案例开始按照所有案例的编号依次运行的代码进行测试,得到每个案例的实际运行结果;
[0011]S4,将所述实际运行结果与预先存储的预测结果进行对比,显示对比后的结果。
[0012]优选地,步骤S1具体按照下述步骤实现:
[0013]S11,获取需要测试的程序的所有模块及每个模块中涉及到的所有函数;
[0014]S12,对所有模块进行依次编号,得到模块编号;在模块编号的基础上,对每个模块中涉及的所有函数进行顺序编号,得到函数编号;
[0015]S13,获取每个函数的测试案例,在每个函数的函数编号基础上,对每个函数的测试案例进行编号,得到案例编号;
[0016]S14,将每个案例运行的预期结果与所述案例编号一一对应设置,存储,完成测试案例表单的制作。
[0017]优选地,步骤S2,具体按照下述步骤实现:
[0018]捕获需要被测试的目标函数指令,从数据库中调取运行所述目标函数的代码;
[0019]捕获目标函数的编号,从测试案例表单中查找出案例编号与所述目标函数编号相关的所有案例;所述目标函数的编号是与其相关案例的案例编号的一部分;
[0020]根据查找到的案例编号顺序排队,得到案例编号队列;
[0021]将案例编号队列中的第一个案例编号标记为可自动测试的案例编号A,将所述案例编号A和案例编号队列发送给运行所述目标函数的代码程序。
[0022]更优选地,步骤S3,按照下述步骤实现:
[0023]运行所述目标函数的代码程序接收到所述案例编号A后,将所述案例编号A对应的案例加载到所述代码程序进行运行计算,得到案例编号A的案例的实际运行结果,完成案例编号A的案例的运行;然后自动运行下一个案例编号所对应的案例,直至案例编号队列中所有案例编号对应的案例全部获得实际运行结果为止。
[0024]更优选地,在完成一个案例的运行后,实时将所述案例的实际运行结果写入测试案例表单中。
[0025]更优选地,步骤S4,自动对比或人为对比测试案例表单中与所述目标函数相关的每个案例的实际运行结果与预测结果,记录两个结果不同的案例的案例编号及其实际运行结果和预测结果,然后从数据库中调取所述案例,显示所述案例。
[0026]一种实现所述API测试方法的系统,该系统包括:
[0027]测试案例表单生成存储模块:获取需要被测试程序的功能模块及每个功能模块中涉及的函数,获取测试每个函数的测试案例,并对功能模块、函数、测试案例进行编号,并存储;
[0028]函数代码存储模块:存储需要被测试程序涉及到的每个函数的运行代码;
[0029]判断模块:判断收到的指令是测试目标函数指令还是测试案例的指令;
[0030]测试案例执行模块:案例表单中调取被测试案例的案例编号及与所述被测试案例相关的函数,调取所述函数的运行代码,将所述被测试案例加载到所述运行代码中运行并获得实际运行结果;
[0031]测试目标函数执行模块:从所述案例表单中调取与所述目标函数对应的所有案例,对案例排序后进行标记,从已被标记的案例开始按照所有案例的排序依次运行的代码进行测试,得到每个案例的实际运行结果;
[0032]对比显示模块:将获得的将所述实际运行结果与预先存储的预测结果进行对比,显示对比后的结果。
[0033]优选地,所述测试案例表单生成存储模块包括:
[0034]模块编码单元:获取需要测试的程序的所有模块,并给每个模块编写唯一的模块编号;
[0035]函数编码单元:在模块编号的基础上,对所述模块涉及的所有函数依次进行编号,函数编号,所述函数编号中包括模块编号;
[0036]案例编号单元:在函数编号的基础上,对每个函数的测试案例进行编号,得到案例编号。
[0037]优选地,所述测试目标函数执行模块包括:
[0038]代码获取单元:捕获需要被测试的目标函数指令,从数据库中调取运行所述目标函数的代码;
[0039]查找单元:根据目标函数的编号,从测试案例表单中查找出案例编号与所述目标函数编号相关的所有案例;所述目标函数的编号是与其相关案例的案例编号的一部分;
[0040]排序单元:根据查找到的案例编号顺序排队,得到案例编号队列;
[0041 ]自动检测标记单元:将案例编号队列中的第一个案例编号标记为可自动测试的案例编号A;
[0042]执行单元:从所述案例编号A开始依次执行案例编号队列中的每个案例编号所对应的案例,得到每个案例的实际运行结果。
[0043]本发明的有益效果是:
[0044]本发明所述API测试方法,大大增加测试效率和测试的准确度,有效记录测试结果,通过查看测试表格可直接查看API存在的问题及缺陷,提高应用开发的效率。
【附图说明】
[0045]图1是所述API测试方法的流程示意图。
【具体实施方式】
[0046]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0047]实施例
[0048]参照图1,本实施例所述API测试方法,该方法包括:
[0049]S1,制作测试案例表单并存储;
[0050]S2,捕获需要测试的指令;
[0051]如果所述指令是测试目标函数指令,则从所述案例表单中调取与所述目标函数对应的所有案例,进入S3;
[0052]如果所述指令是测试案例的指令,从所述案例表单中调取所述案例的案例编号及与所述案例相关的函数,调取所述函数的运行代码,将所述案例加载到所述运行代码中运行并获得实际运行结果,进入S4;
[0053]S3,从已被标记的案例开始按照所有案例的编号依次运行的代码进行测试,得到每个案例的实际运行结果;
[0054]S4,将所述实际运行结果与预先存储的预测结果进行对比,显示对比后的结果。
[0055]更详细的解释说明:
[0056](一)步骤S1具体按照下述步骤实现:
[0057]S11,获取需要测试的程序的所有模块及每个模块中涉及到的所有函数;
[0058]S12,对所有模块进行依次编号,得到模块编号;在模块编号的基础上,对每个模块中涉及的所有函数进行顺序编号,得到函数编号;
[0059]S13,获取每个函数的测试案例,在每个函数的函数编号基础上,对每个函数的测试案例进行编号,得到案例编号;
[0060]S14,将每个案例运行的预期结果与所述案例编号一一对应设置,存储,完成测试案例表单的制作。
[0061](二)步骤S2,具体按照下述步骤实现:
[0062]捕获需要被测试的目标函数指令,从数据库中调取运行所述目标函数的代码;
[0063]捕获目标函数的编号,从测试案例表单中查找出案例编号与所述目标函数编号相关的所有案例;所述目标函数的编号是与其相关案例的案例编号的一部分;
[0064]根据查找到的案例编号顺序排队,得到案例编号队列;
[0065]将案例编号队列中的第一个案例编号标记为可自动测试的案例编号A,将所述案例编号A和案例编号队列发送给运行所述目标函数的代码程序。
[0066](三)步骤S3,按照下述步骤实现:
[0067]运行所述目标函数的代码程序接收到所述案例编号A后,将所述案例编号A对应的案例加载到
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1