目录
在一些测试场景我们已经针对被测代码开展了单元功能测试或者即将开展
我们可以使用codefuzzer商业版本的变种codefuzzer_TestUnit对这一场景进行测试
在这一场景,我们拥有遗传算法,样本进化,内存hook等灰白盒fuzz技术的能力
并主要依赖asan和工具自带的一些功能进行问题监控
在这一场景,我们可以充分利用原有的单元功能测试用例
1. 如果单元测试框架为gtest,可以直接使用codefuzzer_TestUnit,如果是其他测试框架,需要联系青草莓公司进行简单适配
2. 将原有的针对被测试函数的单元功能测试用例,简单修改成单元fuzz用例
3. 将用例与被测代码或者被测so链接成libcyan.so
4. 使用codefuzzer_TestUnit命令行工具调用libcyan.so进行测试
在单元测试框架下开展测试
拥有源代码的c,c++测试场景
被测代码应使用一些特殊的gcc或者clang编译器选项进行变异,以获得更好的测试效果
一些单元功能用例成熟场景,可以使用codefuzzer_TestUnit的fuzzing用例自动生成功能
另外,我们可以根据被测函数的返回值和codefuzzer提供的一些范围变异功能编写一些fuzz用例来发现被测函数的逻辑问题
客服1