CppUnit实践优秀讲义.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CppUnit实践优秀讲义

传输网管后台单元测试培训教材 * * CPPUnit实践 邱永庆 2005-5-28 中兴通讯-ZTE 单元测试 在程序设计过程中会有许多种测试,单元只是其中的一种,单元测试并不能保证程序是完美无缺的,但是在所有的测试中,单元测试是第一个环节,也是最重要的一个环节。 1 按照极限编程(XP)理论,写测试就是对软件进行设计的过程,它的重要性甚至超过了实际完成功能的代码。先将测试写完,然后再完成代码,这样,所有的测试通过之日也就是程序完成之时 2 单元测试技术从整体上分为白盒测试与黑盒测试,其中前者使用程序设计的控制结构导出测试用例,针对程序的内在结构(逻辑、数据流),后者目的是验证单元实现的功能,而不需要知道程序是如何实现它们的。黑盒测试关注的是单元的输入与输出,不是白盒测试的替代品,而是辅助白盒测试发现其他类型的错误。 3 语句覆盖是一种最弱的覆盖测试,但却是一种必须做的最低限度的白盒测试。独立路径测试可以保证所有语句被执行至少一次 4 单元测试——要求 功能测试 1 重要的执行路径测试 2 局部数据结构 3 错误处理测试 4 影响上述 各条的边界条件 5 语句覆盖测试,分支覆盖测试 6 单元测试过程   (术语域测试(Field test)意思是在软件投入使用以后,针对某个领域所作的所有测试活 一般认为单元测试应紧接在编码之后,当源程序编制完成并通过复审和编译检查,便可开始单元测试。测试用例的设计应与复审工作相结合,根据设计信息选取测试数据,将增大发现上述各类错误的可能性。在确定测试用例的同时,应给出期望结果。 1 应为测试模块开发一个驱动模块(driver)和(或)若干个桩模块(stub) 2 驱动模块在大多数场合称为“主程序”,它接收测试数据并将这些数据传递到被测试模块,被测试模块被调用后,“主程序”打印“进入-退出”消息。 单元测试 驱动程序 被测模块 测试用例 Stub 1 Stub 2 Stub 3 测试结果 单元测试——黑盒测试 黑盒测试注重于测试软件的功能性需求,通常黑盒测试试图发现以下类型的错误:功能不正确或遗漏,接口错误,性能错误等等黑盒测试技术通常分为等价划分、边界值分析、因果图等 1 等价类划分指一套被选择的值,这些值分别代表了许多众多的可能输入值,程序对其处理的方式都是一样的。等价类划分基于功能项的输入和输出,将其划分成等价类,通常包括以下几种组合 2 边界值分析是等价划分的扩展,包括等价类+划分的边界值,边界值通常是等价类的界限,以正好小于、等于和大于界限的指作为边界值。 3 合法/非法的输入和输出、对数值型的值分为正数、负数和0、 对于字符串型的分为空串和非空串 对16-bit 的整数而言32767 和-32768 是边界、 表的第一和最后一行、 数组元素的第一个和最后一个、 循环的第0 次、第1 次和倒数第2 次、最后一次 单元测试——黑盒测试 考虑输入条件之间的联系。如果在测试时必须考虑输入条件的各种组合,可能又会产生一些新的情况,此时我们可以通过因果图来描述条件之间的组合情况,从而推导出测试用例设计。 1 因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。 在任何情况下都必须使用边界值分析方法。经验表明用这种方法设计出测试用例发现程序错误的能力最强。 必要时用等价类划分方法补充一些测试用例。 用错误推测法再追加一些测试用例。 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。 2 单元测试——黑盒测试技术总结 边界值测试 1 特殊值测试 2 随机测试 3 正面和负面测试 4 域测试 5 等价类测试 6 基于判定(决策)表的测试 7 单元测试——黑盒测试(例1 字符串) void upperString(string aline) // 将所有小写字母转换为大写字母 { string caps( abcdefghijklmnopqrstuvwxyz ); string::size_type pos = 0; while ( (pos = aline.find_first_of( caps, pos )) != string::npos ) { aline[pos] = toupper(aline[pos]); } }; 边界值:空串aline=“”,一个字符aline=“1”,大字符串 等价类:空串aline=“”, 数字,字母,特殊字符 错误推测法:异

文档评论(0)

taotao0b + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档