第8章编码与测试.pptVIP

  • 2
  • 0
  • 约1.25万字
  • 约 81页
  • 2017-05-31 发布于湖北
  • 举报
第8章编码与测试课件

8.7 多模块程序的测试策略 单元测试的实施步骤: 编译 静态分析器分析 代码评审 动态测试 检查代码中的语法错误 检查代码中的结构性错误 重点发现功能性错误 发现程序在结构、功能与编码风格方面的问题和错误。 测试软件:在多模块程序中,每一模块都可能调用其它模块或者被其它模块所调用。所以在单元测试时,需要为被测试模块编制若干测试软件,给它的上级模块或下级模块作替身。代替上级模块的称为测试驱动模块,代替下级模块的称为测试桩模块。 8.7 多模块程序的测试策略 集成测试:通过单元测试的模块要按照一定的策略组装为完整的程序,在该组装过程中进行的测试称为集成测试或组装测试。 模块 单元测试 单元测试 单元测试 集成测试 确认测试 系统测试 模块 模块 测试报告 测试报告 软件设计信息 软件需求信息 测试报告 测试报告 已组装软件 已确认软件 可运行的系统 系统的其它成分 编码阶段 测试阶段 验收阶段 … 8.7 多模块程序的测试策略 集成测试的原因: 单元测试中使用了测试软件,与它们所代替的模块并不完全等效,故单元测试本身可能有不充分的地方,存在缺陷。 各模块之间可能有比较复杂的接口,稍有疏忽就易出错。例如,有些数据在穿过接口时会不慎丢失,有些全局性数据在引用中可能出问题等。 有些在单个模块中可以允许的误差,组装后的积累可能达到不能容忍的地步,或者模块的分功能似乎正常,组装后也可能产生不了预期的综合功能。 8.7 多模块程序的测试策略 集成测试的目的:将经过单元测试的模块逐步组装成具有良好一致性的完整程序。 集成测试的任务: 制定集成测试实施策略:自顶向下,由低向上,或两头逼近策略。 确定集成测试的实施步骤,设计测试用例。二者的选择,应有利于揭露在接口关系、访问全局性数据(公用文件与数据结构)、模块调用序列和出错处理等方面存在的隐患。 进行测试,即在已通过单元测试的基础上,逐一地添加模块。每并入一个模块,除进行新的测试项目外,还须重复进行先前已经进行过的测试,后者也称为回归测试。 8.7 多模块程序的测试策略 集成测试的策略: 自顶向下测试:从顶模块开始,沿被测程序的结构图逐渐向下测试。按照移动路线的差异,又可区分为两种不同的实施策略: M1 M2 M3 M4 M5 M6 M7 M8 多模块程序 先广度后深度实施步骤。 组装顺序:M1-M2-M3-M4-M5-M6-M7-M8 先深度后广度实施步骤。 组装顺序:M1-M2-M5-M8-M6-M3-M4-M7 8.7 多模块程序的测试策略 M1 M2 S3 S4 M5 S6 S8 测试M1 M1 S2 S3 S4 M1 M2 S3 S4 S5 S6 先深度后广度的测试时所需的桩模块 测试M1-M2-M5 测试M1-M2 M1 M2 S3 S4 M5 M6 S8 测试M1-M2-M5-M6 8.7 多模块程序的测试策略 M1 M2 S3 S4 M5 M6 M8 M1 M2 M3 S4 M5 M6 M8 M1 M2 M3 M4 M5 M6 M8 测试M1-M2-M5-M6-M8 测试M1-M2-M5-M6-M8-M3 测试M1-M2-M5-M6-M8-M3-M4 8.7 多模块程序的测试策略 自低向上测试: (1)从下一层模块中找出一个没有下级模块的模块,由下向上地逐加新模块,组成程序中的一个子系统或模块群; (2)从另一个子系统或群中选出另一个无下级模块的模块,仿照前一步组成又一个子系统; (3)重复上一步,直至得出所有的子系统,把它们组装为完整的程序。 8.7 多模块程序的测试策略 M1 M2 M3 M4 M5 M6 M7 M8 多模块程序 组装顺序: M8-M5-M6-M2 M7-M4-M3-M1 全部模块(合并以上两个群) 8.7 多模块程序的测试策略 混合测试方式: (1)对上层模块采取自顶向下测试; (2)对关键模块或子系统采取由底向上测试。 8.7 多模块程序的测试策略 确认测试:其目的在于确认组装完毕的程序是否满足软件需求规格说明书的要求。确认测试通常包括有效性测试和配置复审等内容。 模块 单元测试 单元测试 单元测试 集成测试 确认测试 系统测试 模块 模块 测试报告 测试报告 软件设计信息 软件需求信息 测试报告 测试报告 已组装软件 已确认软件 可运行的系统 系统的其它成分 编码阶段 测试阶段 验收阶段 … 8.7 多模块程序的测试策略 验收测试:如果软件是给一个客户开发的,需要进行一系列验收测试来保证满足客户所有的需求。验收测试主要由用户而不是开发者来进行的。 α测试与β测试:如果一个软件是给很多客户使用的,可使用α测试与β测试。 α测试:是在一个受控的环境下,由用户在开发者的指导下进行测试,由开发者负责记录错误和使用中出现的问题。 β测试:由最终用户在自己的场所进行

文档评论(0)

1亿VIP精品文档

相关文档