Fiddler工具的工作原理

1.本地应用与服务器之间所有的Request 和Response都将经过Fiddler,由Fiddler进行转发,此时Fiddler以代理服务器的方式存在。

2.由于所有的网络数据都会经过Fiddler,因此Fiddler能够截获这些数据,实现网络数据的抓包。

fiddler工具的作用和常使用场景

Fiddler是一款常见的抓包分析工具,可详细的对HTTP 请求进行分析,并模拟对应的HTTP请求。

作 用

1)查看本机IP

2)模拟限速操作

3)篡改数据

4)重定向功能

5)发送自定义请求,模拟小型接口测试

6)App抓包

4 大 常 用 场 景

1)辅助定位bug–抓取协议包,前后端联调

2)APP弱网模拟测试–弱网、断网、404、502、超时

3)前端性能分析及优化

4)构建模拟测试场景–数据篡改、重定向

1、辅助定位bug

合格的软件测试工程师,不仅仅需要能够发现bug,还需要能透过bug表象,分析出问题根本原因,从而提升bug的解决效率。

通过fiddler可以抓取request和response,通过对参数进行分析,可以定位是前端问题还是后台问题。

例如:在APP界面输入数据,点击下一步时,提示错误;这时候不能判断问题的根本原因在哪里,是前端页面作限制导致?还是前端request的参数问题,又或者是后台程序挂了?

这个时候就可以通过fiddler抓包,分析request、response来判断问题根本原因所在。

2、APP弱网模拟测试

移动端测试区别于PC端测试的一点就是网络的多变性;不同的网络环境和网络类型的差异,都会对用户使用app造成一定影响。

例如:进地铁、进电梯等相对密闭环境,如果app没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。因此,app网络测试,特别是弱网测试显得尤为重要。

3、前端性能分析及优化

前端性能在一定程度可以提升用户体验,而前端的性能数据可以通过fiddler的Statistics和Timeline来获取,从而为性能分析及优化提供依据。

4、构建模拟测试场景(mock)

在测试过程中,为了测试覆盖率,往往需要执行很多场景的用例来验证某一功能在各种场景下的业务处理能力,包括正常、异常的场景;

而仅仅通过页面端来发起交易,往往是不能够模拟所有场景的;

例如:常见的登录功能,输入超出长度的的账号、密码,一般都是在前端就提示错误了,这样就不能够测试服务端接收到超出长度的请求时的处理场景了。

又例如:天气预报,测试时只能根据当前的城市、天气情况来测试,如何快速的将全部天气信息匹配的icon和出行提示验证完毕,这就可以通过修改response数据来实现测试场景。

利用fiddler的Breakpoints、AutoResponsder等功能,可以通过修改request或者response的参数,来实现构建模拟测试场景。