Fuzzing测试你懂吗?

本文介绍了一种非传统的软件测试方法——Fuzzing测试,它通过随机性和不确定性来检测软件中难以预见的错误。文章举例说明了传统测试方法的局限性,并详细解释了Fuzzing测试的工作原理,包括安卓的Monkey测试和对协议的非法包构造,展示了其在发现系统未知问题和渗透测试中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值