软件测试技术 第3章_单元测试.ppt

软件测试技术 第3章_单元测试.ppt

ID:49504262

大小:334.50 KB

页数:48页

时间:2020-02-06

软件测试技术 第3章_单元测试.ppt_第1页
软件测试技术 第3章_单元测试.ppt_第2页
软件测试技术 第3章_单元测试.ppt_第3页
软件测试技术 第3章_单元测试.ppt_第4页
软件测试技术 第3章_单元测试.ppt_第5页
资源描述:

《软件测试技术 第3章_单元测试.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章单元测试[本章要点]单元测试的定义;单元测试同集成测试和系统测试的区别;单元测试环境的组成;单元测试的分析方法;单元测试的用例设计方法;单元测试的过程;单元测试举例。[本章目标]掌握单元测试的概念;了解单元测试的误区;了解单元测试与集成测试和系统测试的区别;掌握单元测试的策略;掌握单元测试分析的方法;掌握单元测试用例设计方法。3.1单元测试概述通常而言,单元测试是在软件开发过程中要进行的最低级别的测试活动,或者说是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现每个程序模块内部可能存在的差错。在单元测试活动中,软

2、件的独立单元将在与程序的其他部分相隔离的情况下进行测试,主要工作分为两个步骤:人工静态检查和动态执行跟踪。单元测试的分工大致如下:一般由开发组在一般由开发组在开发组组长监督下进行,保证使用合适的测试技术,根据单元测试计划和测试说明文档中制定的要求,执行充分的测试;由编写该单元的开发组中的成员设计所需要的测试用例,测试该单元并修改缺陷。3.1.1单元测试误区1、单元测试是一种浪费时间的工作2、单元测试只能证明代码做了什么3、我是个很棒的程序员,我是不是可以不进行单元测试?4、集成测试能捕捉到所有的Bug5、单元测试的成本效率不高其实,在经过了单元测

3、试之后,系统集成过程将会大大地简化。3.1.2单元测试与集成测试区别单元测试与集成测试的主要区别在于测试的对象不同。单元测试对象是实现具体功能的单元,一般对应详细设计中所描述的设计单元。集成测试是针对概要设计所包含的模块以及模块组合进行的测试。单元测试所使用的主要测试方法是基于代码的白盒测试。而集成测试所使用的主要测试方法是基于功能的黑盒测试。因为集成测试要在所有要集成的模块都通过了单元测试之后才能进行,也就是说在测试时间上,集成测试要晚于单元测试,所以单元测试的好坏直接影响着集成测试。单元测试的工作内容包括模块内程序的逻辑、功能、参数传递、变量

4、引用、出错处理、需求和设计中有具体的要求等方面测试。集成测试的工作内容主要是验证各个接口、接口之间的数据传递关系、模块组合后能否达到预期效果。虽然单元测试和集成测试有一些区别,但是二者之间也有着千丝万缕的联系。目前集成测试和单元测试的界限趋向模糊。3.1.3单元测试与系统测试区别单元测试与系统测试的区别不仅仅在于测试的对象和测试的层次的不同,最重要的区别是测试性质不同。在单元测试过程中,单元测试的执行早于系统测试,测试的是软件单元的具体实现、内部逻辑结构以及数据流向等。系统测试属于后期测试,主要是根据需求规格说明书进行的,是从用户角度来进行的功能

5、测试和性能测试等等,证明系统是否满足用户的需求。单元测试中发现的错误容易进行定位,并且多个单元测试可以并行进行;而系统测试发现的错误比较难定位。3.2单元测试环境由于一个模块或一个方法(Method)并不是一个独立的程序,在考虑测试它时要同时考虑它和外界的联系,因此要用到一些辅助模块,来模拟与所测模块相联系的其他模块。一般把这些辅助模块分为两种:1、驱动模块(driver):相当于所测模块的主程序。2、桩模块(stub):用于代替所测模块调用的子模块。那么,所测模块和与它相关的驱动模块及桩模块共同构成了一个“测试环境”,如图3-2所示。图3-2单

6、元测试环境3.3单元测试策略单元测试涉及到的测试技术通常有:针对被测单元需求的功能测试、用于代码评审和代码走读的静态测试、白盒测试、状态转换测试和非功能测试。为了提高单元测试的质量,只了解这些单元测试技术还远远不够,还要选择合适的测试策略。在选择测试策略时,主要考虑如下3种方式:自顶向下(TopDownUnitTesting)的单元测试策略、自底向上的单元测试策略(BottomupUnitTesting)和孤立的单元测试策略。3.3.1自顶向下的单元测试策略一)步骤:1.从最顶层开始,把顶层调用的单元做成桩模块。2.对第二层测试,使用上面已测试的

7、单元做驱动模块。3.依次类推,直到全部单元测试结束。二)优点:可以在集成测试之前为系统提供早期的集成途径。三)缺点:单元测试被桩模块控制,随着单元测试的不断进行,测试过程也会变得越来越复杂,测试难度以及开发和维护的成本都不断增加;要求的低层次的结构覆盖率也难以得到保证;由于需求变更或其他原因而必须更改任何一个单元时,就必须重新测试该单元下层调用的所有单元;低层单元测试依赖顶层测试,无法进行并行测试,使测试进度受到不同程度的影响,延长测试周期。四)总结:从上述分析中,不难看出该测试策略的成本要高于孤立的单元测试成本,因此从测试成本方面来考虑,并不是

8、最佳的单元测试策略。3.3.2自底向上的单元测试一)步骤:1、先对模块调用图上的最底层模块开始测试,模拟调用该模块的模块为驱动模块。2、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。