背景介绍
小程序类型的商城,重点让用户在小程序下单
业务介绍
首先商城的项目包括的功能会有账号管理、商品管理、下单、营销、促销,然后商城是小程序的项目,重点是让用户在小程序下单,将订单推送至公司的仓储系统,后续用户可以通过小程序查看订单的物流信息和订单的确认收货和评价
架构介绍
暂无
测试目标
当前问题
1、每次版本升级的时候在stg环境中都需要主流程回归,平均6个测试人员都要占用半到一个小时的工作时间进行回归主流程,还会有经常漏检查表落库的情况
2、还有一些接口是提供给外部的平台使用,所以对应的openapi中会有鉴权的校验
测试方案的主要目标为
阶段 | 目标 | 时间 |
---|---|---|
阶段一 | 写接口测试的框架 | Q1 |
阶段二 | 针对主流程的业务写接口测试自动化脚本 | Q2 |
阶段三 | 对接口中回归不到的功能使用ui自动化代替 | Q3 |
阶段四 | 框架中能兼容专门给外部提供的接口鉴权与单模块的接口脚本编写 | Q4 |
测试策略
1. 接口自动化
【工具的选择】
因为考虑到主流程中会需要MySQL和Redis的检查,然后市面上的在线接口工具检查Redis比较麻烦,所以就用了Python工具搭建框架,就能自行做对接口适用的工具使用。
【工具的搭建】
框架中主要使用的是:pytest+requests
框架中数据驱动用的是:Yaml
框架中断言的是结合了DB_mysql、jsonpath、DB_redis进行断言的工具
【框架的使用】
可以通过对应的data文件专门生成一个可运行的对应py文件,对应的Yaml文件就需要按照一个个接口调用样式需要的编写,模版为:
-
test:
name:
request:
url :
method : post
headers: {
“Authorization”: Bearer $access_token
}
json: {}
check:
- eq: [“$.status”, 200]
【接口主流程的实践】
实践流程为:先针对正向流的主流程,编写对应的主流程测试用例,再通过测试用例的编码,生成Yaml文件。
这整个过程需安排两个测试人员专门编写主流程的脚本,大概可用的时间为3~5个月。
2. UI自动化
【需要ui自动化的原因】
因为主流程中有一些涉及到微信支付需要下的订单,所以需要通过ui自动化实现需要微信支付的场景
【工具的选择】
因为公司有购买云测的平台服务,所以就用云测的图像识别的ui自动化编写主流程的脚本
【UI自动化的实践】
首先也是针对需要支付的主流程编写ui的主流程测试用例,因为测试用例比较少,就让一位测试人员进行编写脚本
3. 供应外部接口的鉴权
【遇到的问题】
当主流程的脚本编写完之后,想针对给外部提供的接口进行单独的回归测试,但对应的接口有鉴权的问题
【问题的解决】
根据接口的鉴权规则,通过在框架中的header做特殊处理,进行对应的鉴权处理,与开发进行对应的了解