UnitIntegrationTesting.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UnitIntegrationTesting.ppt

第五讲:单元测试与集成测试 Lian Yu The School of Software and Microelectronics Peking University No.24 Jinyuan RD, Beijing 102600 提纲 导言 单元测试 单元测试考虑事项 单元测试规程 单元测试局限性 集成测试 自顶向下集成 自底向上集成 混合式集成 端到端集成测试 导言(1/2) 按阶段进行测试是一种基本的测试策略。 最开始,测试着重于每一个单独的模块,以确保每个模块都能正确执行,所以,我们把它叫做单元测试。 单元测试大量地使用白盒测试技术,检查每一个控制结构的分支以确保完全覆盖和最大可能的错误检查; 接下来,模块必须装配或集成在一起形式完整的软件包,集成测试解决的是验证与程序构造的双重问题,在集成过程中使用最多的是黑盒测试用例设计技术。当然,为了保证覆盖一些大的分支,也会用一定数量的白盒测试技术; 导言(2/2) 在软件集成(构造)完成之后,一系列高级测试就开始了。最后的高级测试步骤已经跳出了软件工程的边界,而属于范围更广的计算机系统工程的一部分,软件一旦经过验证之后,就必须和其他的系统元素(比如硬件、人员、数据库)结合在一起。 系统测试要验证所有的元素能正常地啮合在一起,从而完成整个系统的功能/性能。 确认标准(在需求分析阶段就已经确定了的)必须进行测试,确认测试提供了对软件符合所有功能的、行为的和性能的需求的最后保证,在确认过程中,只使用黑盒测试技术。 提纲 导言 单元测试 单元测试考虑事项 单元测试规程 单元测试局限性 集成测试 自顶向下集成 自底向上集成 混合式集成 端到端集成测试 单元测试 单元测试(Unit testing)是对最小的软件设计单元(模块或源程序单元)的验证工作。 用更学术的方式讲,我们应该把一个单元理解成一个应用程序中最小可测部分。 在面向过程的设计(Procedural Design)里,一个单元可能是单独的程序、函数、过程、网页以及菜单等。但在面向对象的设计(Object Oriented Design)里,最小单元永远是类,可能是基/父类、抽象类或派生/子类。 单元测试 单元测试使用构件级别的设计规格说明书作为指南,对重要的控制路径进行测试以发现模块内的错误。 单元测试把重点放到内部处理逻辑和构件边界内的数据结构。这种测试可以对多个构件并行进行。 通常情况下,单元测试是由开发者执行测试而不是由最终用户执行测试,主要使用白盒测试技术,并辅助使用黑盒测试技术,如边界值分析法。 单元测试考虑事项 单元测试对构件的五方面进行测试: (1)模块或构件接口; (2)局部数据结构; (3)边界条件; (4)独立路径;和 (5)处理错误的路径。 模块或构件接口 对模块接口的测试保证在测试时进出程序单元的数据流是正确的, 包括接口名称,传入参数的个数、类型、顺序等是否与模块接口匹配; 模块输出或返回值或类型是否正确。 对穿越模块接口的数据流的测试需要在任何其他测试开始之前进行,如果数据不能正确地输入和输出的话,所有的其他测试都是没有实际意义的。 局部数据结构 对局部数据结构的检查保证临时存储的数据在算法执行的整个过程中都能维持其完整性。 另外,应该测试局部数据结构,并在单元测试时确认对于全局数据的局部影响执行。 边界条件 对边界条件的测试以保证模块在所限定或约束处理的条件边界上能够正确执行。 边界测试是单元测试任务的一项重要步骤。软件通常是在边界情况下出现故障的,这就是说,错误往往出现在一个n元数组的第n个元素被处理的时候,或者当一个i次循环的第i次调用,或者当允许的最大或最小数值出现的时候。 使用刚好小于、等于和刚好大于最大值和最小值的数据结构、控制流、数值来作为测试用例就很有可能发现错误。 边界条件的测试是利用黑盒测试技术中的边界值分析法。 独立路径 (1/3) 在控制结构中的所有独立路径(基本路径)都要走遍,以保证在一个模块中的所有语句都能执行至少一次。 在单元测试过程中,对执行路径的选择性测试是最主要的任务。 测试用例应当能够发现由于错误计算、不正确的比较、或者不正常的控制流而产生的错误。 基本路径和循环测试是发现更多的路径错误的一种有效技术。 独立路径(2/3) 计算中常见的错误有:(1)误解的或者不正确的算术优先级;(2)混合模式的操作;(3)不正确的初始化;(4)精度不够精确;(5)表达式的不正确符号表示。 独立路径(3/3) 比较和控制流是紧密地耦合在一起的(也就是说,控制流的转移是在比较之后发生的),测试用例应当能够发现下列错误: (1)不同数据类型的比较; (2)不正确的逻辑操作或优先级; (3)应该相等的地方由于精度的错误而不能相等; (4)

文档评论(0)

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

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

1亿VIP精品文档

相关文档