- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单元测试集成测试系统测试基础知识
单元测试
1、 单元的基本属性:
明确的功能
可定义的规格
与其他单元接口的清晰划分
2、 单元测试的目的:
在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。
验证代码是与设计相符合的;
发现设计和需求中存在的错误;
发现在编码过程中引入的错误。(和设计不相符或和设计相符,但是由于
编码疏漏引起)
3、 单元测试关注的重点:
出错处理体现软件的成熟性和容错性
、单元接口、局部数据结构、独立路径、边界条件
4、 单元测试的主要关注点:
参数的属性、顺序、个数是否与LLD一致
不能修改只做输入用的形参,否则可能导致数据的错误修改
约束条件是否通过形参来传送
驱动和桩的功能:
驱动单元:被测函数的主函数,能接受输入数据,输出实际测试结果
桩单元:用来代替所测单元调用的子单元
单元测试策略:
孤立的测试策略、自顶向下、自底向上的单元测试策略
1) 孤立的测试策略:
· 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。
· 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。
· 缺点:桩函数和驱动函数工作量很大,效率低。
2) 自顶向下的单元测试策略:
· 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。
· 优点:可以节省驱动函数的开发工作量,测试效率较高。
· 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。
3) 自底向上的单元测试策略:
· 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模
块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被
测试过的模块做桩模块。以此类推,直到测试完所有模块。
· 优点:可以节省桩函数的开发工作量,测试效率较高。
· 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产
生很大的影响。
5、 单元测试的四个阶段:· 测试计划:完??单元测试计划;
· 测试设计:完成单元测试方案;
· 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件;
· 测试执行:执行单元测试用例,修改发现的问题并进行回归测试,提交单元测试报告。
集成测试
集成测试的目的:确保各组件组合在一起后能够按照既定意图写作运行,并确保增量的行为正确(属于灰盒测试)
验证接口是否与设计相符
发现设计和需求中存在的错误
集成测试关注的重点:单元间的接口、集成后的功能
集成测试的层次:模块内集成、子系统内集成、子系统间集成
集成测试策略:
大爆炸集成
自顶向下集成
自底向上集成
三明治(混合式)集成
重要
基干集成
分层集成
基于功能的集成
基于消息的集成
实际中应用较多
基于进度的集成
基于风险的集成
各种集成测试策略的优缺点:
优点缺点适用范围大爆炸集成1.只要极少数的驱动和桩
2.可并行工作,人力、物力资源利用率较高1.一次运行成功的可能性不大
2.定位和修改错误比较困难
3.会有很多接口错误进入到系统测试1.维护型项目(增强型)
2.每个函数都经过了充分单元测试的小规模系统(特别是接口函数)自顶向下1.较早验证了主要的控制点和判断点
2.选用按深度方向组装的方式,可首先实现和验证一个完整的软件功能
3.功能可行性较早得到证实(带来信心)
4.最多只需一个驱动,减少驱动开发费用
5.支持故障隔离1.桩的开发和维护成本大
2.底层组件行为的验证被推迟了
3.底层组件的测试不充分1.产品控制结构比较清晰和稳定
2.产品高层接口变化较小
3.产品底层接口未定义或经常可能被修改
4.产品控制组件具有较大的技术风险,需要尽早被验证
5.希望尽早看到产品的系统功能行为自底向上1.允许对底层组件行为的早期验证
2.工作初期可以并行进行集成
3.减少了桩的工作量
4.支持故障隔离1.驱动的开发和维护成本高
2.对高层的验证被推迟到了最后,设计上的错误不能被及时发现1.底层接口比较稳定、变动较少的产品
2.高层接口变化较频繁的产品
3.底层组件较早被完成的产品三明治集成集合了自顶向下和自底向上策略的优点中间层在被集成前测试不充分大部分软件开发项目基干集成具有三明治集成的优点1.必须对系统的结构和相互依存性进行仔细分析
2.必须开发驱动和桩
3.有些接口可能测试不充分大型复杂项目基于功能集成/基于消息集成1.可尽快看到
文档评论(0)