单元测试基本概念

单元测试基本概念

ID:41973439

大小:40.55 KB

页数:3页

时间:2019-09-05

单元测试基本概念_第1页
单元测试基本概念_第2页
单元测试基本概念_第3页
资源描述:

《单元测试基本概念》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.单元测试1.1什么是单元测试?单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很人的值放入一个有序list中去,然示确认该值出现在list的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致。在开发中,对于自己开发的模块,只有在通过单元测试之后,才能提交到SVN库。1.2为什么需要单元测试?当编写项目的时刻,如果我们假设底

2、层的代码是正确无误的,那么先是髙层代码中使用了底层代码;然后这些高层代码又被更高层的代码所使用,如此往复。当基本的底层代码不再可靠时,那么必需的改动就无法只局限在底层。虽然你可以修正底层的问题,但是这些对底层代码的修改必然会影响到高层代码。于是,一个对底层代码的修正,可能会导致对儿乎所有代码的一连串改动,从而使修改越来越多,也越来越复杂。从而使整个项目也以失败告终。单元测试针对程序模块,进行正确性检验的测试。其H的在于发现各模块内部可能存在的各种差错。单元测试需耍从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。1.3单元测试的内容模块接口

3、测试:对通过被测模块的数据流进行测试。为此,对模块接口,包括参数表、调用子模块的参数、全程数据、文件输入/输出操作都必须检査。局部数据结构测试:设计测试用例检查数据类型说明、初始化、缺省值等方面的问题,还要查清金程数据对模块的影响。路径测试:选择适当的测试丿IJ例,对模块屮重要的执行路径进行测试。对基本执行路径和循环进行测试可以发现大量路径错误。错误处理测试:检查模块的错误处理功能是否包含有错误或缺陷。例如,是否拒绝不合理的输入;出错的描述是否难以理解、是否对错误定位有误、是否出错原因报告有误、是否对错误条件的处理不正确;在对错误处理Z前错误条件是否已经引起系

4、统的T预等。边界测试:要特别注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。此外,如果对模块运行吋间有要求的话,还要专门进行关键路径测试,以确定最坏情况卜和平均意义下影响模块运行吋间的因素。这类信息对进行性能评价是十分有用的。1.4单元测试的步骤通常单元测试在编码阶段进行。在源程序代码编制完成,经过评帀和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。利川设计文档,设计可以验证程序功能、找出程序错谋的多个测试川例。对于每一组输入,应有预期的正确结果。模块并不是一个独立的程序,在考虑

5、测试模块吋,同时耍考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅助模块分为两种:驱动模块:和当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进來,但不允许什么事情也不做。被测模块、与它相关的驱动模块及桩模块共同构成了一个“测试环境〃,见图1。如果一个模块耍完成多种功能,且以程序包或对象类的形式岀现,例如C++屮的类。这时可以将这个模块看成由几个小程序组成。对其屮的每个小程序先进行单元测试要做的工作,对关键模块

6、还要做性能测试。1.技术要求:1)对软件设计文档规定的软件单元的功能、性能、接口等应逐项进行测试;2)每个软件特性应至少被一个正常测试用例和一个被认可的异常测试用例覆盖;3)测试用例的输入应至少包括有效等价类值、无效等价类值和边界数值;4)在対软件单元进行动态测试之前,一般应对软件单元的源代码进行静态测试;5)语句覆盖率达到100%;6)分支覆盖率达到100%;7)对输出数据及格式进行测试;正常测试用例与界常测试用例:冇效等价类值、无效等价类值和边界数值:语句覆盖率:分支覆盖率:方法:被测模块、驱动模块、桩模块共同组成了测试环境

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

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

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