22、提升代码可测试性的方法与工具

提升代码可测试性的方法与工具

1. 模糊测试的优缺点

模糊测试是一种强大且有效的发现程序安全漏洞和盲点的方法,但它也存在一些缺点:
- 运行时长难确定 :基于变异的模糊测试可能会无限运行,因此很难选择一个既能有意义地发现漏洞,又不会消耗过多时间的测试时长。
- 针对独立程序选项有限 :大多数 JavaScript 模糊测试主要针对浏览器和 JavaScript 引擎等宿主环境,针对独立 JavaScript 程序的模糊测试选项有限。
- 测试结果有重叠 :模糊测试可能会发现数百个与同一故障点相关的漏洞,这意味着会得到数百个有不必要重叠的测试。因此,在将生成的测试添加到永久测试套件之前,必须单独考虑每个缺陷,并结合整个漏洞集合的情况。
- 难以区分错误来源 :模糊测试不仅能发现程序中的漏洞,还能发现底层语言中的漏洞。因此,很难区分是程序中的错误还是 JavaScript 解释器中的故障。

虽然对 JavaScript 应用程序进行模糊测试确实能让程序员惊叹于其找出漏洞的能力,但很难直接将其聚焦于你的应用程序。不过,有一些类似模糊测试的工具可以以意想不到的方式处理应用程序,并且可以专门针对程序进行测试,比如 JSCheck。

2. JSCheck 测试工具

2.1 JSCheck 简介

JSCheck 是由 Douglas Crockford 编写的测试工具,受 QuickCheck 启发。基于生成的模糊测试使用约束和规则空间来限制其生成的随机数据

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值