




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实用软件测试方法与应用 集成测试 2006 9 19 第5章集成测试 本章着重讲述集成测试的整个过程 集成测试的基本理论 测试计划的编制 测试过程中的注意事项 集成测试 也叫组装测试或联合测试 在单元测试的基础上 将所有模块按照设计要求 如根据结构图 集成为子系统或系统 进行集成测试 2006 9 19 5 1集成测试基本理论 集成测试的目的和意义考虑以下问题 1 在把各个模块连接起来的时候 穿越模块接口的数据是否会丢失 2 各个子功能组合起来 能否达到预期要求的父功能 3 一个模块的功能是否会对另一个模块的功能产生不利的影响 4 全局数据结构是否有问题5 单个模块的误差积累起来 是否会放大 从而达到不可接受的程度 要想发现并排除在模块连接中可能发生的上述问题 就需要进行集成测试 集成测试有以下不可替代的特点 单元测试具有不彻底性 对于模块间接口信息内容的正确性 相互调用关系是否符合设计无能为力 只能靠集成测试来进行保障 同系统测试相比 由于集成测试用例是从程序结构出发的 目的性 针对性更强 测试项发现问题的效率更高 定位问题的效率也较高 能够较容易地测试到系统测试用例难以模拟的特殊异常流程 从纯理论的角度来讲 集成测试能够模拟所有实际情况 定位问题较快 由于集成测试具有可重复强 对测试人员透明的特点 发现问题后容易定位 所以能够有效地加快进度 减少隐患 2006 9 19 5 1 2联调与集成测试的区别 集成和联调都是对系统模块的装配过程 只不过是两个级别的装配和集成过程 集成测试是 测试人员在开发人员的协助下 制定集成测试计划 集成测试主要关注的是集成模块接口上消息的覆盖 异常流程 性能指标等深入的测试 集成测试不一定依赖于物理平台的支撑 如 机架 集成测试是分层次的 某模块集成测试通过后 可以按照集成方案的策划开始着手下一个 组 模块或更高级别的模块的集成 即从 2 再开始 直至按照集成方案的要求将所有的部件集成完毕 当按照集成测试计划全部完成后 就可以进行系统联调了一般意义上 联调是指软件系统和硬件平台之间的联调 联调完毕后 一个将交付的系统就搭建完成了 因此 联调可以说是更高级别的集成 开发经理在开发测试相关人员的协助下 制定系统联调计划 相关人员将已经经过集成测试软件系统和硬件平台集成在一起 构成将交付的系统 并调通该系统的基本功能特性 可以用系统与此项或联调方案所规定的检验方法确定基本功能特性是否实现 联调在系统联调环境上进行 是一个反复调试的过程 在系统联调调通后 将系统联调调通后的版本提交系统预测试组进行系统预测试 系统预测试基于的系统预测试项是取自系统测试项的系统基本功能项 系统预测试的目的是确保提交一个可系统测试的版本 在系统比较庞大 接口关系十分复杂的产品上 如果因争取时间或过于自信的原因忽略集成 而直接跨越到联调 往往导致模块间接口问题难以发现或发现问题后查错十分困难 或反复更改模块内部代码和接口协议 造成语速则不达的后果 完整的测试流程是 单元测试 集成测试 联调 系统预测试 系统测试 2006 9 19 5 1 3集成测试 单元测试与系统测试的差别 由以上可以看出 整个软件系统的测试过程是 先对各个软件模块进行单元测试 然后把经过单元测试的各个模块组装起来进行集成测试 最后把经过集成测试的子系统合成软件版本 对照需求规格 在实际环境下 进行系统功能验证 2006 9 19 5 2集成测试的基本方案 一般来说 按测试过程中组合模块的方式 有两种不同的集成方式 一次性集成方式和增值式集成方式 1 一次性集成方式一次性集成方式是一种非增殖集成方式 也叫整体拼装 按这种集成方式 首先对每个模块分别进行模块测试 然后再把所有模块集成在一起进行测试 最终得到要求的软件系统 例如 有一块系统结构 如图 a 所示 其单元测试和集成顺序如图 b 所示 a b 模块d1 d2 d3 d4 d5是对各个模块做单元测试时建立的驱动模块 s1 s2 s3 s4 s5是为单元测试而建立的桩模块 这种一次性集成方式将所测模块连接起来进行测试 但是一次试运行成功地可能性并不大 其结果发现有错误 但茫然找不到原因 差错和改错都会遇到困难 A B C D E F d5 d4 d3 d2 d1 B D C E F S1 S2 A S5 S4 S3 A D C B F E 2006 9 19 2 增殖式集成方式增殖式集成方式也称为递增集成法 即逐次将未曾测试的模块和已测试的模块 或子系统 结合成程序包 然后将这些模块集成为较大系统 在集成的过程中边连接边测试 以发现连接过程中产生的问题 最后增殖逐步集成为要求的软件系统 根据集成的过程又可以分为自顶向下集成自底向上集成 三明治 集成法定向冒险集成法功能定向集成法等 2006 9 19 2 1自顶向下的增殖方式这种集成方式是将模块按系统的程序结构 沿控制层次自顶向下进行集成 步骤 1 以主模块为所测模块兼驱动模块 所有直属于主模块的下属模块全部用桩模块对主模块进行测试 2 采用深度优先或宽度优先的策略 用实际模块替换相应桩模块 再用桩代替它们的直接下属模块 与已测试的模块或子系统集成为新的子系统 如下图 3 进行回归测试 即重新执行以前做过的全部测试或部分测试 排除集成过程中引起错误的可能 4 判断是否所有的模块都已集成到系统中 是则结束测试 否则转到 2 去执行 1 在测试过程中较早地验证了主要的控制和断点 2 可以首先实现和验证一个完整的软件功能 可先对逻辑输入的分支进行集成和测试 检查和克服潜藏的错误和缺陷 3 功能可行性较早得到证实 还能给开发者和用户带来成功地信心 A C B A s3 s1 E s2 s3 A B s4 s3 s2 A E s3 s2 B A D C B S5 E A B C D E F 加入B 加入E 加入C 加入D 加入F 按深度方向组装 2006 9 19 自顶向下的集成和测试存在一个逻辑次序问题 在为了充分测试较高层的处理而需要较低层的处理信息时 就会出现这类问题 在自顶向下集成阶段 还需要用桩模块代替较低层的模块 所以关于桩模块的编写 根据情况可能有所不同 有如下几种选择 为了能够准确地实施测试 应当让桩模块正确而有效地模拟子模块的功能和合理的接口 不能是只包含返回语句或只显示该模块已调用信息 不执行任何功能的哑模块 如果不能使桩模块正确地向上传递有用的信息 可以采用以下解决办法 1 将很多测试推迟到桩模块用实际模块替代了之后进行 2 进一步开发能模拟实际模块功能的桩模块 3 自底向上集成和测试软件 桩模块stubA 桩模块stubD 桩模块stubC 桩模块stubB 显示跟踪信息 显示传递的信息 从一个表 或外部文件 返回一个值 进行一项表查询以根据输入参数返回输出参数 表示传递的数据消息 2006 9 19 2 2自底向上的增殖方式这种集成的方式是从程序模块结构的最底层的模块开始集成和测试 因为模块是自底向上进行集成 对于一个给定的模块 它的子模块 包括子模块的所有下属模块 已经集成并测试完成 所以不再需要桩模块 自底向上增殖的步骤如下 1 由驱动模块控制最底层模块的并行测试 也可以把最底层模块组合成实现某一特定软件功能的簇 由驱动模块控制它进行测试 2 用实际模块代替驱动模块 与它已测试的直属子模块集成为子系统 3 为子系统配备驱动模块 进行新的测试 4 判断是否已集成到达主模块 是否结束测试 否则执行 2 下图说明自底向上集成和测试的顺序 d1 E d2 C d3 F d4 D B d5 F E A F E D C B 2006 9 19 自底向上进行集成和测试时 需要为所测模块或子系统编制相应的驱动模块 常见的几种类型的驱动模块如图所示 随着集成层次的向上移动 驱动模块将大为减少 如果对程序模块结构的最上面两层模块采用自顶向下进行集成和测试 可以明显地减少驱动模块的数目 而且可以大大减少把几个系统集成起来所需要做的工作 驱动程序DriverA 驱动程序DriverB 驱动程序DriverC 驱动程序DriverD 调用从属模块 从表 或外部文件 中传递参数 显示参数 兼有驱动程序B C的功能 表示传送的参数信息 2006 9 19 优缺点自顶向下增殖的方式和自底向上增殖的方式各有优缺点 一般来讲 一种方式的优点是另一种方式的缺点 1 自顶向下增殖方式的缺点是需要建立桩模块 要使桩模块能够模拟实际子模块的功能十分困难 同时涉及复杂算法 真正输入 输出的模块一般在底层 他们是最容易出问题的模块 到测试和集成的后期才遇到这些模块 一旦发现问题导致过多的回归测试 优点是能够较早地发现在主要控制方面的问题 2 自底向上增殖方式的缺点是 程序一直未能作为一个实体存在 直到最后一个模块加上去后才形成一个实体 就是说 在自底向上集成和测试的过程中 对主要的控制直到最后才接触到 优点是不需要桩模块 而建立驱动模块一般比建立桩模块容易 同时由于涉及到复杂算法和真正输入 输出的模块最先得到集成和测试 可以把最容易出问题的部分在早期解决 此外 自底向上增值的方式可以实施多个模块的并行测试 提高测试效率 2006 9 19 2 3混合增殖式测试 混合增殖式测试就是把以上两种方式结合起来进行集成和测试 这样可以兼具两者的优点下面介绍3种常见的混合式增殖方式 1 衍变的自顶向下的增殖方式 它的基本思想是强化对输入 输入模块和引入新算法模块的测试 并自底向上集成为功能相当完整且相对独立的子系统 然后由主模块开始自顶向下进行增殖测试 2 自底向上 自顶向下的增殖测试 它首先对含读操作的子系统自底向上直至根结点模块进行集成和测试 然后对含写操作的子系统作自顶向下的继承与测试 3 回归测试 这种方式采取自顶向下的方式测试所修改的模块及其子模块 然后将这一部分视为子系统 再自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 葡萄酒知识培训题课件
- 常州期末考试化学试卷及答案
- 常熟融媒招聘考试题库及答案
- 茶艺基础期末考试及答案高一
- 2025普通员工合同协议书
- 2025权益代理委托合同
- 残疾人护理实操考试题及答案
- 2024人教版七年级生物下册期末复习知识点提纲(填空版+答案版)
- 2025年舞蹈理论知识考试题库
- 2025年料位传感器项目建议书
- 高原病的预防与适应
- 马克思主义政治经济学第7章剩余价值的分配
- 成品出货检验报告模板
- 2023年中考语文一轮复习:语段综合专项练习题汇编(含答案)
- 香豆素抗凝血药华法林及其类似物的合成
- 长江上游黄河上中游地区天然林资源保护工程实施方案
- GB/T 5453-1997纺织品织物透气性的测定
- GB/T 14315-2008电力电缆导体用压接型铜、铝接线端子和连接管
- 农民工工资表(模板)
- 《室内空间设计》第三章课件
- 学习《北方民族大学学生违纪处分规定(修订)》课件
评论
0/150
提交评论