专利名称:一种网络服务端接口的自动化测试方法与测试平台的制作方法
技术领域:
本发明涉及网络服务端接口的功能自动化测试领域,尤其涉及一种网络服务端接口的自动化测试方法与测试平台。
背景技术:
目前针对网络服务端接口的功能测试,一般采用QTP、Winrunner等商业软件,其价格昂贵且要求测试人员具备使用专利工具的技术。另外还可以通过客户端请求服务端确认的方式进行手工间接测试,但是,对于此种测试方式,如果存在多输入条件、多数据类型组合时,手工测试又非常繁琐、容易出错且测试不充分。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种网络服务端接口的自动化测试方法与测试平台,通过该方法可模拟客户端请求发出指令,与服务端交互,实现自动化测试,使得对于网络服务端接口的测试更高效,操作更简单,出错的几率更小。为实现上述目的,所述网络服务端接口的自动化测试方法,其特点是,包括以下步骤步骤I :导入测试用例数据;步骤2 :提取测试用例数据并进行封装;步骤3 :模拟客户端发送请求,对网络服务端接口进行测试;步骤4 :监控测试过程; 步骤5 :记录日志;步骤6 :测试结果分析,生成测试报告。优选的是,所述步骤I还包括以下步骤,步骤11 :初始化测试管理单元,完成测试管理单元的基本配置和驱动操作;步骤12 :导入预先设定的测试用例数据到所述测试管理单元;步骤13 :校验所述测试用例数据的正确性和完整性,对于不符合执行条件的测试用例数据,提示错误。优选的是,在所述步骤2中,测试控制单元通过调用存储于所述测试管理单元内的测试用例数据,判断所调用的测试用例数据的意图,并抽取该测试用例数据中的特定数据,然后对特定数据进行封装,生成测试脚本。优选的是,在所述步骤3中,所述测试控制单元通过调用封装好的测试脚本,根据测试脚本对应的特定数据,调用该测试控制单元的API组合,封装成HTTP请求,模拟B/S的请求,响应交互流程,自主模拟客户端向待测的目标网络服务端接口发送请求;所述测试控制单元根据设置的测试步骤,模拟测试场景,控制发送请求的步骤和时间。优选的是,在所述步骤4中,目标网络服务端接口在收到所述HTTP请求后,会返回结果给测试控制单元;所述测试控制单元接受目标网络服务端接口返回的结果,并与预期值比对;若所述返回的结果与预期值相同,则回写状态成功标记至测试管理单元,否则回写状态失败标记至测试管理单元;所述测试管理单元接受反馈回来的状态成功标记或状态失败标记,并根据反馈的标记更当前使用的测试用例数据的执行状态。优选的是,在所述步骤5中,在执行场景测试过程中会产生操作记录日志,所述测试控制单元将操作中出现的报警错误信息以及网络服务端接口返回的错误信息记录下来,发送到日志单元,该日志单元接受所述测试控制单元反馈的错误信息,进行日志报警记录。优选的是,在所述步骤6中,测试报告单元接受所述测试控制单元反馈的用例数据的执行状态,同时获取测试管理单元的预置状态;该测试报告单元将上述两个状态进行累积比对,统计所有用例数据的执行状态并生成测试分析报告。 所述网络服务端接口的自动化测试平台,其特点是,所述测试平台包括,用于导入并管理测试用例数据的测试管理单元;用于封装测试用例数据、模拟客户端的请求、对网络服务端接口进行测试、并监控测试过程的测试控制单元;用于根据测试控制单元反馈的数据生成日志,并记录报警、错误参数值及位置信息的日志单元;以及,用于根据测试控制单元反馈的测试用例数据的执行状态,以测试管理单元的预期为基准,累积统计计数分析,并自动生成测试报告的测试报告单元。优选的是,所述测试平台还包括用于自动构建待测网络服务端接口,并根据测试预定条件部署待测业务到该网络服务端接口的构建部署待测服务单元。本发明的有益效果在于,应用所述网络服务端接口的自动化测试方法与测试平台,在减少手工操作的同时,可模拟客户端请求发出指令,与服务端交互,实现自动化测试,使得对于网络服务端接口的测试更高效,操作更简单,出错的几率更小;该测试平台的成本低、效率高。
图I示出了所述的网络服务端接口的自动化测试方法的流程图。图2示出了所述的网络服务端接口的自动化测试平台的方框原理图。
具体实施例方式下面结合附图对本发明做进一步说明。图I示出了所述的网络服务端接口 I的自动化测试方法的流程图,如图I所示,所述网络服务端接口 I的自动化测试方法,包括以下步骤步骤O :进行测试准备工作;步骤I :导入测试用例数据SI ;步骤2 :提取测试用例数据并进行封装S2 ;步骤3 :模拟客户端发送请求,对网络服务端接口 I进行测试S3 ;步骤4 :监控测试过程S4 ;步骤5 :记录日志S5 ;
步骤6 :测试结果分析,生成测试报告S6。具体地,在所述步骤O中,需要完成两个方面的预备。第一是要预备好测试数据和测试用例。测试数据和测试用例是根据需要测试的目标计划,预先由测试人员按要求完成的工作,本发明的测试数据和测试用例需要按照定制模板的Excel格式要求来准备,准备好的用例可以导入到测试管理单元2,组成测试的基本数据。第二需要部署测试环境,预先运行构建部署待测服务单元6,自动构建待测网络服务,根据测试预定条件部署待测业务到网络测试服务端接口。可采用现有第三方技术Hudson任务建模方式实现,构建测试服务主要是为本发明的测试方法提供测试对象。
所述步骤I还包括以下步骤,步骤11 :初始化测试管理单元2,完成测试管理单元2的基本配置和驱动操作;步骤12 :导入预先设定的测试用例数据到所述测试管理单元2 ;所述测试管理单元2管理待测服务的地址、待测接口名、接口状态、接口输入数据、测试检查点、检查点预期值等信息;步骤13 :校验所述测试用例数据的正确性和完整性,对于不符合执行条件的测试用例数据,提示错误。在所述步骤2中,测试控制单3通过调用存储于所述测试管理单元2内的测试用例数据,判断所调用的测试用例数据的意图,并抽取该测试用例数据中的特定数据,然后对特定数据(接口名、接口状态、接口参数值、预期值等)进行封装,生成测试脚本。在所述步骤3中,所述测试控制单3通过调用封装好的测试脚本,根据测试脚本对应的特定数据,调用该测试控制单3的API组合,封装成HTTP请求,模拟B/S的请求,响应交互流程,自主模拟客户端向待测的目标网络服务端接口 I发送请求;所述测试控制单3根据设置的测试步骤,模拟测试场景,控制发送请求的步骤和时间。在所述步骤4中,目标网络服务端接口 I在收到所述HTTP请求后,会返回结果给测试控制单3 ;所述测试控制单3接受目标网络服务端接口 I返回的结果,并与预期值比对;若所述返回的结果与预期值相同,则回写状态成功标记至测试管理单元2,否则回写状态失败标记至测试管理单元2 ;所述测试管理单元2接受反馈回来的状态成功标记或状态失败标记,并根据反馈的标记更当前使用的测试用例数据的执行状态。在所述步骤5中,在执行场景测试过程中会产生操作记录日志,所述测试控制单3将操作中出现的报警错误信息以及网络服务端接口 I返回的错误信息记录下来,发送到日志单元4,该日志单元4接受所述测试控制单3反馈的错误信息,进行日志报警记录。在所述步骤6中,测试报告单元5接受所述测试控制单3反馈的用例数据的执行状态,同时获取测试管理单元2的预置状态;该测试报告单元5将上述两个状态进行累积比对,统计所有用例数据的执行状态并生成测试分析报告。图2示出了一种网络服务端接口 I的自动化测试平台的方框原理图,所述测试平台可以利用测试管理单元2管理数据输入,通过服务端适配,测试控制单3模拟客户端发出业务请求。如图2所示,所述网络服务端接口 I的自动化测试平台,包括用于导入并管理测试用例数据的测试管理单元2 ;用于封装测试用例数据、模拟客户端的请求、对网络服务端接口 I进行测试、并监控测试过程的测试控制单3 ;用于根据测试控制单3反馈的数据生成日志,并记录报警、错误参数值及位置信息的日志单元4 ;以及,用于根据测试控制单3反馈的测试用例数据的执行状态,以测试管理单元2的预期为基准,累积统计计数分析,并自动生成测试报告的测试报告单兀5。具体地,所述测试管理单元2主要负责导入并管理导入的测试数据,管理待测网络服务端接口 I的接口名、接口状态、接口输入数据、测试检查点、检查点预期值及用例执行结果预置等。本测试管理单元2可封装一个Excel类实现,定制模板,维护操作直观简便。所述测试控制单3主要负责完成测试数据的封装和模拟客户端的请求。该测试控制单3通过调用Excel类实现与测试管理单元2的交互,自动获取用例数据后组合封装成HTTP请求,适配后发出请求到目标服务器,检查返回值,再将执行结果回写测试管理单元2,用例执行中反馈数据至测试报告单元5和日志单元4,生成日志和测试报告。所述日志单元4主要根据测试控制单3反馈数据生成日志,记录报警、错误参数值 及位置信息等,跟踪定位具体错误位置。所述测试报告单元5主要根据测试控制单3反馈的测试执行状态,以测试管理单元2的预期为基准,累积统计计数分析,自动生成测试报告,采用定制模板的Excel表格和图形结合方式输出。进一步地,所述测试平台还包括用于自动构建待测网络服务端接口 1,并根据测试预定条件部署待测业务到该网络服务端接口 I的构建部署待测服务单元6。该构建部署待测服务单元6可采用现有第三方技术Hudson任务建模方式实现。构建测试服务主要是为本发明的测试方法提供测试对象。综上所述仅为本发明较佳的实施例,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化及修饰,皆应属于本发明的技术范畴。
权利要求
1.一种网络服务端接口的自动化测试方法,其特征在于包括以下步骤 步骤I :导入测试用例数据; 步骤2 :提取测试用例数据并进行封装; 步骤3 :模拟客户端发送请求,对网络服务端接口进行测试; 步骤4 :监控测试过程; 步骤5 :记录日志; 步骤6 :测试结果分析,生成测试报告。·
2.根据权利要求I所述的网络服务端接口的自动化测试方法,其特征在于所述步骤I还包括以下步骤, 步骤11 :初始化测试管理单元,完成测试管理单元的基本配置和驱动操作; 步骤12 :导入预先设定的测试用例数据到所述测试管理单元; 步骤13 :校验所述测试用例数据的正确性和完整性,对于不符合执行条件的测试用例数据,提示错误。
3.根据权利要求2所述的网络服务端接口的自动化测试方法,其特征在于在所述步骤2中,测试控制单元通过调用存储于所述测试管理单元内的测试用例数据,判断所调用的测试用例数据的意图,并抽取该测试用例数据中的特定数据,然后对特定数据进行封装,生成测试脚本。
4.根据权利要求3所述的网络服务端接口的自动化测试方法,其特征在于在所述步骤3中,所述测试控制单元通过调用封装好的测试脚本,根据测试脚本对应的特定数据,调用该测试控制单元的API组合,封装成HTTP请求,模拟B/S的请求,响应交互流程,自主模拟客户端向待测的目标网络服务端接口发送请求;所述测试控制单元根据设置的测试步骤,模拟测试场景,控制发送请求的步骤和时间。
5.根据权利要求4所述的网络服务端接口的自动化测试方法,其特征在于在所述步骤4中,目标网络服务端接口在收到所述HTTP请求后,会返回结果给测试控制单元;所述测试控制单元接受目标网络服务端接口返回的结果,并与预期值比对;若所述返回的结果与预期值相同,则回写状态成功标记至测试管理单元,否则回写状态失败标记至测试管理单元;所述测试管理单元接受反馈回来的状态成功标记或状态失败标记,并根据反馈的标记更当前使用的测试用例数据的执行状态。
6.根据权利要求5所述的网络服务端接口的自动化测试方法,其特征在于在所述步骤5中,在执行场景测试过程中会产生操作记录日志,所述测试控制单元将操作中出现的报警错误信息以及网络服务端接口返回的错误信息记录下来,发送到日志单元,该日志单元接受所述测试控制单元反馈的错误信息,进行日志报警记录。
7.根据权利要求6所述的网络服务端接口的自动化测试方法,其特征在于在所述步骤6中,测试报告单元接受所述测试控制单元反馈的用例数据的执行状态,同时获取测试管理单元的预置状态;该测试报告单元将上述两个状态进行累积比对,统计所有用例数据的执行状态并生成测试分析报告。
8.—种网络服务端接口的自动化测试平台,其特征在于所述测试平台包括, 用于导入并管理测试用例数据的测试管理单元; 用于封装测试用例数据、模拟客户端的请求、对网络服务端接口进行测试、并监控测试过程的测试控制单元; 用于根据测试控制单元反馈的数据生成日志,并记录报警、错误参数值及位置信息的日志单元;以及, 用于根据测试控制单元反馈的测试用例数据的执行状态,以测试管理单元的预期为基准,累积统计计数分析,并自动生成测试报告的测试报告单元。
9.根据权利要求8所述的网络服务端接口的自动化测试平台,其特征在于所述测试平台还包括用于自动构建待测网络服务端接口,并根据测试预定条件部署待测业务到该网络服务端接口的构建部署待测服务单元。
全文摘要
本发明公开了一种网络服务端接口的自动化测试方法与测试平台,该方法包括导入测试用例数据;提取测试用例数据并进行封装;模拟客户端发送请求,对网络服务端接口进行测试;监控测试过程;记录日志;测试结果分析,生成测试报告。该测试平台包括,用于导入并管理测试用例数据的测试管理单元;用于封装测试用例数据、模拟客户端的请求、对网络服务端接口进行测试、并监控测试过程的测试控制单元;用于根据测试控制单元反馈的数据生成日志,并记录报警、错误参数值及位置信息的日志单元;用于根据测试控制单元反馈的测试用例数据的执行状态,以测试管理单元的预期为基准,累积统计计数分析,并自动生成测试报告的测试报告单元。
文档编号H04L12/24GK102932205SQ20121046664
公开日2013年2月13日 申请日期2012年11月19日 优先权日2012年11月19日
发明者余恒, 梁亚宁 申请人:深圳市亚特尔科技有限公司