本主题介绍如何执行静态分析,以识别不符合预配置或自定义静态分析规则集的代码。章节目录:
关于静态分析
静态分析是贯穿 SDLC 的诸多技术之一,用于帮助团队成员交付安全、可靠、兼容的 SOA。静态分析帮助团队确保开发活动满足组织的期望,确保跨所有 SOA 层的互操作性和一致性。
SOAtest 可以对 SOA 构件和 Web 接口执行静态分析。
对于 SOA,可对单个工件(如 WSDL 或 XML 文件)进行静态分析。它也被用作综合 SOA 策略实施框架的几个组成部分之一,相关内容在 SOA 质量治理与策略实施中有所讨论。
对于 Web 接口,SOAtest 的静态分析可以执行 Web 接口内容和结构的自动审计,自动扫描和分析 Web 资产,以确定可访问性、品牌、内部网标准遵从性和一致性。它检查并公开对基于 Web 应用程序的适当功能、可用性和可访问性带来潜在风险的问题。
它可以覆盖整个 web UI 或单个组件或模块。扫描结果显示为可操作的报告,可以识别错误对象,为快速分析和纠正暴露的问题提供直接链接。
评估分析涵盖以下范畴:
- 可达性:支持 Section 508、WAI 和 WCAG 2.0 指南。
- 品牌化:自动执行与站点布局和“外观”相关的策略。
- 内部网标准:识别敏感公司数据的使用。
- 一致性:防止断开链接、拼写错误、浏览器兼容性问题。
更具体地说,为了方便 Web 可访问性验证(Section 508、WAI、WCAG),SOAtest 自动识别积极地或可能违反 Section 508、WAI 和 WCAG 2.0 Web 可访问性指南的代码。在其自动审计期间,该解决方案检查 Web 接口是否符合核心可访问性准则,并帮助您识别需要进一步检查和/或修改的代码和页面元素。
此外,Parasoft 基于模式的代码分析监控 Web 语言代码是否遵循行业标准或定制规则,以确保代码满足围绕安全性、可靠性、性能和可维护性的统一期望。我们为 Web 语言(JavaScript、VBScript/ASP、HTML、CSS、XML 等等)提供了一个包含数百条可配置规则的扩展规则库,以及一个图形化的 RuleWizard 模块,该模块使构建和维护定制规则变得非常简单。
分析项目工作空间中的资源
可以使用以下过程执行静态分析:
- 项目工作空间中的任何源文件(例如,HTML、XML、WSDL 以及添加到项目工作空间中的其他源文件)。有关将源文件与 SOAtest 创建的项目关联的详情,请参阅 Eclipse Workbench User Guide(前往帮助 > 帮助内容)。
在项目工作空间内 SOAtest 测试套件中体现的任何网页(例如,SOAtest 在抓取 web UI 时访问的网页,或浏览器在 web 场景执行时下载的网页)。
对项目工作空间中的一个或多个文件执行静态分析的一般程序如下:
- 确保要分析的文件在 SOAtest 中可用。这些文件必须作为项目在工作空间中可用。
- 如果这些文件实际上不是项目的一部分,或者不是作为功能性 Web 测试执行时下载的,那么您可以对 web UI 进行 SOAtest“爬行”,然后分析访问的页面;详情请参阅配置 SOAtest 扫描 Web UI。
- 选择或创建具有首选静态分析设置的测试配置。
- 有关预配置测试配置的描述,请参阅内置测试配置。
- 有关如何创建自定义测试配置的详情,请参阅配置策略的测试配置和规则。
配置 SOAtest 在 Web 场景上运行静态分析
- 所选的测试配置必须启用测试执行(这是所有内置测试配置的默认设置)。
- 默认情况下,SOAtest 将静态地分析浏览器为了构建其数据模型而生成的单个 HTTP 消息。服务器按原样返回的内容(在任何浏览器处理之前)。如果您喜欢分析浏览器构建的 HTML(浏览器从它所加载的所有 HTML、JS、CSS 和其他文件构建的实时数据模型),您可以通过修改测试配置的执行设置来改变这一点。
- 选择要分析的资源,然后运行适当的测试配置。
- 若要测试在 SOAtest 爬行 web UI 时访问的 Web 页面,请选择包含扫描工具的测试套件,然后运行所需的测试配置。
- 若要测试浏览器在 web 场景执行时下载的 Web 页面,请选择包含场景的测试套件,然后运行所需的测试配置。
- 若要从命令行执行静态分析,请按照在命令行界面使用 - soatestcli 进行测试中所描述的步骤使用。
- 若要测试在 SOAtest 爬行 web UI 时访问的 Web 页面,请选择包含扫描工具的测试套件,然后运行所需的测试配置。
- 使用适当的静态分析结果布局选项检查和响应结果。
- 详情请参阅查看静态分析结果。
- (可选)根据需要微调静态分析设置。
- 详情请参阅自定义静态分析:概述。
评审和重新测试扫描的资源
扫描透视图的设计目的是方便在静态分析期间检查和重新测试扫描的资源。
打开扫描透视图
要打开扫描透视图,请前往窗口> 透视图> 打开透视图> Parasoft 扫描器。
该透视图与 SOAtest 透视图相似,但它有两个额外的特征:
- 用于测试单个 URL 或文件的快速测试工具栏按钮(如Reviewing and Retesting Scanned Resources中所述)。可以通过前往窗口> 定制透视图> 命令并启用 SOAtest 扫描将此按钮添加到任意透视图。
- 已扫描资源视图。可以通过选择窗口> 显示视图> Parasoft> 已扫描的资源列表将此视图添加到任意透视图。
检查已扫描资源
已扫描资源视图将显示扫描工具扫描的资源。运行扫描工具之后,可以在测试用例浏览器选中,已扫描的资源列表将显示该扫描工具所扫描的所有项。
您可以右键点击该视图中的单个文件,并选择在编辑器或 web 浏览器中打开。
分析项目工作空间之外的文件
若要快速访问和扫描工作空间中不可用的资源:
- 通过选择窗口> 透视图> 打开透视图> Parasoft 扫描器打开扫描透视图。
- 使用快速测试工具栏按钮开始测试:
- 若要使用“收藏”(默认)测试配置运行测试,只需点击该工具栏按钮即可。
- 若要使用另一个测试配置运行测试,请使用该按钮的下拉菜单。
- 若只检查特定类别的规则,请选择内建> 静态分析规则> [分类]。
- 指定如何访问要扫描的资源(可以指定 URL 或文件路径)。
- 文件路径可以是绝对路径,也可以是 Eclipse 工作空间路径)。
- 所指定文件也可以是包含 URL 列表的 .urls 文件(详情请参阅使用 .urls 文件)。
教程
有关如何在 web UI 上执行静态分析的详细教程,请参阅 Web 静态分析。