下载此文档

ParasoftJtest(2)汇总.ppt


文档分类:外语学习 | 页数:约45页 举报非法文档有奖
1/45
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/45 下载此文档
文档列表 文档介绍
补充ParasoftJtest(2)林若钦第四部分Junit扩展*本章内容:BugDetective进行静态代码分析Jtest动态测试桩函数*1、BugDetective进行静态代码分析简介(1)软件缺陷主要分为以下三种:需求实现不正确—因为需求未被正确地实现,导致软件未如预期那样工作。需求缺失或不完整—由于客户/开发者未预见到某些功能的必要性并且未给出相应需求或者由于开发者没有成功实现相应的需求,造成软件不能完成某些必要的操作或者处理某些特定情景。用户误操作—软件设计时未考虑用户误操作的影响,从而导致软件形成不可预知的路径。*1、BugDetective进行静态代码分析简介(2)建立一个强健的回归测试套件(robustregressionsuite)是检测需求实现正确性最有效的方法,而负面测试(negativetesting)则是防止误操作的最佳方法。尽管如此,查找需求缺失还是一项很棘手的工作,因为开发者并不知道所查找的是什么。数据流分析是目前唯一已知能帮助开发者解决这些问题的自动化测试技术,它允许开发者在不运行程序的前提下分析代码中的路径。例如,假设数据流分析在Java程序中查找到一处空指针异常。通过检查造成该异常的路径,并且推敲造成该潜在程序终止的条件,开发者也许能找到缺失的需求—诸如设计/计划阶段未预见到的情况等。如果开发者只注重于编写验证需求的测试用例,这些问题是不可能被发现的。*1、BugDetective进行静态代码分析简介(3)除了需求缺失,数据流分析还能发现代码结构上存在的问题以及应用程序中的逻辑错误。类似于模式匹配静态分析、单元测试、http单元测试、容器测试(in-containertests)、模块测试、API测试以及其它所有用来验证软件的测试一样,数据流分析也应该被用作回归测试套件的一个部分。这样,自动日常地运行包括数据流分析和所有其它测试在内的完整回归测试套件就能确定用户的代码修改/添加是否引入了新问题、破坏了既有功能或者造成其它未预见到的副作用。*、静态代码流分析-背景静态代码分析这个术语对软件业的不同人有着不同的含义。在业界主要有以下两种静态代码分析方法: (1)执行程序或者基于数据流的分析; (2)基于模式(pattern-based)的分析。对于需要执行程序的这种方法,静态代码分析意味着从逻辑上执行程序,有时甚至仅仅是符号化地执行程序来查找诸如内存崩溃、泄漏以及异常等问题。这种测试的主要优点在于不需要测试用例就可以查找代码中的问题。当开发者正在编写某些代码时,这时他们对代码的细节是了如指掌的,这也是预防代码缺陷以及安全性漏洞的最佳时机,这种执行程序的分析方法能为开发者提供在桌面环境下迅速查找软件缺陷以及安全性漏洞所必需的“及时反馈”。*、Parasoft的静态代码分析以及BugDetective技术Parasoft的静态代码分析技术支持基于数据流以及基于模式的这两种静态代码分析方法。Parasoft的这种基于数据流的静态代码分析技术被称为BugDetective,它能方便地为用户检测出跨越多个方法、类或者包的运行时问题以及程序不稳定性因素(诸如空指针异常、SQL以及其它注入、资源泄漏以及Java中的无效迭代等); 使用ParasoftBugDetective,开发者能在早期发现、诊断并且修复基于模式的静态代码分析和/或单元测试所不能检测到的软件错误。在早期发现这些缺陷能节省软件开发过程中花在诊断以及可能的重复工作上的大量时间。在ParasoftJtest中,BugDetective包含以下两个用途: 。 。*、BugDetective的优点(1)利用现有资源完成更全面的测试: BugDetective很好的补充了其它的测试技术,它允许用户在没有测试用例的情况下发现代码中的问题,从而免去了用户开发、执行以及维护复杂的测试用例的麻烦。通过检测程序中的潜在分支,BugDetective为用户提供了一个传统测试方法难以完成的路径覆盖率(pathcoverage)分析。因此,BugDetective通常能够检查出测试未覆盖到的程序在处理一些罕见情况下出现的问题。此外,如果对代码进行了修改,用户可以直接搜寻其中的缺陷而不必更新或重新生成测试用例。自动查找跨越多个类的缺陷: 传统的自动化单元测试工具只能帮助用户查找包含在同一个类中的缺陷。这一差异很关键。大多数对类进行了深入测试的开发者都是先修改有明显问题的代码,然后还是遇到了诸如空指针异常一类错误,并且这样的错误一般都需要数天的时间才能被诊断出来,因为其原因往往是由隐蔽或复杂且又跨越多个

ParasoftJtest(2)汇总 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数45
  • 收藏数0 收藏
  • 顶次数0
  • 上传人q1188830
  • 文件大小1.56 MB
  • 时间2019-09-17