11、加解密接口的处理:
目标
- 知道项目中接口加解密的实现流程
- 了解加解密的代码实现
- 知道Jmeter如何实现接口加解密测试
- 知道基于Requests如何实现接口加解密测试
1、APP端/客户端接口加解密介绍
1.1加密方式(两种)
- 在TCP/IP四层模型中的应用层进行加密。类似密码本,当前项目使用的是这种,可以看到所有响应内容,只是看不懂。
- 在TCP/IP四层模型中的运输层和应用层之间进行加密,通过传输协议实现加密,如https。类似加密路径,此种加密方式抓取到的报文响应内容全是乱码
2、加解密接口测试时的要点
核心就是:编写出与应用服务器相匹配的加密和解密方法
所以在公司中加解密的接口测试如何进行:
- 找开发来要加解密的方法(因为项目代码中一定有对应的加解密方法)
- 在测试环境中将加解密的方法跳过(需要跟开发讨论,看难度和影响而定)
12、系统测试执行要点:
正常情况下公司中系统测试分为多轮进行:
- 第一轮通常是需要执行所有的系统测试用例(必须有)
- 执行过程中的所有缺陷需要及时提交缺陷报告
- 第二轮通常是根据替丁的策略来选择部分的系统测试用例进行执行
- 特定的策略通常由测试主管来制定
- 策略一般有:根据优先级(高、中),模块(风险高的模块)、根据用例的类型(功能、稳定性、兼容性)……
- 第三轮通常是发散测试
- 常见的形式是:组内交叉测试(正常情况下A负责模块1,B负责模块2;交叉测试时,B负责模块1,A负责模块2,而且不需要按照用例来执行)
- 最后为了保险起见,发布前有时还会针对所有Level0即最高优先级的用例再进行一轮测试,保证发布的系统基本功能可用。
13、BUG定位
要求:
- 基本要求:定位出bug所属前端还是后端
- 更高要求:bug所属模块,bug的代码级别(不要求)
价值:
- 找到BUG的复现路径,提升开发修复BUG的效率
- 提升自身的逻辑思维与技术能力
定位的技巧:
- 逻辑分析
- 分析所有可能,逐个排查
- 找到最短复现路径
案例:玩CF游戏,从高处跳下来,概率出现不掉血的情况 —— bug
逻辑分析定位:
- 分析问题可能的原因:高度、重量、地形、姿势……
- 针对每一个维度分别进行测试分析,将其他因素固定,只改变其中一个因素
- 最终确定会产生bug的影响因素
- 技术手段
- 查看数据库
- 抓包分析
- 查看服务器日志
案例/面试题:界面上添加用户,在用户列表中未看到对应的用户信息
借助技术手段来定位:
- 查看数据库中是否有对应的用户记录
- 有则说明,题目中的两个操作,添加用户的操作成功,查看用户的操作失败
- 没有则说明,添加用户的操作没有成功
- 针对第一步确定下来失败的业务操作进行抓包,观察所有的请求和响应数据,同时抓包服务器的日志
- 先看响应码,如果响应中有4XX错误,客户端请求有问题;5XX错误,服务端有问题(大概率是BUG);2XX,则需要进一步的分析
- ——响应为200时,检查响应内容:
- 响应正确,但前端页面显示不出来,查看响应字段和前端定义字段是否匹配,若不匹配,找前端人员来确定是前端/后端没定义好
- 响应错误,检查请求参数是否正确
- 请求参数不正确,前端代码问题
- 请求参数正确,但响应错误,结合服务器日志来进行问题的定位(大概率为后端代码问题)
- 先看响应码,如果响应中有4XX错误,客户端请求有问题;5XX错误,服务端有问题(大概率是BUG);2XX,则需要进一步的分析
- 查看数据库中是否有对应的用户记录
备注:服务器日志需要与开发人员确定其所在位置(可写入日志文件,也可能直接打印在命令行窗口)