- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章单元测试与集成测试
第5章 单元测试和集成测试 软件测试的策略 本章内容 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 某大系统有10个子系统组成,每个子系统的可靠性均为90%,请问该大系统的可靠性是多少? 5.1 什么是单元测试 单元: 可以编译和执行的最小软件构件。 必须具备有一定的属性,有明确的规格说明定义和接口的定义,并能清晰的与程序中其他单元分开。 结构化程序:函数 或 子程序。 面向对象程序: 单元是某一具体的类或多个相关的类,但当一个类特别复杂时,也可以把方法作为一个单元。 GUI应用程序,单元测试为“按钮级”进行。 5.1 什么是单元测试 单元测试:针对软件设计的最小模块-程序模块,进行正确性检验的测试工作。 单元测试的目的: 验证代码与设计相符 跟踪需求和设计的实现 发现设计和需求中存在的缺陷 发现编码过程中引入的错误 5.1 什么是单元测试 接口 保证进出软件单元的数据流是正确的 局部数据结构 保证临时存储的数据在算法执行的整个过程中能维持其完整性。有以下常见错误: 5.1 什么是单元测试 边界条件 保证单元在极限或严格的情况下仍能够正确执行 独立路径 对每一条独立路径进行测试,保证模块中所有独立路径都能至少执行一次 错误处理 预设各种错误处理通道 5.1 什么是单元测试 单元测试可以看做是编码工作的一部分 由程序员完成单元测试工作 提交产品代码的同时也提交测试代码,由测试部门对其测试工作进行审核 5.2 单元测试的方法 单元测试活动模型 两个步骤:人工静态检查和动态执行跟踪 单元测试主要采用白盒测试方法,辅以黑盒测试方法。 5.2 单元测试的方法 驱动程序(driver),对底层或子层模块进行(单元或集成)测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块 桩程序(stub),替代被测模块调用的子模块,桩模块可以进行少量的数据操作,不需要实现子模块的所有功能。 5.2 单元测试的方法 黑盒测试方法(Blake-box Testing),是把程序看作一个不能打开的黑盒子,不考虑程序内部结构和内部特性,而是考察数据的输入、条件限制和数据输出,完成测试 白盒测试方法(White-box Testing),也称结构测试或逻辑驱动测试。白盒测试方法是根据模块内部结构,基于内部逻辑结构,针对程序语句、路径、变量状态等来进行测试,检验程序中的各个分支条件是否得到满足、每条执行路径是否按预定要求正确的工作。 5.3 单元测试用例设计思路 具体的白盒和黑盒测试方法略 单元测试用例设计思路 为系统运行设计测试用例 证明单元至少在某种正常情况下能够运行了。 为正向测试设计用例 验证设计说明书所对应的功能或性能指标是否实现。 为逆向测试设计用例 验证被测软件单元有没有做它不应该做的事情。 为满足特殊需求设计测试用例 验证系统性能、安全性、保密性等。 为代码覆盖设计用例 满足特定覆盖标准 本章内容 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 5.4 代码审查 5.4.1 代码审查的范围和方法 5.4.2 代码规范性的审查 5.4.3 代码缺陷检查表 代码审查的范围和方法 代码审查的目的就是为了产生合格的代码,检查源程序编码是否符合详细设计的编码规定,确保编码与设计的一致性和可追踪性 审查的内容 最佳实践 代码规范性的审查 代码规范性的审查有助于更早地发现缺陷、提高代码质量,而且可以帮助程序员遵守规则、养成好的习惯,以达到预防缺陷的目的 代码风格和编程规则两者不可缺一,都应列入代码评审的范围 命名规则 、缩进与对齐 、注释 和函数处理等 举例 风格比较 void Func1(int return_x, int y, int z); Func1 (int y,int return_x,int z); 适当的注释 代码缺陷检查表 把程序设计中可能发生的各种缺陷进行分类,以每一类列举尽可能多的典型缺陷,形成代码缺陷检查表。代码评审常常会使用这类检查表,以表的内容为检查依据、要点,防止人为的疏漏,并提高评审效率。在每次评审之后,对新发现的缺陷也要进行分析、归类,不断充实缺陷检查表。 详见表5-4 C\C++代码审查检查表 Java代码审查检查表 单元测试作业 作业要求:附件材料在教辅资料中 1、根据所给材料,完成“counter单元测试用例”中用例表格的填写和完善(针对IsCodeLine函数),如感必要,可另行添加用例。 2、对counter.cpp源代码进行代码风格审查,写写你的体会。 本章内容 5.1 什么是单元测试 5.
文档评论(0)