集成测试(集成测试)

生活百科 2023-01-26 08:57生活百科www.aizhengw.cn

集成测试(集成测试)

it(集成测试)一般指本词条

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模组按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

实践表明,一些模组虽然能够单独地工作,但并不能保证连线起来也能正常的工作。一些局部反映不出来的问题,在全局上很可能暴露出来。

基本介绍

  • 中文名集成测试
  • 概述也叫组装测试或联合测试
  • 简介集成测试测试组合单元时出现问题
  • 步骤集成测试过程 需求工作机制
  • 常用方案选型综述 自顶向下测试 自底向上测试
  • 计画书引言 测试项目 被测特性

简介

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它最简单的形式是把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合为程式的更大部分。方法是测试片段的组合,并最终扩展成进程,将模组与其他组的模组一起测试。,将构成进程的所有模组一起测试。,如果程式由多个进程组成,应该成对测试它们,而不是测试所有进程。
集成测试测试组合单元时出现的问题。通过使用要求在组合单元前测试每个单元并确保每个单元的生存能力的测试计画,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。一个有效的集成测试有助于解决相关的软体与其它系统的兼容性和可操作性的问题。
集成测试是在单元测试的基础上,测试在将所有的软体单元按照概要设计规格说明的要求组装成模组、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软体单元。这一点很重要,因为如果不经过单元测试,那幺集成测试的效果将会受到很大影响,并且会大幅增加软体单元代码纠错的代价。
集成测试是单元测试的逻辑扩展。在现实方案中,集成是指多个单元的聚合,许多单元组合成模组,而这些模组又聚合成程式的更大部分,如分系统或系统。集成测试採用的方法是测试软体单元的组合能否正常工作,以及与其他组的模组能否集成起来工作。,还要测试构成系统的所有模组组合能否正常工作。集成测试所持的主要标準是《软体概要设计规格说明》,任何不符合该说明的程式模组行为都应该加以记载并上报。
所有的软体项目都不能摆脱系统集成这个阶段。不管採用什幺开发模式,具体的开发工作总得从一个一个的软体单元做起,软体单元只有经过集成才能形成一个有机的整体。具体的集成过程可能是显性的也可能是隐性的。只要有集成,总是会出现一些常见问题,工程实践中,几乎不存在软体单元组装过程中不出任何问题的情况。从图1可以看出,集成测试需要花费的时间远远超过单元测试,直接从单元测试过渡到系统测试是极不妥当的做法。

目标

集成测试的目标是按照设计要求使用那些通过单元测试的构件来构造程式结构。单个模组具有高质量但不足以保证整个系统的质量。有许多隐蔽的失效是高质量模组间发生非预期互动而产生的。以下两种测试技术是用于集成测试
1)功能性测试。使用黑盒测试技术针对被测模组的接口规格说明进行测试。
2)非功能性测试。对模组的性能或可靠性进行测试。
集成测试
,集成测试的必要性还在于一些模组虽然能够单独地工作,但并不能保证连线起来也能正常工作。程式在某些局部反映不出来的问题,有可能在全局上会暴露出来,影响功能的实现。,在某些开发模式中,如叠代式开发,设计和实现是叠代进行的。在这种情况下,集成测试的意义还在于它能间接地验证概要设计是否具有可行性。
集成测试是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口以及集成后的功能。使用黑盒测试方法测试集成的功能。并且对以前的集成进行回归测试。

实施

集成测试是一种正规测试过程,必须精心计画,并与单元测试的完成时间协调起来。在制定测试计画时,应考虑如下因素
1、是採用何种系统组装方法来进行组装测试;
2、组装测试过程中连线各个模组的顺序;
3、模组代码编制和测试进度是否与组装测试的顺序一致
4、测试过程中是否需要专门的硬体设备;
解决了上述问题之后,就可以列出各个模组的编制、测试计画表,标明每个模组单元测试完成的日期、集成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。
集成测试
在缺少软体测试所需要的硬体设备时,应检查该硬体的交付日期是否与集成测试计画一致。例如,若测试需要数位化仪和绘图仪,则相应测试应安排在这些设备能够投入使用之时,并需要为硬体的安装和交付使用保留一段时间,以留下时间余量。,在测试计画中需要考虑测试所需软体(驱动模组、桩模组、测试用例生成程式等)的準备情况。
单元测试后,有必要进行集成测试,发现并排除在模组连线中可能发生的上述问题,最终构成要求的软体子系统或系统。对子系统,集成测试也叫部件测试。
任何合理地组织集成测试,即选择什幺方式把模组组装起来形成一个可运行的系统,直接影响到模组测试用例的形式、所用测试工具的类型、模组编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式一次性组装方式和增值式组装方式。

完成标準

怎样判定集成测试过程完成了,可按以下几个方面检查
1、成功地执行了测试计画中规定的所有集成测试;
2、修正了所发现的错误;
3、测试结果通过了专门小组的评审。
集成测试应由专门的测试小组来进行,测试小组由有经验的系统设计人员和程式设计师组成。整个测试活动要在评审人员出席的情况下进行。
在完成预定的组装测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果、在测试中发现的问题、解决这些问题的方法以及解决之后测试的结果。还应提出不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。

内容

集成测试过程

根据IEEE标準 集成测试划分为4个阶段计画阶段,设计阶段,实现阶段,执行阶段(实施阶段)
计画阶段
1)时间安排 概要设计完成评审后大约一个星期
2)输入 需求规格说明书 概要设计文档 产品开发计画路标
3)入口条件 概要设计文档已经通过评审
4)活动步骤 1.定被测试对象和测试範围 2.评估集成测试被测试对象的数量及难度,即工作量 3.确定角色分工和作任务4.标识出测试各阶段的时间,任务,约束等条件5.考虑一定的风险分析及应急计画6.考虑和準备集成测试需要的测试工具,测试仪器,环境等资源7.考虑外部技术支援的力度和深度,以及相关培训安排8.定义测试完成标準
5)输出 集成测试计画
6)出口条件 集成测试计画通过概要设计阶段基线评审
设计阶段
1)时间安排详细设计阶段开始
2)输入需求规格说明书概要设计集成测试计画
3)入口条件概要设计基线通过评审
4)活动步骤 1.被测对象结构分析 2.集成测试模组分析3.集成测试接口分析4.集成测试策略分析
5.集成测试工具分析6.集成测试环境分析7.集成测试工作量估计和安排。
5)输出集成测试设计(方案)
6.出口条件集成测试设计通过详细设计基线评审。
实现阶段
1)时间安排在编码阶段开始后进行
2)输入需求规格说明书概要设计集成测试计画集成测试设计
3)入口条件详细设计阶段
4)活动步骤1.集成测试用例设计2.集成测试代码设计(如果需要)3.集成测试脚本(如果需要)4.集成测试工具(如果需要)
5)输出集成测试用例集成测试规程集成测试代码集成测试脚本集成测试工具
6)出口条件测试用例和测试规程通过编码阶段基线评审
执行阶段
1)时间安排单元测试已经完成后就可以开始执行集成测试了
2)输入 需求规格说明书概要设计集成测试计画集成高度设计集成测试例集成测试规程集成测试代码(如果有)集成测试脚本集成测试工具详细设计代码单元测试报告
3)入口条件单元测试阶段已经通过基线化评审
4)活动步骤执行集成测试用例回归集成测试用例撰写集成测试报告
5)输出集成测试报告
6)出口条件集成测试报告通过集成测试阶段基线评审
集成测试过程
工作内容
单元测试工作内容及其流程

需求获取

集成测试需求所确定的是对某一集成工作版本的测试的内容,即测试的具体对象。集成测试需求主要来源于设计模型(Design Model)和集成构件计画(Integration Build Plan)。集成测试着重于集成版本的外部接口的行为。,测试需求须具有可观测、可测评性。
集成测试
1. 集成工作版本应分析其类协作与讯息序列,从而找出该工作版本的外部接口。
2. 由集成工作版本的外部接口确定集成测试用例。
3. 测试用例应覆盖工作版本每一外部接口的所有讯息流序列。
注意一个外部接口和测试用例的关係是多对多,部分集成工作版本的测试需求可映射到系统测试需求,对这些集成测试用例可採用重用系统测试用例技术。

工件清单

1、 软体集成测试计画
2、 集成测试用例
3、 测试过程
4、 测试脚本
5、 测试日誌
6、 测试评估摘要

常用方案选型

综述

集成测试的实施方案有很多种,如自底向上集成测试、自顶向下集成测试、Big-Bang集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。

自顶向下测试

自顶向下集成(Top-Down Integration)方式是一个递增的组装软体结构的方法。从主控模组(主程式)开始沿控制层向下移动,把模组一一组合起来。分两种方法
第一先深度按照结构,用一条主控制路径将所有模组组合起来;
第二先宽度逐层组合所有下属模组,在每一层水平地沿着移动。
集成测试
组装过程分以下五个步骤
步骤一用主控模组作为测试驱动程式,其直接下属模组用承接模组来代替;
步骤二根据所选择的集成测试法(先深度或先宽度),每次用实际模组代替下属的承接模组
步骤三在组合每个实际模组时都要进行测试;
步骤四完成一组测试后再用一个实际模组代替另一个承接模组;
步骤五可以进行回归测试(即重新再做所有的或者部分已做过的测试),以保证不引入新的错误。

自底向上测试

自底向上的集成(Bottom-Up Integration)方式是最常使用的方法。其他集成方法都或多或少地继承、吸收了这种集成方式的思想。自底向上集成方式从程式模组结构中最底层的模组开始组装和测试。因为模组是自底向上进行组装的,对于一个给定层次的模组,它的子模组(包括子模组的所有下属模组)事前已经完成组装并经过测试,所以不再需要编制桩模组(一种能模拟真实模组,给待测模组提供调用接口或数据的测试用软体模组)。自底向上集成测试的步骤大致如下
步骤一 按照概要设计规格说明,明确有哪些被测模组。在熟悉被测模组性质的基础上对被测模组进行分层,在同一层次上的测试可以并行进行,然后排出测试活动的先后关係,制定测试进度计画。图2给出了自底向上的集成测试过程中各测试活动的拓扑关係。利用图论的相关知识,可以排出各活动之间的时间序列关係,处于同一层次的测试活动可以进行,而不会相互影响。
步骤二 在步骤一的基础上,按时间线序关係,将软体单元集成为模组,并测试在集成过程中出现的问题。这里,可能需要测试人员开发一些驱动模组来驱动集成活动中形成的被测模组。对于比较大的模组,可以先将其中的某几个软体单元集成为子模组,然后再集成为一个较大的模组。
步骤三 将各软体模组集成为子系统(或分系统)。检测各自子系统是否能正常工作。同样,可能需要测试人员开发少量的驱动模组来驱动被测子系统。
步骤四 将各子系统集成为最终用户系统,测试是否存在各分系统能否在最终用户系统中正常工作。
方案点评 自底向上的集成测试方案是工程实践中最常用的测试方法。相关技术也较为成熟。它的优点很明显 管理方便、测试人员能较好地锁定软体故障所在位置。但它对于某些开发模式不适用,如使用XP开发方法,它会要求测试人员在全部软体单元实现之前完成核心软体部件的集成测试。儘管如此,自底向上的集成测试方法仍不失为一个可供参考的集成测试方案。

核心繫统测试

核心繫统先行集成测试法的思想是先对核心软体部件进行集成测试,在测试通过的基础上再按各外围软体部件的重要程度逐个集成到核心繫统中。每次加入一个外围软体部件都产生一个产品基线,直至形成稳定的软体产品。核心繫统先行集成测试法对应的集成过程是一个逐渐趋于闭合的螺旋形曲线,代表产品逐步定型的过程。其步骤如下
步骤一 对核心繫统中的每个模组进行单独的、充分的测试,必要时使用驱动模组和桩模组;
步骤二 对于核心繫统中的所有模组一次性集合到被测系统中,解决集成中出现的各类问题。在核心繫统规模相对较大的情况下,也可以按照自底向上的步骤,集成核心繫统的各组成模组。
步骤三 按照各外围软体部件的重要程度以及模组间的相互制约关係,拟定外围软体部件集成到核心繫统中的顺序方案。方案经评审以后,即可进行外围软体部件的集成。
步骤四 在外围软体部件添加到核心繫统以前,外围软体部件应先完成内部的模组级集成测试。
步骤五 按顺序不断加入外围软体部件,排除外围软体部件集成中出现的问题,形成最终的用户系统。
方案点评 该集成测试方法对于快速软体开发很有效果,适合较複杂系统的集成测试,能保证一些重要的功能和服务的实现。缺点是採用此法的系统一般应能明确区分核心软体部件和外围软体部件,核心软体部件应具有较高的耦合度,外围软体部件内部也应具有较高的耦合度,但各外围软体部件之间应具有较低的耦合度。

高频集成测试

高频集成测试是指同步于软体开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。如某些自动化集成测试工具能实现每日深夜对开发团队的现有代码进行一次集成测试,然后将测试结果发到各开发人员的电子信箱中。该集成测试方法频繁地将新代码加入到一个已经稳定的基线中,以免集成故障难以发现,控制可能出现的基线偏差。使用高频集成测试需要具备一定的条件 可以持续获得一个稳定的增量,并且该增量内部已被验证没有问题; 大部分有意义的功能增加可以在一个相对稳定的时间间隔(如每个工作日)内获得; 测试包和代码的开发工作必须是并行进行的,并且需要版本控制工具来保证始终维护的是测试脚本和代码的最新版本; 必须藉助于使用自动化工具来完成。高频集成一个显着的特点就是集成次数频繁,显然,人工的方法是不胜任的。
高频集成测试一般採用如下步骤来完成
步骤一 选择集成测试自动化工具。如很多Java项目採用Junit+Ant方案来实现集成测试的自动化,也有一些商业集成测试工具可供选择。
步骤二 设定版本控制工具,以确保集成测试自动化工具所获得的版本是最新版本。如使用CVS进行版本控制。
步骤三 测试人员和开发人员负责编写对应程式代码的测试脚本。
步骤四 设定自动化集成测试工具,每隔一段时间对配置管理库的新添加的代码进行自动化的集成测试,并将测试报告汇报给开发人员和测试人员。
步骤五 测试人员监督代码开发人员及时关闭不合格项。
按照步骤三至步骤五不断循环,直至形成最终软体产品。
方案点评 该测试方案能在开发过程中及时发现代码错误,能直观地看到开发团队的有效工程进度。在此方案中,开发维护原始码与开发维护软体测试包被赋予了同等的重要性,这对有效防止错误、及时纠正错误都很有帮助。该方案的缺点在于测试包有时候可能不能暴露深层次的编码错误和图形界面错误。
以上我们介绍了几种常见的集成测试方案,一般来讲,在现代複杂软体项目集成测试过程中,通常採用核心繫统先行集成测试和高频集成测试相结合的方式进行,自底向上的集成测试方案在採用传统瀑布式开发模式的软体项目集成过程中较为常见。读者应该结合项目的实际工程环境及各测试方案适用的範围进行合理的选型。

计画书

引言

1.1编写目的
本文是描述集成测试的大纲文章,主要描述如何进行集成测试活动?如何控制集成测试活动?集成测试活动的流程以及集成测试活动的工作安排。本文主要的读者对象是项目负责人,集成部门经理,集成测试设计师。
1.2背景
项目名称集成测试
项目相关对象
1.3定义
1.4参考资料
《》

测试项目

本测试主要为系统的集成测试,的版本为2.0,测试是的最终集成测试,是建立在开发组程式设计师开发完毕自己的测试以及开发组测试的基础之上

被测特性

3.1操作性测试
主要测试操作是否正确,有无误差?分为两部分
3.1.1返回测试
由主界面逐级进入最终界面,按EXIT键逐级返回,检查返回时候萤幕聚焦是否正确
比如
1. 进入“系统设定”
2. 进入“频道搜寻”
3. 进入“自动频道搜寻”
4. 按EXIT键返回,检查当前聚焦是否为“频道搜寻”
5. 按EXIT键返回,检查当前聚焦是否为“系统设定”
3.1.2进入测试
由主界面逐级进入最终界面,按MENU键返回主界面,进入,检查是否聚焦正确
比如
1. 进入“系统设定”
2. 进入“频道搜寻”
3. 进入“自动频道搜寻”
4. 按MENU键返回主界面
5. 当前聚焦是否为“系统设定”
6. 进入“系统设定”,当前聚焦是否为“频道搜寻”
3.2功能测试
测试机顶盒中每个套用的功能是否正确
3.3性能测试
3.3.1疲劳性测试
测试连续开机1个月不关机器,每3天去运行一次套用。看系统的稳定性
3.3.2大容量数据测试
前段资料库表中含有大量数据,测试功能

不被测特性

测试方法
1. 书写测试计画
2. 审核测试计画,未通过返回第一步
3. 书写测试用例;
4. 审核测试用例,未通过返回第三步
5. 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试报告必须覆盖所有测试用例)
6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW)
7. 集成部经理接到bugzilla发过来的bug
7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED);
7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设定为INVALID);
7.3 对于无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设定为REMIND)
8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设定为FIXED)
9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项複测,填写新的测试报告(测试报告必须覆盖上一次中所有REOPENED的测试用例);
10. 如果複测有问题返回第六步(bug状态REOPENED)
11. 否则关闭这项BUG(bug状态CLOSED)
12. 本轮测试中测试用例中有95%一次性通过测试,结束测试任务;
13. 本轮测试中发现的错误有98%经过修改并且通过测试(即bug状态CLOSED),返回第五步进行新的一轮测试;
14. 测试任务结束后书写测试报告;
15. 正规测试结束进入非正规测试,是ALPHA测试,请公司里其他非技术人员以用户角色使用系统。发现bug通知测试人员,测试人员以正规流程处理bug事件;
16. 然后是BETA测试,请用户代表进行测试。发现bug通知测试人员,测试人员以正规流程处理bug事件。
几点说明
O 测试回归计画为三次;
O 测试用例应该写得比较详尽,步骤一定要标明清楚(应该包括编号,测试描述,前置条件,测试步骤以及测试希望结果);
O 对于测试人员觉得应该进行的测试项目,测试人员应该报告测试设计人员,完善和健全测试用例;
O 测试报告与测试用例分开,测试报告标明测试用例序号以及是否通过Y/N;
O 对于集成部经理无法决定的上交项目负责人决定;
O 性能测试中的疲劳性测试可以结合在功能测试部分,即测试期间不关闭机器;
O 性能测试中的大容量数据测试放在测试后部分轮次(第二步,只需要进行一次)

测试通过标準

测试结果与测试用例中期望的结果一致,测试通过,否则标明测试未通过。
6.1测试结果审批过程
6.1.1测试回归申请结束
测试人员提出申请这轮测试结束,提交集成部经理;
集成部经理召集本组人员开会讨论;
讨论通过,进行下一轮测试,并且部署下一轮测试的注意事项,流程等内容;
如果发现这轮测试还存在问题没有解决,延期下一轮测试时间,讨论下一步工作应该如何进行。
6.1.2测试结果申请结束
测试人员提出申请测试结束,提交集成部经理;
集成部经理召集本组人员开会讨论;
1. 讨论通过,结束测试任务;
2. 如果发现测试还存在问题没有解决,延期测试结束时间,并且讨论下一步工作应该如何进行。

挂起和恢复

7.1挂起条件
O 进入第一轮测试,测试人员大体了解一下产品情况,如果在一小时之内发现5个以上(含5个)操作性错误,或者3个以上(含3个)功能性错误,退回测试组测试;
O 遇到有项目优先权更高的集成测试任务;
O 遇到有项目优先权更高的集成任务;
O 在测试複测过程中发现产品无法运行下去;
O 人员,设备不足。
7.2恢复条件
O 符合进入集成测试条件(一小时之内发现5个以下(不含5个)操作性错误,或者3个以下(不含3个)功能性错误);
O 项目优先权更高的集成测试任务暂告完成;
O 项目优先权更高的集成任务暂告完成;
O 複测过程中产品可以运行下去;
O 人员,设备到位。

测试档案

O 测试计画书
O 测试用例
O 测试报告
O 测试

测试任务

O 制定审核测试计画
O 制定和审核测试用例
O 进行测试活动
O 书写测试报告

测试环境需求

10.1硬体需求
10.2软体需求
10.3测试工具
10.4测试需要的条件
10.4.1 需要的文档
O 用户手册
O 套用手册
O 安装说明
10.4.2需要完成的任务
O 程式设计师本人测试
O 测试组完成测试

角色和职责

O 集成(测试)经理控制并完成测试任务和测试过程,决定测试人员提交上来的bug是否需要修改;
O 测试设计人员书写集成测试用例;
O 测试人员按照测试用例进行测试活动;
O 开发人员MHP程式bug修改;
O 用户代表进行BETA测试。

人员和培训

O 集成测试经理有责任对测试相关人员进行测试流程,规章制度培训;
O 测试设计人员有责任对测试人员进行测试操作培训

测试进度

测试工作 进度(人工作日)
测试计画 8
测试设计 60
测试执行总共进度 30
每次回归进度 10
测试报告 2

风险及应急计画

设备不到位加紧设备购买;
人员不到位
人员请假请假人员回来加班或赶紧测试进度/申请调配新的人员;
人员离职调配新的人员;
人员调配到其他部门或项目调配新的人员;
开发人员开发频频出错通知开发部门,商量策略;
其他原因的测试工作频频被挂起或者挂起后迟迟恢复不了加班或延期

审批

集成部经理 技术部经理
姓名姓名
日期日期

单元测试的比较

测试的单元不同

单元测试是针对软体的基本单元(如函式)所做的测试,而集成测试则是以模组和子系统为单元进行的测试,主要测试接口间的关係。

测试的依据不同

单元测试是针对软体的详细设计做的测试,测试用例的主要依据也是详细设计。而集成测试是针对软体的概括设计做的测试,测试用例的主要依据则是概括设计。

测试空间不同

集成测试主要测试的是接口层的测试空间,单元测试主要测试的是内部实现层的测试空间。

测试使用的方法不同

集成测试关注的是接口的集成,和单元测试只关注单个单元,在具体测试方法上也不同。

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有