软件工程课程练习题目和答案第6次作业_第1页
软件工程课程练习题目和答案第6次作业_第2页
软件工程课程练习题目和答案第6次作业_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象测试作业 1 请对比结构化测试方法和面向对象测试方法 讨论他们之间的相同点和 不同点 答 1 就测试目的而言 面向对象软件开发中测试的目标与以往传统的测试 就测试目的而言 面向对象软件开发中测试的目标与以往传统的测试 目标是完全相同的 都是为了确保软件能够正确地执行预定的功能 目标是完全相同的 都是为了确保软件能够正确地执行预定的功能 2 测试过程都包括了测试计划 测试用例设计 测试运行 测试结果测试过程都包括了测试计划 测试用例设计 测试运行 测试结果 分析 面向对象的测试也可以分为单元测试 组装测试 系统测试和用户验收分析 面向对象的测试也可以分为单元测试 组装测试 系统测试和用户验收 测试四个阶段 系统测试和验收测试是对系统的功能和性能进行整体测试的过测试四个阶段 系统测试和验收测试是对系统的功能和性能进行整体测试的过 程 不涉及软件的具体实现方法 因而这两个阶段的测试与系统使用的开发方程 不涉及软件的具体实现方法 因而这两个阶段的测试与系统使用的开发方 法无关 可以采用传统的测试方法进行 法无关 可以采用传统的测试方法进行 3 涉及到系统开发方法的测试集中在单元测试和组装测试这两个阶段 涉及到系统开发方法的测试集中在单元测试和组装测试这两个阶段 以往采用的是过程性的测试方法 程序单元即为功能单元 系统由一系列相关以往采用的是过程性的测试方法 程序单元即为功能单元 系统由一系列相关 联的程序单元构成 可以认为程序具有单一人口和单一出口 程序之间的关系联的程序单元构成 可以认为程序具有单一人口和单一出口 程序之间的关系 是调用关系 是调用关系 4 而面向对象的系统由一些相互关联的对象构成 对象之间靠消息传递 而面向对象的系统由一些相互关联的对象构成 对象之间靠消息传递 信息 对象由数据和操作组成 并且面向对象的方法具有更高程度的抽象 虽信息 对象由数据和操作组成 并且面向对象的方法具有更高程度的抽象 虽 然系统是由对象构成 但在程序中的基本单元却是然系统是由对象构成 但在程序中的基本单元却是 类类 它是对象的抽象描述 它是对象的抽象描述 对象是类的实例 另外类还具有继承和多态等结构 这些程序结构和实现机制对象是类的实例 另外类还具有继承和多态等结构 这些程序结构和实现机制 的差别造成了测试方法上的差异 的差别造成了测试方法上的差异 5 在传统的软件测试中 测试过程要求与具体的应用环境尽量相结合 在传统的软件测试中 测试过程要求与具体的应用环境尽量相结合 与应用环境结合越紧密 其测试的结果越可靠 但在面向对象的软件测试中 与应用环境结合越紧密 其测试的结果越可靠 但在面向对象的软件测试中 作为基本程序单元的类是一个可以应用于许多不同应用软件中的独立部件 其作为基本程序单元的类是一个可以应用于许多不同应用软件中的独立部件 其 复用的程度高 要求不需了解任何实现细节就能复用 因此对类的测试要求尽复用的程度高 要求不需了解任何实现细节就能复用 因此对类的测试要求尽 量与具体应用环境相独立 与应用环境越独立 其测试的结果越可靠 量与具体应用环境相独立 与应用环境越独立 其测试的结果越可靠 2 面向对象测试的特点是什么 答 与传统的程序相比较 面向对象程序主要具有封装性 继承性 多态性和与传统的程序相比较 面向对象程序主要具有封装性 继承性 多态性和 动态绑定等几大特性 这给面向对象测试带来了一些新的特定 增加了测试和动态绑定等几大特性 这给面向对象测试带来了一些新的特定 增加了测试和 调试的难度 调试的难度 1 封装性 封装性 封装是类的重要特性之一 它限制了对象属性对外的可见性和外界对封装是类的重要特性之一 它限制了对象属性对外的可见性和外界对 它们的使用权限 在一定程度上简化了类的使用 避免了不合理的操作并能有它们的使用权限 在一定程度上简化了类的使用 避免了不合理的操作并能有 效地阻止错误的扩散 但正是由于封装 使得类的一些属性和状态对外部来说效地阻止错误的扩散 但正是由于封装 使得类的一些属性和状态对外部来说 是不可见的 这就给测试用例的生成带来了一定的困难 为了能够观察到这些是不可见的 这就给测试用例的生成带来了一定的困难 为了能够观察到这些 属性和状态 以确定程序执行的结果是否正确 往往要在类定义中增添一些专属性和状态 以确定程序执行的结果是否正确 往往要在类定义中增添一些专 门的函数用于测试 门的函数用于测试 2 继承性 继承性 继承给程序开发人员带来了很多方便 然而对于测试人员来说 继承给程序开发人员带来了很多方便 然而对于测试人员来说 问题却并未简化 对父类进行了充分的测试未必能保证子类继承的特征的正确问题却并未简化 对父类进行了充分的测试未必能保证子类继承的特征的正确 性 因为父类和子类的运行环境是不同的 同时 多重继承会显著地增加派生性 因为父类和子类的运行环境是不同的 同时 多重继承会显著地增加派生 类的复杂程度 导致一些难以发现的隐含错误 类的复杂程度 导致一些难以发现的隐含错误 3 多态性和动态绑定 多态性和动态绑定 多态性和动态绑定是面向对象方法的关键特性之一 多态的概念是指同一多态性和动态绑定是面向对象方法的关键特性之一 多态的概念是指同一 消息可以根据发送消息对象的不同而采用多种不同的行为方式 程序运行时相消息可以根据发送消息对象的不同而采用多种不同的行为方式 程序运行时相 当于执行了一个多路分支的当于执行了一个多路分支的 switch 语句 首先判定传递过来的实参的类型 语句 首先判定传递过来的实参的类型 然后再确定究竟执行哪一个类中的方法 而在测试时 就必须为上面的每一个然后再确定究竟执行哪一个类中的方法 而在测试时 就必须为上面的每一个 分支生成测试用例 由此可见 多态性和动态绑定为程序的执行带来了不确定分支生成测试用例 由此可见 多态性和动态绑定为程序的执行带来了不确定 性 并且增加了系统运行中可能的执行路径 加大了测试用例选取的难度和数性 并且增加了系统运行中可能的执行路径 加大了测试用例选取的难度和数 量 量 面向对象开发是渐进的迭代过程 并且从分析 设计到实现使用相同的语面向对象开发是渐进的迭代过程 并且从分析 设计到实现使用相同的语 义结构 义结构 如果前面定义了一系列属性或操作在后面的设计阶段被检测出是如果前面定义了一系列属性或操作在后面的设计阶段被检测出是 无关的 却被传到了设计和编码阶段去 这将花费大量的精力来实现一个不必无关的 却被传到了设计和编码阶段去 这将花费大量的精力来实现一个不必 要的属性或操作 因而面向对象的测试必须扩大到分析与设计阶段 要的属性或操作 因而面向对象的测试必须扩大到分析与设计阶段 但是分析与设计阶段不能进行传统意义上的测试 它们是不能被但是分析与设计阶段不能进行传统意义上的测试 它们是不能被 执行的 因而还需要有专门的测试方法 执行的 因而还需要有专门的测试方法 3 面向对象测试的步骤是什么 答 1 制定测试计划 制定测试计划 包括描述测试策略 估计测试工作所需的人力以及系统资源 制定测试包括描述测试策略 估计测试工作所需的人力以及系统资源 制定测试 工作进度 工作进度 2 设计测试用例 设计测试用例 类测试用例设计类测试用例设计 集成测试用例设计 用于验证被组装成构造的构件之间能够正常交互 集成测试用例设计 用于验证被组装成构造的构件之间能够正常交互 系统测试用例设计 用于测试系统功能整体上是否满足要求 在不同条系统测试用例设计 用于测试系统功能整体上是否满足要求 在不同条 件下的用例组合运行是否有效 件下的用例组合运行是否有效 回归测试用例设计 迭代 回归测试用例设计 迭代 3 实现测试 实现测试 4 执行集成测试 执行集成测试 5 执行系统测试 执行系统测试 6 测试评估 测试评估 4 结合作业五中你所设计的 网上图书销售系统 给出一个面向对象测试 用例 可以是某个小流程的测试用例 也可以是整个系统的测试用例 答 一 类测试用例 一 类测试用例 1 检查对属性的操作 例如获取会员的信息 设置会员的信息 检查对属性的操作 例如获取会员的信息 设置会员的信息 2 检查对数据库的操作 例如保存会员信息 查询密码是否正确 检查对数据库的操作 例如保存会员信息 查询密码是否正确 二 集成测试用例二 集成测试用例 根据用例的交互图 从中选择感兴趣的场景 即角色 输入信息 输出根据用例的交互图 从中选择感兴趣的场景 即角色 输入信息 输出 信息 系统初始状态的组合 信息 系统初始状态的组合 例如 顾客下订单这个过程 例如 顾客下订单这个过程 角色 顾客角色 顾客 输入信息 会员号 图书号输入信息 会员号 图书号 输出信息有多种可能 会员号不存在 图书有库存可定 图书无库存不可定输出信息有多种可能 会员号不存在 图书有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论