本主题解释如何执行静态分析,以识别不符合预配置或自定义的静态分析规则集的代码。本章包含:
关于静态分析
静态分析是贯穿 SDLC 的许多技术之一,用于帮助团队成员交付安全、可靠、兼容的 SOA。静态分析帮助团队确保开发活动满足组织的期望,确保跨所有 SOA 层的互操作性和一致性。
SOAtest 可以对 SOA 构件和 Web 接口执行静态分析。
对于 SOA,可以对单个构件(例如 WSDL 或 XML 文件)执行静态分析。它还被用作全面 SOA 策略实施框架中的几个组件之一,如 SOA Quality Governance and Policy Enforcement中讨论。
对于 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 工作台用户指南(选择 Help> Help Contents)。
在项目工作区中以 SOAtest 测试套件表示的任何 Web 页面(例如,以 SOAtest 访问的 Web 页面抓取 web UI,或者浏览器在 web 场景执行时下载的 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 页面,请选择包含扫描工具的测试套件,然后运行所需的测试配置。
- 使用适当的静态分析结果布局选项检查和响应结果。
- 有关更多详情,请查阅 审查静态分析结果。
- (可选)根据需要微调静态分析设置。
评审和重新测试扫描的资源
扫描透视图的设计目的是方便在静态分析期间检查和重新测试扫描的资源。
打开扫描透视图
若要打开扫描透视图:
- 选择 Window> Perspective> Open Perspective> Parasoft Scanning。
该透视图与 SOAtest 透视图相似,但它有两个额外的特征:
- 测试单个 URL 或文件的 Quick Test 工具栏按钮。(如 Reviewing and Retesting Scanned Resources中所述)。可通过选择 Window > Customize Perspective> Commands 并单击紧挨着 SOAtest Scanning 的复选框将此按钮添加到任意透视图。
- 已扫描资源视图。可以通过选择 Window> Show View> Parasoft> Scanned Resources Listing将此视图添加到任意透视图。
检查已扫描资源
已扫描资源视图将显示扫描工具扫描的资源。 运行扫描工具之后,您可以在测试用例资源管理器选择它,被扫描的资源列表将显示该扫描工具所扫描的所有项。
您可以右键单击该视图中的单个文件,并选择在编辑器或 web 浏览器中打开它们。
分析项目工作区之外的文件
若要快速访问和扫描工作空间中不可用的资源:
- 通过选择 Window> Perspective> Open Perspective> Parasoft Scanning打开扫描透视图。
- 使用快速测试工具栏按钮开始测试:
- 若要运行带有“Favorite”(默认)测试配置的测试,只需单击该工具栏按钮。
- 若要使用另一个测试配置运行测试,请使用该按钮的下拉菜单。
- 若只检查特定类别的规则,请选择 Built-in> Static Analysis Rules> [category]。
- 指定如何访问要扫描的资源(可以指定 URL 或文件路径)。
- 文件路径可以是绝对路径,也可以是 Eclipse 工作区路径)。
- 所指定文件也可以是包含 URLs 列表的 .urls 文件(请查阅 Using .urls Files for details).
教程
有关如何在 web UI 上执行静态分析的详细教程,请参阅 Web 静态分析。