工具使用手册培训手册_第1页
工具使用手册培训手册_第2页
工具使用手册培训手册_第3页
工具使用手册培训手册_第4页
工具使用手册培训手册_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TOCPage 21.ParasoftC+testParasoft C+test是一个集成解决方案,用于使一系列被明可改进软件开发团队生产力和软件质量的最佳实践得以自动化处理。通过 C+test,可进行编码策略增强、静态分析、综合代码复审、单元测试和组件测试、以及运行时错误检测,以此向团队提供一种确保 C 和C+代码达到其预期功能的实用方法。C+test 可以在桌面上 IDE 的引导下使用,也可以通过命令行界、批处理方式进行回归测试。Parasoft C+test 可以帮助开发团队:运用一组最佳的综合实践,在开发周期的最初阶段识别并解决缺陷 此时的工作量和返工量为最小。缺陷所需自动解决已知的编

2、码问题,以便可将时间用于需人工解决的问。高效地构造、持续地执行、并维持一个综合的回归测试套件,该套件对更新是否破坏现有功能进行检测。通过按需目标代码评估、并朝着优质和守时的目标进行,即时了解 C 和 C+ 代码的质量和可读性。构建一个高效的、一致的和受控的团队工作流程,应用最佳做法,以减少测试时间、测试工作量以及到达 QA 时的缺陷数量。自动对众多潜在的用户路径进行测试,便于发现只可能以其它方式在"真实世界"用途的问题。1.1 C+test 界面当第一次启动 C+test 时, 将会看到包含三个面板的窗口:Page 3所看到的主窗口称为 workbench.三个有意义的面板

3、显示如下:导航视图(左手边). 编辑器(右手边).质量任务视图(底部).C/C+的导航视图通常位于工作台(GUI)的左侧。它列出可用的项目以及与项目相关的元素。您可使用 C/C+项目视图,来指定您想要让 C+test 处理哪个或哪组。编辑器视图您打开文件并对其内容进行修改。图Eclipse 中的图是一些列的视图和菜单。多样化的图使您可以快捷地从 ParasoftTest 功能切换到其他视图。例如,你可以您的基于 Java 开发的 web 服务,利用 Jtest 透视图执行静态分析和单元测试,然后切换到 SOAtest图消息并检查是否得到正确反馈。Parasoft C+test图是内建到 Ecl

4、ipse workbench 中的,它提供了一组功能,用来有助于您配置、运行和复审测试。缺省情况下会显示该视图。 您可以悬浮鼠标到 C+test 的右上角按钮进行验证。如果 C+test 标志按钮已启用,表明已选择 Parasoft C+test图。Page 4打开 C+test图(如果未打开的话),选择窗口 (Window)> 打开图 (OpenPerspective)> 其他 (Other)。此时会调出“打开“Parasoft C+test(default)”。然后点击 OK。图”框。从该框中,选择视图Eclipse/C+test 的视图都是窗口里的不同。除了上述三个视图(导航

5、,编辑器,质量任务)外,还有许多额外的视图。下面的图片显示了当你第一次打开含新工作空间的 C+test 视图。Parasoft C+test 包含了以下视图测试进程视图 质量任务视图 测试浏览器视图编辑器视图抑制视图任务浏览器视图Concerto 任务协助视图代码问题视图台视图覆盖率视图代码视图桩函数视图 度量指标视图Page 5测试进程视图该视图即为 Parasoft C+test 报告测试进程和状态视图。可注意到当测试执行时,视图自动从“测试进程”变为测试配置名称。在下面的截图中,您可以看到变为了“Parasoftsrecommended Rules ” 如果您没有看到这些视图中的任何一个

6、,你可通过选择菜单Parasoft> Show View> 启用要求的视图。质量任务视图质量任务视图列出了 C+test 检测到的质量任务和代码任务。这是您在使用 C+test 时经常需要进行交互的位置。质量任务视图包含以下任务:1.2.修复静态分析修复单元测试问题a.b.c.用户自定义测试用例的运行时异常和验证自动化测试用例用户自定义断言失败和验证自动化测试用例错误分析,包含覆盖率错误和内存泄露3.未验证的结果a. 报告自动生成的未验证断言未验证单元测试错误或失败a. 失败-未验证自动测试错误b. 用户未验证的自动测试运行时异常4.这些方面内容将会在后续的例子中覆盖到。显示的视图

7、即为 C+test 默认视图。如果该视图未启用,选择菜单"Parasoft">显示视图(Show View)>质量任务视图(Quality Tasks)打开。Page 6测试浏览器视图测试浏览器帮助你管理项目的 C+test 单元测试,包括测试用例,测试套件和相关的数据源。它提供详细的测试统计。编辑器视图编辑器视图是工作平台里最大的面板。这是 Parasoft C+test 显示你打开源文件和测试文件进行编辑的位置。在一些情况下,它还提供配置工具,测试用例,对象等的编辑器。抑制视图抑制视图列出了任何个人或团队抑制的静态分析任务,这些抑制任务可以通过图形界面 GU

8、I 的方式(于此对应,也可直接在代码中定义抑制)。该视图用户移除或删除抑制质量任务。任务浏览器视图如果您没有 Mylyn,那么在您所使用 IDE 的任务浏览器视图中,您可以找到,工作和管理Parasoft Concerto Report Center 任务。如果安装了 Mylyn,那么您可以执行这些任务。Page 7Concerto 任务协助视图一旦 Parasoft Concerto Project Center 任务激活了,任务协助视图会追踪相关任务的数据。代码问题视图台视图列出了 Parasoft C+test 所有测试进程的输出信息。它显示了具体细节如进程命令行,输出,测试用例细节和日

9、志。在测试执行过程中, 持结果直到它们被清除或运行另外的测试。台视图会报告测试执行细节,并保台视图该视图列出了整个测试进程的输出。它显示了具体细节如进程命令行,输出,测试用例细节和日志。在测试执行过程中, 行另外的测试。台视图会报告测试执行细节,并保持结果直到它们被清除或运覆盖率视图在工作平台的较低部分,您会看到名为“Coverage”(覆盖率)的。选择此显示覆盖率视图。该视图报告执行 C+test 单元测试或运行时错误检测后获得的覆盖率结果。代码在代码视图视图中可查看代码状态信息,显示被代码的不同处,并您基于被的修改代码进行评论。关于代码的详细信息,可参考 C+test 用户手册。Page

10、8桩函数视图桩函数视图包含单元测试时所有的可用符号,这些符号依赖于不同模式。该视图会在后述关于单元测试的章节中进一步描述。度量指标视图度量指标视图显示了运行启用度量静态分析后的度量指标结果。该视图的更详细信息请参考C+test 用户手册的“Metrics”部分。1.2 帮助内容参考(Help Content References)在工作平台顶部,移动鼠标并点击帮助>帮助内容(Help > Help Contents)。该操作会启动C+test的帮助框。您可以使用该属性去快速到文档中的具体相关话题。Page 92.创建项目在 C+test 中,有两个基本的方法创建项目或导入已的项目。

11、第法是使用 C+test 的导入机制。如果该项目是一个受支持的 IDE项目,C+test通常会有内建的该类型项目的导入机制。导入项目只需要选择菜单 文件>新建>项目(File >New > Project),然后展开 C+test 并选择正确的导入选项。如果待测项目构建系统,用户可对该构建系统做些许修改,需要用到 C+test 命令 cpptestscan,下面有详细。第二种创建项目或导入已项目分为两步:1. 收集 C+test 安装和正确测试的构建信息。使用命令行方式完成此操作,需要用到的cpptesttrace 或 cpptestscan 命令将会和收集构建进程信息

12、。2. C+test 会通过命令行方式自动创建基于此收集信息的项目。整个培训过程需要使用到以下四个项目:安装目录下的 C+test 示例项目 ATM, BugDetective, BugDetectiveCpp 和开源项目 PuTTY。该文档将集中第二种方式,创建和导入已存构建系统的项目。PuTTY 是开源的 SSH、telnet、rlogin 和 ssh 客户端。“PuTTY”项目名并没有什么特殊意义,尽管"tty"是传统的 UNIX 终端名称,通常缩写为 Teletype。练习将基于 putty-0.62.tar.gz 源代码,该源代码可在上找到。该文档将主要讨论第二种

13、方式,创建和导入已存构建系统的项目。接下来会有一系列的课程和练习,以便使用 C+test 操作和测试该项目。2.1 基本安装为了使 C+test 正确安装您的项目,该项目必须确保能在环境中构建(编译和)。该部分引导你通过安装进程,确保项目已经做好导入 C+test 进试的准备。课程 1 准备 C+test 示例项目所有的 Parasoft C+test 示例项目(不包括 PuTTY)在 C+test 安装目录下找到<C+test Installation Location>/Examples 例如,“C:Program FilesParasoftC+test9.4Examples”

14、Page 10Eclipse:1.在您的 home 目录创建文件夹“cpptestExamples”并确保您对该目录拥有读,写和执行权限。拷贝项目目录(ATM, BugDetective, BugDetectiveCpp)到"cpptestExamples"目录。2.3.验证无 C+test 参与情况下项目能构建。a. ATM 和 BugDetectiveCpp 使用“make”命令构建项目。b. BugDetective 的构建命令是“make CC=gcc”Visual Studio:1.在您的 home 目录创建文件夹“cpptestExamples”并确保您对该目录

15、拥有读,写和执行权限。从 C+test 安装文件夹拷贝整个 Examples 目录到指定目录,例如"cpptestExamples"目录。2.3.验证无 C+test 参与情况下项目能构建。找到“cpptestExamples”目录中的示例文件夹,打开其中的项目-它包含所有 C+test 内建示例项目。您只需要构建工作的项目(ATM, BugDetective, BugDeteictveCpp)。需要练准备 PuTTY 项目(只基于 Eclipse)1.2.解压压缩包到临时工作文件夹,其他 C+test 示例项目所在位置。在压缩包所在目录执行如下命令:a. $ tar xf

16、zv putty-0.62.tar.gzb. $ cd putty-0.62PuTTY 支持 Windows(Cygwin 环境)和类 UNIX 环境。按照如下构建项目。a. Windows3.i. $ii. $b. 类 UNIXcd putty-0.62make f Makefile.cyg putty.exei.ii. iii.$cd putty-0.62 configure make putty2.2 生成构建数据文件(BDF)在已存如 make 或的构建系统中使用 C+test 创建项目,第一创建构建数据文件(BDF)。C+test 有两个命令,cpptestscan 和 cpptes

17、ttrace;这两个命令会Page 11所有令行构建信息到 BDF 文件中。接下来的课程会使用到 Cpptesttrace 命令。·关于命令 cpptestscan 或 cpptesttrace 详细信息,请参考 Parasoft C+test 用户手册。o Parasoft C+test User's Guide > Setup and Testing Fundamentals > Initial Setup > Creating a Project准备1.推荐将 C+test 安装目录添加到您的系统环境变量 PATH 中,该安装目录包含了命令可执行文件,

18、这样可以轻易从台窗口运行 cpptestscan 或 cpptesttrace 命令。Windows$ set PATH=%PATH%:C:Program Linux/Cygwin:$ export PATH=$PATH:<C+test Install Dir>课程1.2.2 为 ATM 项目生成 BDF 文件清空项目目标文件运行 cpptesttrace 命令$ make clean$ cpptesttrace -cpptesttraceOutputFile=<Path to ATM project>/output.bdf-cpptesttraceProjectNam

19、e=ATM make 在 ATM 项目目录下,应该有了一个名为 output.bdf 的文件。3.4.使用文本编辑器打开 BDF 文件并内容。练习2 为 BugDetective 项目生成 BDF 文件按照课程 2 操作,为 BugDetective 项目生成 BDF 文件。Page 12练习 3 为 PuTTY 项目生成 BDF 文件按照课程 2 操作,为 PuTTY 项目生成 BDF 文件。1.2.3.在 Windows 环境下,项目构建使用"make f Makefile.cyg putty.exe" 在类 Unix 环境下,项目构建使用"make PuTT

20、Y"在 PuTTY 目录顶层创建 BDF 文件,无论在 Unix 或 Windows 环境当完成此操作后,查看 BDF 文件内容,验证内容是否正确2.3 在C+test 图形界面使用BDF 文件创建新项目一旦使用过 cpptesttrace 命令为想要测试的代码生成了 BDF 文件,则使用项目创建向导生成C+test 项目。课程1.3 C+test 图形界面新建 ATM 项目在台窗口输入 cpptest 命令或选择开始菜单中的 C+test 图标(Windows)启动C+test 图形界面2.点击菜单 File>New>Project.打开新建项目向导。Page 133.

21、 从向导打开 C+test 折叠选项,选择从构建数据文件创建项目,然后点击Page 144.5.从构建数据文件创建项目向导,浏览找到 BDF 文件。项目下位置选择使用外部路径。这会指定项目配置文件路径,如.project, .cproject和 .parasoft 文件将会保此路径。然后点击 完成。6.通过右键项目浏览器或导航视图中的项目,双击 C+test 项目属性查看。然后展开Parasoft > C+test > 构建设置(Build Settings)。确认后,点击 OK, 性.查看项目属7.选择项目浏览器中项目。然后按下 Parasoft 工具栏上的按钮。将会直接运行Ex

22、ample Configuration 静态分析配置。将会在质量任务视图看到被分析的文件。这表明项目创建。Page 15练习 4 C+test 图形界面新建 PuTTY 项目按照课程 3 说明,在 C+test 图形界面创建 PuTTY 项目。Page 162.4 使用C+test 命令行方式,利用BDF 文件创建新项目CLI 模式通常被用于执行常规或持续的代码分析和测试,可以与常规持续构建或自动化测试框架连接。C+test 的 CLI 可在具体指定的项目源启动。作为 CLI 执行部分,C+test 可以个或多个如下任务:·代码的静态分析,包括根据配置的代码规范检查代码,分析可能的运

23、行时 bug 和度量分析。执行单元测试··分析源码化。管理的代码库,分析上一次运行和初始化代码更新代码后的代码变·根据指定的报告配置,生成报告并分发到中心报告服务器或各开发和项目管理者。作为执行部分,C+test 可使用 SCM 客户端从 SCM 系统自动检索文件修改信息,并基于代码分析和执试的结果,生成相应的各个任务。通过测试配置和首选项指定 C+test 执行选项。使用 Parasoft 命令行工具 cpptestcli 和-bdf 选项,通过命令行方式新建基于 BDF 文件的项目。课程1.2.4 使用 C+test 命令行创建 BugDetective 项目

24、打开命令行终端。在启动令行终端输入如下命令。$ cpptestcli data “<path/to/your/workspace>” “BugDectective” bdf“</path/to/your/BDF/output.bdf>”resourcePage 17注意如果使用的是 Windows 操作系统,路径必须是 Windows 格式,而不是 Unix/Linux 格式。2.5 在C+test 图形界面使用Makefile 文件创建新项目(无BDF)在 C+test 中,可对标准的 make 构建项目新建项目。课程 5 新建 BugDetectiveCpp 项目新

25、建标准 Make 项目如下:1.选择File > New > Project2.3.选择点击a.b.c.d.e.C/C+ > C+Project Next.C+项目向导会被打开。在项目名字段输入项目名称(BugDetectiveCpp)。清除 Use default location框。点击浏览并使用文件浏览器找到实际项目目录。对 Project type,选择 Makefile project > EmptyProject。Toolchain 选择 Other Toolchain -, 然后点击 Finish。Page 184.通过右键项目浏览器或导航视图中的项目,双

26、击 C+test 项目属性查看。然后展开Parasoft 性.>C+test>构建设置(BuildSettings)。确认后,点击 OK,查看项目属Page 19a.选择项目浏览器中项目。然后按下 Parasoft 工具栏上的按钮。将会直接运行Example Configuration 静态分析配置。将会在质量任务视图看到被分析的文件。这表明项目创建。Page 202.6 重要的Eclipse-based 项目配置文件Eclipse 和 C+test 有一些配置文件,这些文件保存了 C/C+项目的配置信息。正确设定配置是非常重要的,共享这些配置文件到团队有助于降低每个开发的创建工作

27、和保持团队一致的IDE 属性设置。C+test 同样依赖这些配置设置来测试和分发测试结果到团队的每个开发下面一系列项目文件的配置应该保存和可共享。于 Eclipse 的 IDE 平台配置文件.project:XML 文件-保存项目名,项目属性和项目构建信息。如果项目是外部的,它也·保存外部项目的。··.cproject/.cdtproject:XML 文件-保存 Eclipse 的 CDT 项目信息。.settings/:文件夹-包含所有其他的项目具体设置(例如编译器设置和代码格式规范)。该文件夹不包含所有项目。Page 21Parasoft C+test 配置文

28、件····.parasoft:属性文件-保存 Parasoft 具体的项目配置,例如 C+test 构建设置。数据源:任一用于单元测试的 CVS 和 Excel 文件。桩函数:文件夹-保存所有单元测试生成的桩函数。单元测试:文件夹-包含所有 C+test 生成的单元测试用例。Page 223.团队工作流程Parasoft 的 Team Server 模块可促进团队工作,集中错误报告,任务分配和团队范围测试配置,这些以通过一个接触端点来进行。Team Server 是 Parasoft Concerto的一个模块,并随着 C+test 一起安装。请Para

29、soft 销售获取 Concerto信息。3.1 连接Team Server设定连接 Team Server:1.2.打开菜单 Parasoft > Preferences > Team Server。确保了 Enable Team Server,并输入 Team Server 所在的主机名。检查端是正确的(通常默认为 18888 是正确的)。输入正确的 Team Server 登录账号。点击 Test Connection 验证您的设置。您应该会获得如下信息:The server team server host:port is up3.3.2 导入任务静态分析和单元测试运行需要

30、时间。由此,大部分的测试应该是自动化的。所以,不仅C+test 能在开发上作为代码分析工具来运行,而且可进行 C+test 配置,包括按计划地在服务器自动运行 C+test,报告自动化扫描块。结果到 Concerto 的 Team Server 模当团队布置自动化工作流,发布任务到 Team Server,开发可自由地导入他们的任务,这样可以节省开发运时的工作流方式。试的时间。这也是 Parasoft 向大多数开发团队推荐在使用 C+test1. 为了导入与您代码库中部分代码相关的任务,源代码必须以项目形式已经于您的工作空间中。关于上述在 C+test 的工作空间创建项目的详细信息,请查看第

31、2 章。2. 在质量任务视图,点击向下箭头出现下拉菜单。找到“导入”。Page 233.可选择以下选项进行导入:a.All My Tasks-将会导入 Team Server 中所有指定作者为您的任务。(作者取决于源码系统或当前本地用户设置。在 C+test > Preferences > Scope andAuthorship.中可按照优先级配置上述作者设置。关于“配置作者设置” 参阅 C+test 帮助手册。My Recommended Tasks-将导入满足以下条件的所有测试任务的子集:1) 由您负责 (根据 C+test 的代码作者计算)和 2)C+test 已为您选择要在

32、今天复审b.和解决(根据您的团队配置,C+test 要报告的每名开发数)。每天的最大任务c.Custom Tasks -将入任务。您自定义从 Team Server 或本地保存的.xml 报告文件导4.导入的任务结果将会在质量任务视图显示。查看这些任务的信息(静态分析或单元测试),请查看 4.2:查看静态分析。Page244.静态代码分析本章描述了如何根据代码标准编译检查以预防错误和改进代码质量。C+test通过静态地扫描分析代码,检查是否违犯了指定的静态代码分析规则。主要从以下几个方面预防错误和改进代码质量:§§§检测源码中明显或潜在的缺陷。 防止使用可有有损安

33、全性的代码。实施组织设计准则、规范 (具体应用程序的、专门用途的或特定平台的)、以及从已知的特定错误中概括出来的错误预防准则。通过改进类设计和代码组织,而改进代码可维护性。通过应用常见的格式化、命名以及其它风格方面的约定,提高代码可读性。§§C+test 已预先配置了内建的规则集,以执行代码规范静态分析。缺省情况下,大多数代码规范检查的Test Configurations (测试配置)中启用的规则,已经能快速而显著地提高代码的质量。遵循这一小。准则集的代码运行更快、更安全、更易维护,出现功能问题的可能性较除了提供预先配置的规则集以外, C+test 还您定义的规则集,包括

34、自定义规则,以便实施特定于您组织的代码规范策略。为帮助团队决定要遵循哪些规则。为帮助团队决定要遵循哪些规则,规则按主题分类 (例如,安全性、优化、初始化等等),并按严重性分级 (严重性是指检测到的问题将导致错误的可能性)。信息,请选择 Parasoft > Help,打开C+test如需了解 C+test 代码标准规则方面的Static Analysis Rules 文档, 然后浏览可用的规则描述文件。Parasoft在C+test中提供了三种静态分析类型:§基于模式的分析:基于模式的分析是传统的静态分析方法。检查规则中规定的特定模式, 并且在代码与该模式匹配时触发。这是最高效

35、和最快的静态分析方法。它不仅可以找到命名还可以找到安全问题,泄露,甚至还有线程问题。§数据流分析:数据流分析模拟应用程序执行路径,去确定因未初始化内存使用,空指针,除零,内存和泄露所可能触发的运行时缺陷。§度量指标分析:分析为您的代码计算各种度量指标,以帮助您评估您代码库和变化。度量指标帮助您更好地理解代码的复杂度和其他代码中的哪些类会由于一个变更而可能受影响同样,还可帮助您识别差的设计的症状。Page 254.1 应用静态分析该部分您将使用测试配置规则集中预置的"Parasofts Recommended Rules” ,编译检查ATM项目源文件。该规则集包含严

36、重的缺陷。(严重等级 1)规则,查找源代码中最有可能导致程序出现bug有以下几种方式启动 C+test 静态分析的测试配置:1.从菜单 Parasoft > Test Using > Bulitin > Static Analysis > Test Configuration右键导航下的文件或文件夹, Parasoft > Test Using > Bulitin > Static Analysis > Test Configuration.2.3.从工具栏,测试代码(Test Using > Bulitin按钮),点击向下箭头位置,出现下

37、拉菜单。选择> Static Analysis > Test Configuration.按钮可配置为默认的测试配置。第 5 章将会讨论使用两种方法设置默认的 Favorite 测试配置。课程1.1:使用预设标准配置在导航或 项目浏览器 视图中,选择项目ATM中文件ATM.cxx2.点击工具栏向下的黑色三角按钮 Test Code该 Test Code 按钮等同下面操作:从内建测试配置选择“Static Analysis > Parasofts Recommended Rules“Page 263.在测试进程视图中信息(这儿为 Parasofts Recommended Ru

38、les。该视图显示了测试进程和概要信息。该Static(静态)部分显示了关于测试执行代码标准的信息,如下: 已检查的文件数。 已忽略的文件数。 执试失败数。 发现代码标准数。 抑制 规则数。数。 代码标准检测消耗时间。在质量任务视图(Quality Tasks)4.(该视图通常位于图形界面的底部)。如果 质量任务视图(Quality Tasks) 不可见, 请选择 Parasoft> Show View> Quality Tasks。课程1.2.2:使用预设标准配置在导航或 项目浏览器 视图中,选择项目 BugDetective。选择 Parasoft > Test Usin

39、g > Builtin > Static Analysis > MISRA C.该项目执行 MISRA C 测试。这是另一种执试配置的方法。Page 274.2静态分析4.2.1 自定义质量任务视图在执行静态分析过程中找到的任何错误都会在质量任务视图显示。C+test 可以三种主要的方式显示结果:进被测文件显示结果,按被测文件和错误类型显示结果,或按所选任务的所有可用信息显示详细视图。用户可通过打开质量任务视图右边顶部的下拉菜单,设置可选格式,然后选择其中可选的一种快捷菜单设置格式。关于不同格式的详细信息,请查看帮助手册中“视图格式(View Format)”部分。可根据用户

40、想要或多或少要求自定义视图。作为课程练习, 和分类(Tested Files and Categories)” 视图格式。会使用“测试的文件课程 3:使用配置内容选项自定义质量任务视图您可以轻易按照您所想的自定义质量任务视图。本课中,您将在“自定义内容.”创建新的过滤设置,并使用不同的顺序对任务排序。1. 点击质量任务视图右端顶部的小向下箭头。2. 点击“配置内容.”菜单。Page 2.将打开“配置内容”框。点击 新建(New)按钮创建新配置,点击改变名称字段为 My Customized View。在框底部,查看“Select tree layouta. 选择 Categor

41、y 并点击 Add 按钮。b. 选择 Severity 并点击 Add 按钮。框启用。categories”列表。c. 选择 Task Type 并点击 Addd. 选择 SLocation 并点击 Add按钮。按钮。7.点击OK按钮保存并。在质量任务视图将会有下列变化:Page 291. 在工具栏多出了 Bug 按钮。2. 被选部分所有得到了整理。4.2.2 从质量任务视图查看静态分析任务许多 C+test 树节点报告了问题出现的行数。查看相关代码,双击显示行数的节点。会打开相关编辑器并显示指定的代码行。课程 4:和下面的例子演示了如何和:1.2.对 ATM 项目的 ATM.cxx 文件执行

42、“Parasofts Recommended Rules”如果 质量任务视图(Quality Tasks) 不可见, 请选择 Parasoft> Show View> Quality Tasks。从该视图的菜单中选择 Configure Contents配置质量任务视图内容, 选择 Details , 然后点击OK。3.4.为了开始ATM项目报告出的代码,您必须展开全部的“Fix Static AnalysisViolations”。Page 305.双击 ATM.cxx 的,编辑器视图将会打开该文件。光标会到检测到的位置。这是一个常见缺陷,开发忘记初始化结构体的一个成员变量。通过

43、代码标准编译检测,帮助预防从未初始化成员变量读值,导致程序。6.右键,然后从快捷菜单选择 View RuleDocumentation。Page 31每一个规则,帮助文档有如下信息: 描述注释 安全相关性参数优点不足始于(规则被创建的版本) 示例修复参考资料··········7.关闭帮助窗口的规则描述。课程1.2.5:修复静态分析完成课程 4通过添加如下代码修复缺陷: myCurrentAccount = 0;to the body of the constructorPage32ATM:AT

44、M(Bank* bank, BaseDisplay* display)3.4.在编辑器窗口保存。在测试进程视图点击 Rerun Tests按钮 重新执试 (如下图所示)。当完成分析后,将不再报,因为已被修复。练使用预设标准配置对 PuTTY 项目执行“Parasofts Recommended 在质量任务视图中查看并重新排列1.2.Rules”练习1.2.2 修复静态分析必要,重新执行静态分析("Parasofts Recommended Rules”)。在质量任务视图中,找到 MISRA C 2004 目录下规则(proxy.c 的 398 行)- Assignment opera

45、tors shall not be used in expressions that yield a Boolean value。查看规则文档。3.4.修复代码以满足规则。重新执试验证修复。Page 33练习1.2.3 修复静态分析必要,重新执行静态分析("Parasofts Recommended Rules”)。在质量任务视图,找到 Optimization 分类下 dialog.h 的-Members frees of structure controlbox are declared in suboptimal order for memorylayout。查看规则文档。3.

46、4.修复代码以满足规则。重新执试验证修复。4.3 为静态分析生成报告C+test可以生成HTML,PDF或自定义格式的报告,报告内容包含测试的相关结果,如代码标 准,单元测试和覆盖率以及图表。这是一种实用和简单的方式,来发布和分发测试报告到整个开发团队,经理和质量测试,以进行和分析。课程1.2.6:生成报告对ATM项目执行 Parasofts 执行以下操作以生成报告:a. 点击Generate ReportRecommended Rules 测试。按钮,该按钮位于测试进程面板工具栏。b. 在 测试进程(Test 点击 ProceedProgress) 视图的底部,有一个部分“Report 生成

47、报告。在第2步, 点击配置(Configure)& Publish”。选择您想要保存报告的目录位置。强烈推荐自定义该报告位置,因为如果您选择生成HTML 格式报告,将会有许多文件需要保存。然后点击 首选项(Preferences)。3.Page 344.将出现过滤后的首选项框,只有报告选项可见(Parasoft>Reports)。根据需要调整报告配置选项,然后点击OK 关闭配置面板。Page 355.在报告框点击 OK。C+test将按照设置内容生成指定格式的报告。练习1.2.4 生成报告必要,重新对 PuTTY 项目执行静态分析("Parasofts Recommen

48、ded Rules”)。生成报告在可位置,如桌面的文件夹 reports 中,就像 课程 6一样。4.4 数据流分析:数据流分析是静态分析技术的一种新类型,它使用包括应用执行路径在内的很多分析技术,以确定可以触发运行时缺陷的路径。可以被检测出的缺陷包括 对非初始化内存的使用、空指针、 被零除、 以及空间和泄漏。由于这种分析包括确认和追踪复杂路径,因而可以那些典型规避代码规范静态分析和单元测试、并难以通过手动测试和检查而发现的错误。C+test不执行编码就可以发现错误的功能,这对于使用既有代码库 和的用户尤其有用。代码 ( 这类错误的运行时检测,在此为无效或不可能实现 )课程1.2.7:使用数据

49、流分析:清楚所有任务,方法:在Quality Tasks视图点击该图标选择BugDetectiveCpp 项目并执行 BugDetective Standard, 该测试配置位于Test Using > Static Analysis下3.运行 Bug Detective Standard t测试配置时,监视测试进程视图。Page 364.打开Quality Tasks视图,方法:选择菜单 Parasoft > Show views > Quality Tasks。在该视图中,展开树节点Fix Static Analysis Violations > Possible

50、Bugs 。您可以查看一些。其中一个是 “Avoid division by zero”。展开 Avoid division by zero 后,如下:5.6.7.双击该处显示的位置 Line 5。这将会打开所发现的文件。(DivisionByZero.cpp)在下面一行中,您能看到怎样发现“Back Trace”的。8.检查该错误,您会发现该的层级路径,清晰地描述了导致该问题的代码。路径的每个元素对应运行时执行的代码行。如果流路径调用了一个函数,元素代表了函数调用是一个节点,它的子节点代表被调函数的执行流。执行路径的最后一个元素总是表示bug本身出现位置。完整的路径显示是为了解释说明为什么b

51、ug在此处报出。所标流路径元素图标,能帮助解释说明未处理的异常。如果一个路径一个 throw 语句或者有一个对贯穿于该路径上执行的函数的调用,则对应 throw 语句或者或者函数的路径基本单元会而被红圈所标记。这个红圈意味着流程转到了一个缓存或最后的块中,而不是正常的继续下去。带有绿圈的元素是包含数据流的节点。带有绿圈和向左指向红色箭头的元素代表的引入点。带有绿圈和向右指向红色箭头的元素代表的触发点。Page 37流路径中的每一个元素都有一个工具提示,描述相关情况。课程 8:修复数据流分析1. 完成课程 72. 从质量任务视图,展开到,如下所示。Page 38双击树结构中的文件Shapes.h

52、pp。您将注意到,类 LineSegment 的getArea()。该函数总是返回0。更新行double getArea() const return 0; 为virtual double getArea() const = 0;保存文件。因为LineSegments不含面积,所以如此修改。重新执试配置“BugDetective Standard”。(从测试进程视图(Test 可以点击“重新执行”(Rerun Tests) 按钮重复测试。)3.中调用了纯虚函数4.5.ProgressView),您6.打开质量任务视图,注意到"Avoid division by zero"不

53、见了。练习1.2.5:修复数据流分析对 PuTTY 项目的 windows 文件夹运行数据流分析测试配置。在质量任务视图中,找到 Avoid division by zero “nacross” may possibly be zero”。查看规则文档。修复代码以满足规则。(文件 winctrls.c),显示为3.4.Page 394.5 度量指标分析C+test 的度量指标分析为您的代码计算各种度量指标,以帮助您评估您代码库和更加具体的是,计算和跟踪度量指标帮助您 :变化。1.更好地理解代码的复杂度和其他代码中的哪些类会由于一个变更而可能受影响。这可以帮助您做出更加明确的决定如何去修改,重构

54、,和测试它。识别差的设计的症状2.课程1.9:运行度量分析点击 BugDetective 项目然后选择 Parasoft > Test Using > Builtin Analysis > Metrics 执行 Metrics 测试配置。从菜单 Parasoft > Show Views > Metrics 打开 Metrics 视图。>Static2.3.度量值。如果你不熟悉度量值,可以通过右键该度量值,选择"View Documentation" 查看详细的规则说明文档。练习6:运行度量分析像课程 8 一样,PuTTY 项目执行度量分析。注意度量视图中显示的度量值。有一些度量指标是 C+test 高度推荐的,你可以查看。使用度量,哪部分代码您想要改变,为什么?Page 405.静态分析工作流本章讨论开发和经理如何在日常工作流程中使用 Parasoft C+test。Parasoft C+test 中有以下两种工作流:1. 日常开发工作流:如第 3 章简单讨论,开发可在 C+test 用户界面导入质量任务并。本章量任务。2. 管理流程:管理开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论