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