【技术实现步骤摘要】
一种基于数据驱动的API自动化测试方法和系统
本专利技术涉及软件测试领域,更具体地,涉及一种基于数据驱动的API自动化测试方法和系统。
技术介绍
在软件开发过程中,程序的API接口在开发完毕后,一般由开发人员自己手动调试或使用工具测试,测试的内容也仅只验证该接口的正向功能和反向回传值是否正确,且远远不能保证自己开发的接口是否存在问题。而如今大型项目的软件系统开发中,后台的逻辑复杂程度远远高出很多,如何能够保证系统模块之间的数据交换传递正确、以及系统和系统之间的逻辑依赖关系,成为了一个非常重要的环节。在传统测试领域中大部分以功能测试为主的场景中,存在如下问题:1、测试人员大多没有开发基础,在对基于功能的API接口进行测试时,不知道如何测试,或测试用例无法覆盖功能点。测试时费时费力,测试周期太长。2、基于功能的前端测试(或UI自动化测试),无法满足系统的安全要求,从技术实现上来说,可通过抓包等手段实现跳过前端验证去后台模拟请求数据。3、开发人员开发工作量大,编写接口程序,无法详尽进行功能验证。4.在开发过程中有效的保证模块接口的全功能测试,在最短的时间内发现缺陷问题, ...
【技术保护点】
1.一种基于数据驱动的API自动化测试方法,其特征在于,包括:执行API测试主入口;为所述API进行参数配置并填写基本信息;根据所述API的测试用例约束规则生成测试用例数据;执行所述测试用例数据;根据模板文件生成测试报告;流程结束;其中,所述根据所述API的测试用例约束规则生成测试用例数据包括:读取配置文件中的所述基本信息;初始化;根据所述测试用例数据,设计公共约束规则,所述公共约束规则如下:规则1:按等价类分为有效取值范围和无效取值范围,结合需求约束规则,所述API的参数取值范围为1~N,则参数取值1‑N为有效取值范围,参数取值
【技术特征摘要】
1.一种基于数据驱动的API自动化测试方法,其特征在于,包括:执行API测试主入口;为所述API进行参数配置并填写基本信息;根据所述API的测试用例约束规则生成测试用例数据;执行所述测试用例数据;根据模板文件生成测试报告;流程结束;其中,所述根据所述API的测试用例约束规则生成测试用例数据包括:读取配置文件中的所述基本信息;初始化;根据所述测试用例数据,设计公共约束规则,所述公共约束规则如下:规则1:按等价类分为有效取值范围和无效取值范围,结合需求约束规则,所述API的参数取值范围为1~N,则参数取值1-N为有效取值范围,参数取值<1或者参数取值>N为无效取值范围;规则2:按边界值分为左边界和右边界,结合需求约束规则,所述参数的取值范围为2~N,则大于N的值为右边界,取值为N+1,小于2的值为左边界,取值为1;规则3:特殊值,结合需求约束规则,所述参数的特殊值包括:None、Null、”、True、False、特殊字符、半角空格、全角空格、敏感字符;规则4:接口SQL注入约束,结合需求约束规则,根据自定义设计约束;规则5:其他项;规则5.1:结合需求约束规则,生成的ID为无符号32位的UUID;规则5.2:必选验证,结合需求约束规则,所述参数的总个数为X个,其中Y个为必选参数,则生成Y个必选参数;规则5.3:可选验证,结合需求约束规则,所述参数的总个数为X个,其中Y个为必选参数,则生成Y个必选参数+多个可选参数的组合,其中所述多个可选参数的个数范围是0~(X-Y);规则5.4:参数名称验证,结合需求约束规则,将所述参数的名称的字母统一为大写字母或小写字母;根据需求约束规则结合公共约束规则进行API测试用例数据的组装,遍历生成所述测试用例数据并进行存储。2.根据权利要求1所述的基于数据驱动的API自动化测试方法,其特征在于,执行所述测试用例数据进一步包括:初始化;读取所述测试用例数据,获取所述测试用例数据的基本信息;根据所述测试用例数据的参数名称和参数内容,组装参数键值对;步骤S4.4:通过封装好的反射函数进行数据请求并获取返回值,如在请求过程中存在异常则进行异常处理后跳转至步骤S4.6;如果正常,则继续进行下一步骤;步骤S4.5:判断文件是否全部测试完毕,如果否,则跳至步骤S4.4;如果是,则继续进行下一步骤;步骤S4.6:进行日志记录以及测试子结果记录;根据报告模板文件以及所述测试子结果生成所述测试报告。3.根据权利要求1所述的基于数据驱动的API自动化测试方法,其特征在于,在所述根据模板文件生成所述测试报告前,所述测试用例数据执行完毕后,进行状态的返回。4.根据权利要求1所述的基于数据驱动的API自动化测试方法,其特征在于,所述测试用例数据存储在文件或者数据库中。5.根据权利要求1所述的基于数据驱动的API自动化测试方法,其特征在于,为所述API进行参数配置并填写基本信息包括:根据人机交互界面进行参数配置、或者基于配置文件进行参数配置;或者根据所述API的需求接口文档模版填写后进行文档解析。6.一种基于数据驱动的API自动化测试系统,其特征在于,包括:入口模块、配置模块、测试用例生成模块、API测试引擎模块、报告生成模块,所述入口模块用于执行API测试主入口...
【专利技术属性】
技术研发人员:李嘉政,马述杰,
申请(专利权)人:泰华智慧产业集团股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。