一、通过“Audit Workbench”进行测试
“Audit Workbench”支持Java语言源代码的测试。
二、通过“Scan Wizard”进行测试
“Scan Wizard”支持Java、Python、C/C++、.Net、Go、PHP、Flex、Action Script、HTML、XML、JavaScript、TypeScript、Kotlin、SQL、ABAP、ColdFusion语言或框架源代码的测试。
三、通过命令行进行测试
命令行方式支持各语言源代码的测试。
1、Linux项目测试
以Linux下C/C++程序代码测试为例:
1)代码编译
在代码测试执行前,首先需要进行C/C++程序代码的编译,如下面的示例:
gcc -I. -o hello.o -c helloworld.c
通过gcc编译器将代码进行编译。
2)代码测试
在代码编译后,使用sourceanalyzer命令进行代码文件测试。
sourceanalyzer -b <build_id> gcc -I. -o hello.o -c helloworld.c
3) 代码扫描结果文件生成
在代码测试后,使用sourceanalyzer命令进行代码文件扫描及结果文件生成。
sourceanalyzer -b <build_id> -scan -f hello.fpr
其中,本命令中的<build_id>与第2步命令中的<build_id>相同。成功生成结果文件后,可以基于该结果文件生成测试报告。
4)代码扫描结果文件生成
在代码测试后,使用 sourceanalyzer 命令进行代码文件扫描及结果文件生成。
2、iOS项目测试
(1)iOS项目测试条件
1) iOS项目需要使用non-fragile Objective-C runtime模式(ABI version 2或3)
2) 使用Apple “xcode-select command-line tool”设置Xcode path,同时供Fortify使用。
3) 确保项目相关依赖库文件已经包含在项目中。
4) 针对Swift代码,确保所有第三方模块都已经被包含,包括Cocoapods。
5) 如果项目中包含二进制的属性列表文件,需要将它们转化为XML格式,通过Xcode的putil命令进行转换。
6) 针对Objective-C项目,需要保证头文件能够被获取。
7) 针对WatchKit应用,需要同时转化iPhone应用和WatchKit扩展目标。
(2) iOS代码测试执行
sourceanalyzer -b <build_id> xcodebuild [<compiler_options>]
(谢绝转载,更多内容可查看我的主页)