集成测试-意义和方法

标签: 随笔文章 | 发表时间:2012-06-02 21:57 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如数据穿过接口时可能丢失;一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。

集成测试是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。

集成测试识别组合单元时出现的问题。通过使用要求在组合单元前测试每个单元并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。

可以以多种方式进行集成测试,而下面是三种常用的类别:

由上而下的集成测试方法要求首先测试和集成最高级别的模块。这使高级别的逻辑和数据流可以在过程的早期阶段测试,有助于最大限度地减少对驱动程序的需求。但是,对存根 (stub) 的需求使测试管理变得复杂,低级别的实用工具在开发周期中相对较晚的阶段测试。由上而下的集成测试的另一个缺点是不能很好地支持有限功能的早期发布。

由下而上的方法要求首先测试和集成最低级别的单元。这些单元常被称为实用工具模块。通过使用这种方法,实用工具模块在开发过程的早期阶段测试,最大限度地减少了对存根 (stub) 的需求。但是,不利的方面是对驱动程序的需求使测试管理变得复杂,高级别的逻辑和数据流在晚期测试。与由上而下的方法一样,由下而上的方法也不能很好地支持有限功能的早期发布。

第三种方法(有时也称为伞形方法)要求测试沿功能性数据和控制流路径进行。首先,函数的输入以上面讨论的由下而上的模式集成。然后,每个函数的输出以由上而下的方式集成。这种方法的主要优点是对有限功能的早期发布的支持程度。它也有助于最大限度地减少对存根 (stub) 和驱动程序的需求。但是,这种方法的潜在缺点非常明显,因为它的系统性可能比其他两种方法低,会导致对回归测试的更大需求。

   秀萌宝照片,酷赢“拉比盒子”   游戏测试:三国时期谁是你最好的兄弟!!   发现兴趣所在,玩转新浪Qing!

相关 [集成测试 义和 方法] 推荐:

集成测试-意义和方法

- - 人月神话的BLOG
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题. 如数据穿过接口时可能丢失;一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等. 集成测试是单元测试的逻辑扩展.

Android集成测试

- - 百度质量部 | 软件测试 | 测试技术 | 百度测试
  Android集成测试主要是在单元测试的基础上测试接口访问或者异步任务是否正确,在. 移动凤巢系统中,大概有30+个接口需要测试,他们都遵循一个特定的访问模式:前台的. Activity获取到触发事件后,将它传给这些接口,这些接口都是AsyncTask的实现——即后台. 异步线程执行某个任务(一般是发送http请求到后端服务或者执行存取数据库等耗时操作),.

集成测试的几个思考点

- - 人月神话的BLOG
最近关注集成测试比较多,特别是大型项目中的产品和应用集成. 一个产品一个小组做的时候往往集成问题藏在小组内容,但是当真正进行大型的组件化开发和多团队协同的时候,集成就显得很重要的. 集成测试处于单元测试和验收测试之间,是真正将组件组装和集成为产品的关键. 持续集成和集成测试还是有很大区别,持续集成强调的是自动化的编译构建,部署,自动化的冒烟测试,保证开发过程的产出随时都可以构建一个冒烟测试通过的可用版本.

maven 自动化web应用集成测试

- - BlogJava-首页技术区
        web应用集成测试的时候,各位还需要启动web容器,然后打开浏览器,输入ulr,然后看到浏览器的输出吗. 下面我们用maven做到自动化. 我们利用maven的生命周期和jetty插件来实现. 下面描述下做的自动化web集成测试实现的原理. 1,在生命周期pre-integration-test启动jetty容器.

为什么集成测试比单元测试更重要

- - CSDN博客研发管理推荐文章
在假定一些数据的环境下,能顺利通过测试的系统就可算是一个好系统. 不过,现在可以直连外部资源的集成测试才让程序更有价值. 谁知道那些内容商(供应商,vendor)会做出什么傻事来. 很多人一直尝试着让测试达到100%的代码覆盖率,这是很棒的想法,但我倒觉得它有些基本概念上的问题. LosTechies,  Ryan Svihla 提出了"反模式(anti-pattern", 有个有趣的观点: “多数应用都需要与外部资源交互”.

微服务下产品集成和集成测试框架流程(200818)

- - 人月神话的BLOG
今天谈下微服务架构下的应用集成和集成测试方面的内容. 在微服务架构下,由于传统的的单体应用以及拆分为多个微服务,那么原来单个系统内部的API接口调用以及变成了微服务间的外部接口调用,而且还可能已经由不同的开发团队在开发不同的微服务模块. 在这种情况下如果不能很好的进行产品应用集成和后续集成测试,那么会经常出现类似单元测试问题遗留到集成测试,端到端流程无法测试通过,测试用例和数据反复制作,集成过程中出现问题故障排查困难等诸多问题.

模板方法

- - 博客园_首页
由于前两天刚好用到模板方法这个模式,而且这个模式相对来 比较简单实用,就写写个人的一些认知吧. 大家对宋丹丹和赵本山的小品里有一个很经典的台词一定不会陌生,而且还日常中经常引用:. 《钟点工》中宋丹丹问要把大象装冰箱,总共分几步. 赵本山就懵了,大象那么大,冰箱那么小,怎么才能把大象装冰箱里呢. 答案也很经典:三步:第1步,把冰箱门打开;第2步,把大象装进去;第3步,把冰箱门带上.

详解 equals() 方法和 hashCode() 方法

- - ImportNew
Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码. equals()和hashCode()都不是final方法,都可以被重写(overwrite). 本文介绍了2种方法在使用和重写时,一些需要注意的问题. Object类中equals()方法实现如下:.

mysql优化方法

- - 数据库 - ITeye博客
通过show status和应用特点了解各种SQL的执行频率. 通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得. SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果. 以下几个参数对Myisam和Innodb存储引擎都计数:.

WinDump使用方法

- - 研发管理 - ITeye博客
Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump. 它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分析和入侵检测. 在这种监视状态下,任何两台电脑之间都没有秘密可言,所有的流量、所有的数据都逃不过你的眼睛(当然加密的数据不在讨论范畴之内,而且,对数据包分析的结果依赖于你的TCP/IP知识和经验,不同水平的人得出的结果可能会大相径庭).