本主题涵盖如何分析和纠正静态分析违规。
本章包含:
访问结果
可以从 GUI 中的各种位置以及命令行报告访问结果。
对于在 GUI 中运行的静态分析,结果将在质量分析视图中报告。
在编辑器中打开一个测试过的源文件,违反静态分析规则的源代码将被标记为与违反规则相关的代码行旁边的标记。鼠标移动到标记上,并在弹出窗口中查看静态分析规则和其他信息。还可以通过右键单击负责该问题的源代码并选择,打开质量任务视图消息,并选择 Parasoft> Show in Tasks.
对于从命令行接口执行的静态分析,违规将在报告的 Static Analysis 部分中报告。如果违规被发送到团队服务器或 DTP,则可以将其导入 GUI,如 将结果导入 UI中所述。然后它们将出现在质量任务视图中。
静态分析错误不是功能测试失败的标准。例如,测试可以执行成功时,您可以在 web 上运行静态分析场景,包括浏览器回放工具或扫描工具,但是如果静态引用页中发现错误,那么测试将通过,并且静态分析错误将在质量任务视图中报告。
测试结果在 GUI 中运行
测试进度视图
Test Progress 视图报告测试进度和状态报告。
注意:
- 当测试运行时,视图标签从 "Test Progress” 更改为 "Testing [Test Configuration name]。
- 单击 Review tasks 按钮将在 质量任务 视图中显示结果。
- 每个分析类别的结果摘要在可扩展部分中提供。
- 测试进展 视图右上角的工具栏按钮允许您生成报告。
这将打开 Report 对话框,您可以从中配置报告首选项。
质量任务视图
在交互测试期间生成的或从命令行测试导入的分配的质量任务显示在 质量任务 视图中。如果该视图不可用,请选择 Parasoft> Show View> Quality Tasks 打开它。若要查看其他详细信息,请向下深究 Quality Tasks 视图树。若要切换此视图中报告的项,请使用视图工具栏中的箭头按钮。
结果以任务列表的形式显示,帮助您确定如何进行测试和代码改进。任务按作者、类别、严重度(如果指定)进行组织。严重级别从 1 到 5。严重级别 1 的任务被估计有最大的机会消除或预防一个关键错误,而严重级别 5 的任务被估计有最小的机会消除或预防一个关键错误。
根据产品功能的不同,任务被组织到不同的类别中。若要了解适用的类别,请参阅相关的产品文档。
源代码标记
对于在源文件上运行的测试,结果也在源代码级别报告。
如果您打开一个测试源文件的编辑器,标记将被放置在负责发现问题的源代码旁边。对于静态代码分析违规,标记放在负责违规的代码行旁边。对于单元测试错误,在堆栈跟踪的第一行放置与测试类匹配的标记。对于单元测试失败或测试类未知的错误,在堆栈跟踪的第一行放置与单元测试类匹配的标记。若要了解特定标记所指示的问题,请将鼠标放在标记上并查看弹出窗口中的信息。或者,直接跳转至相关的 Quality Tasks 试图消息,右键单击负责该问题的源代码,选择 Show In> Quality Tasks (针对 Eclipse)或 Parasoft> Show in Quality Tasks
控制台视图
若要查看测试详情,请在测试执行期间打开 Console 视图。当一个测试正在进行时,测试细节将在这里报告,并一直保留到它们被清除或者运行另一个测试为止。
测试结果从命令行运行
对于从命令行运行的测试,结果将记录在生成的报告中。如果将结果发送到团队服务器,则可以将结果导入 GUI,如 将结果导入 UI中所述。然后,您可以像在 GUI 中执行测试一样检查结果。
修改结果布局
默认的质量任务视图布局用于显示功能测试结果。
为了方便查看静态分析结果,SOAtest 提供了另外两种布局:
- SOAtest 静态分析布局:如果您正在对源代码运行静态分析,则建议使用此选项。(比如,从扫描透视图中)
- SOAtest 功能测试的静态分析视图:如果您通过执行测试套件(例如,包含浏览器回放工具或扫描工具的测试套件)来运行静态分析,则建议使用此选项。使用这种布局,SOAtest 将报告发现每个静态分析错误的测试,以及发生静态分析错误的文件的名称。如果错误发生在浏览器构造的 HTML 中,SOAtest 将报告“浏览器构造的 HTML(<Browser name and version>)”,而不是一个特定的文件名。
若要选择一个静态分析布局,请完成以下内容:
- 打开“质量任务”驶入右上角的下拉菜单。
- 从打开的 Show 快捷菜单中选择一种可用格式。
响应结果
我们建议您和您的团队对报告的每一项违规行为进行规则描述和相关代码的审核,然后决定是否:
- 违规是有效的和重要的(以及该违规是否应该被纠正)
- 该规则不适用于该特定上下文(应该禁止违反)
- 该规则不适合您的项目或优先级(应该禁用相关规则)
许多团队喜欢在代码评审期间检查 SOAtest 的静态分析违规。开发人员使用团队架构师和/或经理选择的规则检查他们的代码。如果开发人员认为忽略特定的规则违反是有意义的,那么开发人员将在代码评审中讨论这个问题。然后,团队决定是否应该禁止违规、禁用规则或纠正违规。
学习更多关于违规的知识
SOAtest 规则描述可以帮助您确定您的团队想要遵循哪些规则,了解报告的违规如何影响应用程序的可靠性、安全性、可维护性等,并学习如何纠正报告的违规。
若要查看规则描述文件,请右键单击质量任务视图中的静态分析违规消息,然后从快捷菜单中选择 View Documentation 。一个黄色的“Yield”符号标记您应该右击的节点。
提示
若要了解 SOAtest 包含的静态分析规则,请选择 Help> Help Contents,然后打开 SOAtest Static Analysis Rules 图书,然后浏览可用规则说明文件。
若要查看给定测试配置配置检查的所有静态分析规则的列表,以及所有已启用规则的描述,请完成以下操作:
- 通过选择 Parasoft> Test Configurations 或选择 Test Using 工具栏按钮上下拉菜单中的 Test Configurations ,打开测试配置对话框。
- 选择想要规则列表的测试配置类别。
- 打开 Static 选项卡。
- 单击 Printable Docs。
如果想打印规则列表和所有相关的规则描述,请在打印主要规则列表之前启用浏览器的 Print all linked documents 打印器选项(index.html 页面)。如果想生成 PDF,请从 index.html 页面创建一个 PDF;请确保将 PDF 生成器配置为包含链接页面(在 Acrobat 中,通过启用 Get entire site 选项)。
如果您想检查您的代码是否遵循单个编码标准、预定义的编码标准类别或所有可用的编码标准,您可以“动态”检查编码标准。若要以这种方式检查编码标准:
- 请在 SOAtest 透视图的导航器中,选择要测试的资源。
- 请进行下列其中一项操作:
- 从 Test Using 下拉菜单中选择 Test Using> Built-in> Static Analysis> [desired rule or category of rules] 。
- 选择 Parasoft> Test Using> Built-in> Static Analysis> [desired rule or cate-gory of rules]。
审查和纠正负责任的源代码
若要查看违反规则的源代码,请双击显示行号的节点,或者右键单击该节点,并从快捷菜单中选择 Go to 。然后编辑器将打开并突出显示指定的代码行。
您可以进行必要的修改,然后保存修改后的文件。
无法看到与从团队服务器导入的静态分析任务相关联的源代码?
如果您无法查看导入的静态分析任务的源代码(例如,显示了错误页面的源代码),这可能是因为您的本地 SOAtest 安装无法访问生成该页面所需的登录信息。
如果您在您的 SOAtest GUI 中重新运行该测试,那么您应该能够看到与所报告的违规相关的代码。
禁止报告“允许的”违规行为
请查阅 抑制报告可接受的违规行为。