第5讲 单元测试.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试;第5章 单元测试;目录;本次课授课方式;教学目录;一、知识回顾;2、软件开发的模型有哪些?说说你知道的 边做边改模型 瀑布模型 快速原型模型 增量模型 螺旋模型;一、知识回顾;;V模型:对应于瀑布模型。;W模型:各开发阶段同步进行测试 ;一、知识回顾;二、WHAT——单元测试的定义;3、软件测试模型有哪些?简要介绍一下。 V模型 W模型 H模型;二、WHAT——单元测试的定义;二、WHAT;三、WHY——为什么要进行单元 测试?;二、WHAT;三、WHY;三、WHY;三、WHY;;三、WHY;四、WHEN——单元测试在什么时候进行;五、WHO——由谁来做?;一个单元测试的例子 执行单元测试的一般步骤为编译运行程序(查看能否正确运行)→静态测试(检查代码是否符合规范)→动态测试(深入检查代码的正确性,容错性和边界值等),其中静态测试时我们需要提前准备一份“编码规范检查单”,进行动态测试时我们需要提前设计一些测试步骤、测试数据,即测试用例。 ;#includestdio.h void iszero(int m) { if(m!=0) printf(%d,m); else printf(%d,1); } void main() { int a[5]; int i=0; printf(请输入五个整数\n); for(i=0;i=4;i++) { scanf(%d,a[i]); iszero(a[i]); } };测试步骤:;;六、HOW——内容与方法;①模块接口测试 检查进出程序单元的数据流是否正确。 模块接口测试必须在任何其它测试之前进行。 ;模块接口测试 Checklist:;;局部数据结构测试 Checklist:;六、HOW;六、HOW;独立路径测试 Checklist:;六、HOW;出错处理 Checklist:;6.2单元测试流程;6.2.1 计划单元测试;①确定测试需求;②确定单元测试的策略 ;②确定单元测试的策略;②确定单元测试的策略;③单元测试的输入;④单元测试的输出;6.2.2 设计单元测试;(1)驱动模块(Driver) 用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。 (2)桩模块(Stub) 用来模拟被测模块工作过程中所调用的模块。它们一般只进行很少的数据处理。 ;6.2.2 设计单元测试;引例;引例;引例;驱动模块主要完成以下事情: 1、接受测试输入; 2、对输入进行判断; 3、将输入传给被测单元,驱动被测单元执行; 4、接受被测单元执行结果,并对结果进行判断; 5、将判断结果作为用例执行结果输出测试报告。 桩模块要完成以下事情: 1、使程序编译通过 2、模拟被代替模块各种可能值 ;例1 如果要测试3个函数单元A,B和C,函数A是顶层函数,第二层是函数B和C。 采用自顶向下策略进行UT:(三个步骤分别测了函数A,B,C)   1.为函数A写DRIVER,测试函数A,为函数B和C分别写STUB.   2.用函数A的DRIVER,测试函数B,函数C的STUB仍然保留。   3.函数A的DRIVER,测试函数C. ; 例2 如果要测试5个函数单元A,B,C,D和E,函数A是顶层函数,第二层是函数B,C和D,第三层是函数E在函数B下. 采用自底向上策略进行UT:(五个步骤分别测了函数EBCDA)    1.为函数E写DRIVER,测试函数E 2.为函数B写DRIVER,测试函数B,使用下一层已被测试的函数E做桩模块(不需写STUB,直接调用函数E既可,但仍然把其理解为桩)。  3.为函数C写DRIVER,测试函数C。   4.为函数D写DRIVER,测试函数D。  5.为函数A写DRIVER,测试函数A,使用下一层已被测试的函数B,C和D做桩模块。 ;6.2.3 执行单元测试;测试执行在出现以下两个条??之一时结束或终止:;6.2.4 评估单元测试;(2) 代码覆盖率评估,主要是根据代码覆盖率工具提供的语句覆盖情况报告,检查是否达到方案中的要求,大多数情况下,要求语句覆盖达到 100%。但很多情况下,第一轮测试用例执行完后是很难达到的,这时在评估过程中要对覆盖率进行分析,主要从以下方面来考虑: 不可能的路径或条件 不可达的或冗余的代码 不充分的测试用例 ;6.2.4 评估单元测试;练习;作业;Thank You !

文档评论(0)

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

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

1亿VIP精品文档

相关文档