接口测试项目目标

借助工具实现接口测试

手工测试:基于Jmeter或者Postman实现接口手工测试。 自动化测试:基于Jmeter实现接口自动化测试。

借助代码实现接口自动化测试

基于python语言的Requests库结合Jenkins实现持续的接口自动化测试。

接口测试项目内容

借助于工具或者代码,实现对iwebshop项目的接口手工测试及接口自动化测试。

接口测试项目对象

接口测试对象即iwebshop项目涉及到的接口,这里梳理其中典型及重要的接口清单,全部接口详细信息可在项目中获取。

接口清单

接口名称调用地址调用方式
用户注册https://api.iwebshop.com/v1/User/POST
用户查询https://api.iwebshop.com/v1/User/GET
密码修改https://api.iwebshop.com/v1/User/int:id/PUT
账号注销https://api.iwebshop.com/v1/User/int:id/DELETE
用户详情注册https://api.iwebshop.com/v1/UserInfo/POST
用户详情修改https://api.iwebshop.com/v1/UserInfo/PUT
用户详情查询https://api.iwebshop.com/v1UserInfo/GET
用户登录https://api.iwebshop.com//v1/Auth/POST
用户退出https://api.iwebshop.com/v1/Auth/GET
店铺注册https://api.iwebshop.com/v1/Store/POST
店铺注销https://api.iwebshop.com/v1/Store/int:id/DELETE
店铺信息修改https://api.iwebshop.com/v1/Store/int:id/PUT
店铺信息查询https://api.iwebshop.com/v1/Store/GET
商品添加https://api.iwebshop.com/v1/Goods/POST
商品删除https://api.iwebshop.com/v1/Goods/DELETE
商品下架https://api.iwebshop.com/v1/Goods/PATCH
商品修改https://api.iwebshop.com/v1/Goods/PUT
商品查询https://api.iwebshop.com/v1/Goods/GET
加入购物车https://api.iwebshop.com/v1/Car/POST
删除购物车https://api.iwebshop.com/v1/Car/DELETE
修改购物车https://api.iwebshop.com/v1/Car/PUT
查询购物车https://api.iwebshop.com/v1/Car/GET
订单生成https://api.iwebshop.com/v1/Order/POST
订单查询https://api.iwebshop.com/v1/Order/GET
订单修改https://api.iwebshop.com/v1/Order/PUT
撤销订单https://api.iwebshop.com/v1/Order/DELETE
发表商品评论https://api.iwebshop.com/v1/Comment/POST
删除商品评论https://api.iwebshop.com/v1/Comment/DELET
修改商品评论https://api.iwebshop.com/v1/Comment/PUT
查询商品评论https://api.iwebshop.com/v1/Comment/GET
用户退款审核https://api.iwebshop.com/v1/OrderMoney/PATCH
用户退款查询https://api.iwebshop.com/v1/OrderMoney/GET
商品上架,下架审核https://api.iwebshop.com/v1/Admin/StoreGoods/PATCH

用户类接口

用户类接口一共包括:用户注册、用户查询、密码修改 、账号注销、用户详情注册、用户详情修改、用户详情查询 七个功能,负责整个项目的用户管理。

商户类接口

商户类接口主要有店铺注册、店铺注销、店铺信息修改、店铺信息查询、商品添加、商品删除、商品下架、商品修改、商品查询、店铺进货统计、店铺盈利统计、店铺热销统计、店铺订单处理十三个功能组成,负责商户对店铺的管理和数据分析。

消费者接口

用户结构一共包括:收货地址,购物车,订单,商品评论四个模块,负责整个项目的用户管理。

平台接口

用户类结构一共包括:收货地址,购物车,订单,商品评论四个功能,负责整个项目的用户管理。

 

接口测试项目技术

技术说明

该接口测试项目提供完整、高价值的项目实战过程,从以下三大方面培养接口测试的实战能力,丰富接口测试的项目经验: (1)接口测试流程的梳理与熟悉 (2)接口测试方法的设计与执行 (3)接口测试方案的选择与实施

接口测试流程

1、手工测试流程

(1) 接口需求分析 梳理并分析接口清单等。 (2) 设计测试用例 模板、要素、设计原则与方法等。 (3) 搭建测试环境 项目集成环境或者接口环境。 (4) 选择测试工具 Jmeter、postman、Fiddler等。 (5) 执行用例 Jmeter或者postman,Fiddler辅助。 (6)生成测试报告

2、自动化测试流程

(1) 接口需求分析 梳理并分析接口清单。 (2) 自动化接口筛选 接口使用率,接口复杂度等。 (3) 设计自动化用例 手工阶段的用例可以直接使用。 (4) 搭建测试环境 接口环境(项目环境),工具环境,代码环境-python、pycharm等。 (5) 设计自动化框架 执行框架、工具库、参数化、测试报告、持续集成等。 (6) 编写代码并执行 基于python(requests库等)及Jenkins,编写并执行代码,生成测试报告。

接口测试方法

(1)接口测试用例的设计方法 关注数据传递、参数与参数值、业务关联场景等测试思路的梳理与分析。 (2)用例编写的规范与模板 使用模板熟悉用例编写,提升用例编写的规范性。 (3)用例评审与评估 用例分组评审与导师点评相结合,多角度积累用例设计经验。

接口测试方案与框架

(1)手工与自动化 该项目部分选择手工执行,部分选择自动化执行。 (2)工具与代码 手工执行选择工具Jmeter或者Postman,自动化执行选择python语言。 (3)接口自动化测试框架搭建 利用PO思想,分层设计自动化测试框架:

层级框架或者工具库功能
接口层-apirequests库熟悉requests库,构建接口请求
业务层-caseunittest封装接口请求,构建测试用例
数据层-dataddt封装测试数据,参数化
测试报告-reportHtmlTestRunner自动生成HTML格式测试报告
工具层-tools第三方或者自定义工具包其它层需要调用的各种工具或者功能
执行层-runner自定义执行测试并生成报告

(4)数据驱动测试 使用数据封装技术与参数化技术,实现测试数据与测试脚本的分离,包括测试数据的导入、使用与测试结果数据的导出:

技术痛点解决方案功能
数据封装多种形式选择(csv、json、xls、数据库等)测试数据的存放与引用
参数化Jmeter元件、python(parameterized或者DDT)对测试数据的引入实现参数化
数据分离数据驱动测试数据与脚本维护效率高
数据回写多种python第三方库(如openpyxl、pymysql等)实现csv、json、xls或者数据库的测试结果数据回写

(5)接口测试持续集成 python配合Jenkins实现接口测试持续集成,包括对接口测试任务的创建、部署、执行、上线实现自动