手工测试:基于Jmeter或者Postman实现接口手工测试。 自动化测试:基于Jmeter实现接口自动化测试。
基于python语言的Requests库结合Jenkins实现持续的接口自动化测试。
借助于工具或者代码,实现对iwebshop项目的接口手工测试及接口自动化测试。
接口测试对象即iwebshop项目涉及到的接口,这里梳理其中典型及重要的接口清单,全部接口详细信息可在项目中获取。
用户类接口一共包括:用户注册、用户查询、密码修改 、账号注销、用户详情注册、用户详情修改、用户详情查询 七个功能,负责整个项目的用户管理。
商户类接口主要有店铺注册、店铺注销、店铺信息修改、店铺信息查询、商品添加、商品删除、商品下架、商品修改、商品查询、店铺进货统计、店铺盈利统计、店铺热销统计、店铺订单处理十三个功能组成,负责商户对店铺的管理和数据分析。
用户结构一共包括:收货地址,购物车,订单,商品评论四个模块,负责整个项目的用户管理。
用户类结构一共包括:收货地址,购物车,订单,商品评论四个功能,负责整个项目的用户管理。
该接口测试项目提供完整、高价值的项目实战过程,从以下三大方面培养接口测试的实战能力,丰富接口测试的项目经验: (1)接口测试流程的梳理与熟悉 (2)接口测试方法的设计与执行 (3)接口测试方案的选择与实施
(1) 接口需求分析 梳理并分析接口清单等。 (2) 设计测试用例 模板、要素、设计原则与方法等。 (3) 搭建测试环境 项目集成环境或者接口环境。 (4) 选择测试工具 Jmeter、postman、Fiddler等。 (5) 执行用例 Jmeter或者postman,Fiddler辅助。 (6)生成测试报告
(1) 接口需求分析 梳理并分析接口清单。 (2) 自动化接口筛选 接口使用率,接口复杂度等。 (3) 设计自动化用例 手工阶段的用例可以直接使用。 (4) 搭建测试环境 接口环境(项目环境),工具环境,代码环境-python、pycharm等。 (5) 设计自动化框架 执行框架、工具库、参数化、测试报告、持续集成等。 (6) 编写代码并执行 基于python(requests库等)及Jenkins,编写并执行代码,生成测试报告。
(1)接口测试用例的设计方法 关注数据传递、参数与参数值、业务关联场景等测试思路的梳理与分析。 (2)用例编写的规范与模板 使用模板熟悉用例编写,提升用例编写的规范性。 (3)用例评审与评估 用例分组评审与导师点评相结合,多角度积累用例设计经验。
(1)手工与自动化 该项目部分选择手工执行,部分选择自动化执行。 (2)工具与代码 手工执行选择工具Jmeter或者Postman,自动化执行选择python语言。 (3)接口自动化测试框架搭建 利用PO思想,分层设计自动化测试框架:
层级 | 框架或者工具库 | 功能 |
---|---|---|
接口层-api | requests库 | 熟悉requests库,构建接口请求 |
业务层-case | unittest | 封装接口请求,构建测试用例 |
数据层-data | ddt | 封装测试数据,参数化 |
测试报告-report | HtmlTestRunner | 自动生成HTML格式测试报告 |
工具层-tools | 第三方或者自定义工具包 | 其它层需要调用的各种工具或者功能 |
执行层-runner | 自定义 | 执行测试并生成报告 |
(4)数据驱动测试 使用数据封装技术与参数化技术,实现测试数据与测试脚本的分离,包括测试数据的导入、使用与测试结果数据的导出:
技术痛点 | 解决方案 | 功能 |
---|---|---|
数据封装 | 多种形式选择(csv、json、xls、数据库等) | 测试数据的存放与引用 |
参数化 | Jmeter元件、python(parameterized或者DDT) | 对测试数据的引入实现参数化 |
数据分离 | 数据驱动测试 | 数据与脚本维护效率高 |
数据回写 | 多种python第三方库(如openpyxl、pymysql等) | 实现csv、json、xls或者数据库的测试结果数据回写 |
(5)接口测试持续集成 python配合Jenkins实现接口测试持续集成,包括对接口测试任务的创建、部署、执行、上线实现自动