Fuzzing测试你懂吗?

Fuzzing测试对于很多同学都比较陌生,甚至一些做过多年测试的同学都没有听说过。作为以为专业的测试人员,一般是根据软件的功能逐步设计测试用例,先覆盖所有正常的功能,然后再设计一些非法的测试用例(俗称:negative),比如:一些非法的用户输入或者边界值,再然后是一些性能和压力的用例。即使是整个团队通过全面的用例review后,发现有时候用户还会报上来一下稀奇古怪的bug。

最著名的例子要属于,苹果手机在锁屏后,用户需要等待128年后才能解锁。而这一bug是一个小孩在玩她妈妈手机时遇到的。因为孩子的思维并不按套路出牌,而测试人员的思维都有定性思维。而这种定性思维是很难打破,就像一张已经画好的上水画,你要他改为人物画,几乎是不可能的。唯一的解决方案就是重新再画一张。

fuzzing测试可以叫模糊测试或者随机性测试。他更多的是利用程序的随机性进行测试或者接口的调用,打破按套路出牌。典型的用例就是安卓的monkey测试(这是一种fuzzing测试),他模拟用户在屏幕上乱点一通。当然monkey只是模拟用户在界面上乱点一通,有些更深层次,或者底层的问题无法发现,比如:协议的问题。fuzzing测试会构造一些非法的协议包来对设备进行攻击,比如:蓝牙协议,wifi协议等。当然fuzzing测试也会是渗透测试的首先工具,通过fuzzing可以发现系统一些未知的问题,然后再进一步进行攻击。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/paischool/article/details/89375683