1. 数据篡改
先抓包,选中报文后,点击Tools->Compose,可以进行数据的篡改并执行发送
篡改数据的目的:检测后端是否做了数据的正确性检查
2. 断点测试
在程序的某一行或者某一环节设置断点,在程序请求的过程中,修改断点处的参数、请求或者响应,借此定位问题,这类断点测试主要用于接口测试
断点测试可以通过查看接口返回数据可以方便定位是前端还是后端的问题,同时通过更改request和response数据可以很方便构造测试数据。简而言之,断点测试可以通过修改接口数据更快地定位问题。
断点的步骤:
1. 抓包捕获到对应的请求
2. 选中请求右键,选择“Breakpoints" ---即可将这个接口加入断点的配置中
-- 注意:默认是requests和response都会触发断点
3. 浏览器里再次触发这个接口请求
4. Charles跳转到断点的页面并显示请求消息
5.点击Edit Requests, 修改请求消息,然后点击“Execute",执行这个请求,查看页面显示结果
6. 响应消息也会触发断点,断点页面显示响应的信息
7. 点击Edit reponse, 修改响应消息内容
8. 然后点击“Execute“,执行这个响应
9. 查看页面结果显示
3. app弱网测试
弱网测试的关注点
1)app反应慢的时候有友好的提示信息
2)app在弱网情况下,提交数据不会重复提交 --支付
3)app不会出现crash、anr的情况
如何进行弱网测试?通过charles工具模拟弱网环境:
步骤如下:
1. 打开proxy->throttle settings, 勾选上“Enable Throttling", 启动限流;
2. 如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的“only for selected hosts"项,然后在对话框的下半部分设置中增加指定的hosts项即可。www.baidu.com
3. 设置throttle preset 的类型,选择预设的网络类型即可;或者也可以自己配置网络的指标设置弱网环境
3.2. 弱网各指标
Bandwidth(带宽)【吞吐量】-----指定上载和下载链接的不同带宽限制
Utilisation (利用率)----- 利用率是总带宽的百分比。它只是作为可用带宽的缩放比率,对于大多数现代互联网连接利用率始终是100%
Round-trip Latency(请求往返延迟)【延时】----往返延迟测量客户端和远程服务器之间往返通信的毫秒延迟
MTU(最大传输单元)----在任何传输的TCP数据包的最大尺寸
Reliability(可靠性)【丢包】----可靠性是衡量连接完全失败的可能性,这是非常有用的模拟不可靠的网络条件
Stability(稳定性)【抖动】----稳定性是衡量一个连接的可能性是不稳定的,因此降低了质量。这是非常有用的模拟网络,如移动网络,定期连接质量差。如果连接不稳定,则连接的质量会在不稳定的质量范围内随机下降。
unstable quality range(不稳定质量范围)---此处设置主要针对于stability中设置中的范围
例如,以下配置用于模拟不太好的2G蜂窝网络
带宽256kbps(上传和下载)/利用100%/延迟300ms/MTU为1500字节/可靠性75%/稳定性75%/不稳定的质量范围为20%至25%