Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25912
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 123
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-04 15:30
文章分类

全部博文(8)

文章存档

2014年(1)

2013年(7)

我的朋友

分类: 网络与安全

2013-12-21 22:05:01

      谈到测试,其实对于一个软件从业人员来讲并不陌生,无论是单元测试、系统测试、集成测试还是白盒测试黑盒测试...这些都是我们所熟悉的。但是模糊测试这个概念我还是头一次听说。再看副标题
谈到测试,其实对于一个软件从业人员来讲并不陌生,无论是单元测试、系统测试、集成测试还是白盒测试黑盒测试...这些都是我们所熟悉的。当我看到这本书的名字——模糊测试时,心中便升起不少好奇,毕竟这个概念我还是头一次听说。再看副标题更是让我兴趣陡增,还有专门用来发现安全漏洞的测试?
     认真阅读了试读章节,我对模糊测试有了一个大体的概念。其实书中的定义还是蛮清楚的,不过我总结下来其实有两个要点:首先,模糊测试是一种自动化测试。它是通过模糊测试器或模糊测试套件来实现对测试目标(软件或库或程序或…一切可测试的玩意儿)故障的检测的。其次,模糊测试的关注点是非法输入。通常我们所运用的测试方法中,无论白盒的各种覆盖还是黑盒的等价类判定树抑或边界值,其实往往关注的是系统能不能实现所要的功能,这可以理解为一种正向的测试,即系统能不能实现需求所描述的功能。只有边界值测试少量关注了一些非法输入,但这对于软件漏洞而言是远远不够的。而本书向我们介绍的模糊测试恰恰相反,所以我将其理解为了测试的反面。其实我们可以将整个测试目标理解为一个空间,在这个空间内的是我们想要其实现的,意即我们通常进行的测试所测试的部分;而在这个空间之外,是无穷无尽的宇宙空间,这个空间充满了非正常的输入,测试目标在这些非正常输入下的表现往往就能暴露出其是否有漏洞,这也正是模糊测试能够发现软件漏洞的原因所在。同时正因为这个非正常的空间是无限的,所以第一点自动化也就无可厚非了
     了解了这个概念再看其余部分其实就非常容易理解了,测试步骤中有别于其他测试的监视和评估阶段,其实是因为进行异常测试所以如果软件奔溃了需要知道其奔溃的类型以及严重程度,这个就很正常了。而对于试读章节剩下的部分讲得模糊测试的局限性,其实还是因为以上两点的,理解起来就并不难了,因为一个自动化的工具毕竟是一个软件,是没有智能的,所以它不能像黑客深挖系统的漏洞并加以利用。不过其对测试的贡献还是非常大的,毕竟还是能够发现一些漏洞,完成一些手工无法完成的工作的,不是吗?!
     再谈谈我对本书的看法,由于试读没有目录,特地从网上找了一下,全书26章,算是一本大部头的书籍了,再看内容,涉及的面非常广泛,针对不同测试目标的各种模糊测试的工具和方法以及具体的案例应有尽有。我觉得每一位想要让自己设计的软件更好的运行的开发人员和每个想让自己测试水平有提升的测试人员都应该读读本书,书中全面的内容丰富的案例再辅以作者形象的类比和直白简洁的讲述一定会让我们收获非小。


阅读(1207) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~