发布网友
共1个回答
热心网友
Fortify是一款在代码审计中广泛应用的静态代码分析工具,尤其在金融等行业中受到青睐。它是软件开发组织及专业评测机构构建软件测试体系时的常用安全测试工具。在前面的文章中,我们已经介绍了Fortify的最新功能和通过“Audit Workbench”模式测试Java语言源代码的方法。接下来,本文将继续介绍通过“Scan Wizard”模式和命令行进行测试的操作流程。
通过“Scan Wizard”进行测试
“Scan Wizard”支持多种语言或框架的源代码测试,包括Java、Python、C/C++、.Net、Go、PHP、Flex、Action Script、HTML、XML、JavaScript、TypeScript、Kotlin、SQL、ABAP、ColdFusion。
(1)打开Scan Wizard
(2)选择Python文件所在目录
(3)确认测试工具自动识别内容
(4)选择库文件
(5)生成脚本文件
(6)完成脚本文件生成
(7)执行生成的脚本文件
通过命令行进行测试
命令行方式支持各语言源代码的测试。
一、Linux项目测试
以Linux下C/C++程序代码测试为例:
1. 代码编译
在代码测试执行前,首先需要进行C/C++程序代码的编译,如下面的示例:
gcc -I. -o hello.o -c helloworld.c
通过gcc编译器将代码进行编译。
2. 代码测试
在代码编译后,使用sourceanalyzer命令进行代码文件测试。
sourceanalyzer -b gcc -I. -o hello.o -c helloworld.c
3. 代码扫描结果文件生成
在代码测试后,使用sourceanalyzer命令进行代码文件扫描及结果文件生成。
sourceanalyzer -b -scan -f hello.fpr
其中,本命令中的与第2步命令中的相同。成功生成结果文件后,可以基于该结果文件生成测试报告。
4. 代码扫描结果文件生成
二、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 xcodebuild []
测试报告生成
通过“Scan Wizard”生成测试报告
通过“Scan Wizard”方式进行测试执行,会生成.fpr测试结果文件,然后通过命令行方式基于测试结果文件生成测试报告文件。
通过命令行生成测试报告
通过“Scan Wizard”方式或命令行方式生成测试结果文件后,可以基于“ReportGenerator”命令生成测试报告。
下面示例中,基于.fpr结果文件生成PDF格式的测试报告。
ReportGenerator -format pdf -f.pdf -source .fpr
.pdf为命名的PDF格式测试报告名称,.fpr为测试结果文件名称。
以上就是我们为大家介绍的Fortify不同模式下的使用操作流程,欢迎大家交流讨论。如需其他软件测试体系建设相关的内容可私信我交流。
(谢绝转载,更多内容可查看我的专栏)
相关链接:
@道普云 持续输出软件测试技术、软件测试团队建设、软件测评实验室认可等内容。不断更新中,欢迎交流探讨。
我的专栏:
性能测试 工具、方法、流程、诊断、调优......
安全测试 app安全测试、web安全测试、渗透测试、代码测试
软件测试CNAS认证 标准解读、*分析、体系建设、测试方法、测试工具
功能测试 功能自动化测试、自动化测试工具、测试用例、缺陷管理
新兴技术测试 人工智能系统测试、大数据系统测试、自动化测试...