经验总结:使用Fiddler进行数据篡改测试(修改十六进制流)
Fiddler不但是强大的抓包工具,还能做篡改、Mock测试等,学会工具并灵活应用才是真本事
1.故事背景
这次程序组升级了LBG模型文件的版本号,本地LBG库也做了更新强化,既然LBG有版本号的概念,那肯定要测试后续新LBG模型在老LBG库中或老LBG模型在新LBG库中使用是否正常,老版本LBG好找,我们只要把之前的工程拿过来测试就OK了,但后续的新LBG模型肯定是拿不到了,因为这是未来版本,那我们怎么测试了,要程序做一个未来包含的模型文件?也是可以的,但如果这样的话,就没有这篇文章了,哈哈,对于一个有追求技术的测试来说,我还是希望自己动手丰衣足食的。
我们知道LBG模型文件中肯定有一个地方是写着版本号,不然程序是怎么判断的?具体到什么地方我们可以问程序,我们现在要做的就是把这个版本号变大,假设你已经找到了这个位置,那怎么改这个版本号?LBG是一个模型文件不可能简单的直接改文件了,最后我们咨询了一下程序,我们可以通过改十六进制的方式达到我们的目的,我这里主要介绍通过fiddler修改方式,还有很多其它工具也可以。
2.操作步骤
1.首先打开fiddler调整好手机抓包,选择一个工程,进入到工程界面,然后把手机抓包断点模式调整到响应断点。
3.右击这个请求,选择保存,选择“Response Body...”如下图。
4.用MD5工具计算一下刚保存的文件的MD5,把这个MD5记下来。
7.这时候会看到客户端会弹出提示“图形文件版本过高,请升级软件版本”的提示,这就是我们要测试的点,看程序是否正常处理了这样的异常,通过这种测试我们提前预知了未来版本可能出现的异常,当然在这个过程中我们还发现了程序在处理高版本时的其它BUG,如果我们不提前测试,可能在下次出现打开高版本LBG时出现不能使用的事故。