生成主干的单元测试框架(UnitTestFramework).ppt

生成主干的单元测试框架(UnitTestFramework).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HyperSQL Database Engine (HSQLDB) HSQLDB是一个轻量级的纯Java开发的开放源代码的关系数据库系统,其体积小,占用空间小,使用简单,支持内存运行方式等特点 CheckStyle Zhu.Kerry@ / CheckStyle / CheckStyle PMD / PMD FlexPMD CheckStyle/PMD与FindBugs比较 SourceMonitor检测代码复杂度 测试各类源代码的复杂度、深度嵌套类和性能,生成相应的图表 / 开源单元测试工具 C/C++ 语言单元测试工具:CppTest、CppUnit、… Java语言单元测试工具:TestNG、PMD、Checkstyle、Findbugs、Jalopy…… Mock Object类工具: MockObjects、Xdoclet、EasyMock、MockCreator、MockEJB、ObjcUnit、jMock等 其它 商业单元测试工具 C/C++语言的单元测试工具以商业工具为主,例如Parasoft C++、PR QA?C/C++、CompuWare DevPartner for Visual C++ BoundsChecker Suite、Panorama C++等 内存资源泄漏检查工具,如CompuWare BounceChecker, IBM Rational PurifyPlus等 代码覆盖率检查工具,如CompuWare TrueCoverage, IBM Rational PureCoverage,TeleLogic Logiscope等。 代码性能检查工具,如Logiscope和 Macabe等 5.5 系统集成的模式与方法 集成测试前的准备 集成测试的模式 自顶向下和自底向上集成方法 大棒与三明治集成方法 持续集成 为什么总是集成不起来? 集成测试的模式 渐增式测试模式与非渐增式测试模式  非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。 渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。 各自的优缺点 大棒集成方法(Big-bang Integration)   采用大棒集成方法,先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试 。   因为所有的模块一次集成的,所以很难确定出错的真正位置、所在的模块、错误的原因。这种方法并不推荐在任何系统中使用,适合在规模较小的应用系统中使用。 自顶向下和自底向上集成方法 自顶向下法(Top-down Integration) 自顶向下法的主要优缺点 自底向上法 Bottom-up Integration 自底向上法的主要优缺点 混合策略(Modified Top-down Integration) 混合法:对软件结构中较上层,使用的是“自顶向下”法;对软件结构中较下层,使用的是“自底向上”法,两者相结合 三明治集成方法(Sandwich Integration)   采用三明治方法的优点是:它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。采用这种方法的主要缺点是:在真正集成之前每一个独立的模块没有完全测试过。 改善的三明治集成方法   改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模块得到单独的测试,使测试进行得比较彻底 。 持续集成 通常系统集成都会采用持续集成的策略,软件开发中各个模块不是同时完成,根据进度将完成的模块尽可能早的进行集成,有助于尽早发现Bug,避免集成中大量Bug涌现 而且容易定位Bug、修正Bug,最终提高软件开发的质量与效率 持续集成/测试的支撑基础 CI的文化 CI 流程 良好的基础设施 统一的代码库? * 定期提交代码 自动、快速构建 自动部署 自动集成测试 所有基础设施相关的操作代码化,纳入版本管理 * 持续集成/测试 课程实验之一:Junit应用 Thank you Q A 5.3.2 类测试 面向对象的单元测试通常是对一个基类或其子类进行测试,因为类是面对对象软件的基础。对于类的单元测试可以是对类的成员函数进行测试。一般不会对类的每个成员及方法进行测试。 类测试,要验证类的实现是否和该类的说明完全一致。如果类的实现正确,那么类的每一个实例的行为也应该是正确。 由于继承与多态的使用,对于类的测试通常不能限定在子类中定义的成员变量和成员方法上,还需要考虑父类对子类的影响。 空指针保护案例分析 格式化数字错误案例分析 字符串或数组越界案例

文档评论(0)

zcbsj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档