第10章面向对象测试
《软件工程导论》课后习题答案

作业及解答(第3章)
• 数据结构的描述 符 号
= +
含 义
x = a+b
举
例
被定义为 与 或
[...,...] 或 [...|...] { ... }或 m{...}n (...) “...” ..
23:59:38
x = [a , b],x = [a | b] 重复 x = {a}, x = 3{a}8 可选 x = (a) 基本数据元素 x = “a” 连结符 x = 1..9
P1 记录存款信息
P2 打印存单 F5存款信息 F3存单 E1 储户 F4利息
F5存款信息 D1存款信息 F7密码 F2取款单
F5存款信息 P3 核算密码
F4利息 F4利息 F6取款信息 P6 设置利率 P4 计算利息
P5 打印利息清单 F8储蓄利率
E2 业务员
23:59:38
F8储蓄利率
F8储蓄利率
23:59:38
重庆工学院计算机科学与工程学院 李梁(liliang@) 李梁
作业及解答( 作业及解答(第3章)
23:59:38
重庆工学院计算机科学与工程学院 李梁(liliang@) 李梁
作业及解答( 作业及解答(第3章)
• 3-6 复印机的工作过程大致如下:未接到复印 命令时处于闲置状态,一旦接到复印命令则进 入复印状态,完成一个复印命令规定的工作后 又回到闲置状态,等待下一个复印命令;如果 执行复印命令时发现没纸,则进入缺纸状态, 发出警告,等待装纸,装满纸后进入闲置状态, 准备接收复印命令;如果复印时发生卡纸故障, 则进入卡纸状态,发出警告等待维修人员来排 除故障,故障排除后回到闲置状态。 • 请用状态转换图描绘复印机的行为。
郑大远程面向对象程序设计试题

《面向对象程序设计》第12章在线测试第一题、单项选择题(每题1分,5道题共5分)1、面向对象软件开发中使用的OOD表示()A、面向对象分析B、面向对象设计C、面向对象语言D、面向对象方法2、在面向对象方法中,对象执行它的操作是通过()A、自动执行B、接受消息请求C、由外部强制执行D、外界直接访问其成员3、对象的两大要素是()A、数据和数据结构B、名字和函数C、属性和操作D、操作和方法4、关于对象模型的说法正确的事()A、对象模型是类、对象、类或对象之B、对象模型表示系统静态的数据性质间关系的定义集C、对象模型表示类/对象之间的结构D、对象模型是客观对象的物理模型关系5、面向对象分析的任务是()A、需求分析B、建立用例模型C、定义问题领域类D、定义角色第二题、多项选择题(每题2分,5道题共10分)1、下面那些是面向对象的特征?()A、结构B、类C、重用D、继承2、下面哪些属于UML的图( )A、用例图B、类图C、结构图D、流程图3、关于封装的说法正确的是()A、封装实现了信息隐藏B、封装使对象与外界隔绝C、封装使类不可见D、封装将对象的属性和操作结合在一起4、对象之间存在的关系包括()A、部分与整体B、一般与特殊C、实例连接D、消息连接5、下面的说法正确的是()A、软件就是程序,程序就是软件B、软件开发的过程就是程序设计的过程C、软件是程序、支持程序运行的数据以及与程序有关的文档资料的集合。
D、程序设计仅仅是软件开发过程的一个阶段。
第三题、判断题(每题1分,5道题共5分)1、面向对象设计过程一般仍分为结构设计和详细设计。
正确错误2、UML 是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
正确错误3、UML不是一种可视化的程序设计语言而是一种可视化的建模语言.正确错误用若干个视图构造系统的模型,每个视图描述系统的一个方面。
正确错误、类的关联关系通常采用函数设计方式。
正确错误《面向对象程序设计》第11章在线测试A BC D、允许程序员以相同的方式处理不同的数据结构的是()A BC Dlist属于(A BC Dmap)属于A BC D、多重映射(multimapA BC DC、排序算法D、数值计算算法2、下面属于容器的头文件是()A、vectorB、listC、queneD、set3、下面的说法正确的是()A、STL中有sort函数,所以程序员不能定义名字叫sort的函数B、STL中的sort函数在名字空间之外C、程序员可以在自定义的名字空间内定义sort函数D、使用STL的sort函数可以在源程序的开头加入using namespace std4、下面属于顺序容器的是()A、向量B、双队列C、堆栈D、列表5、如果char str[]=“China!Great Wall”,生成string类型s并且s的字符串内容也是“China!Gr eat Wall”的语句是()A、string s(str);B、string s(str,1);C、string s(str, 1,11);D、string s=str;第三题、判断题(每题1分,5道题共5分)1、迭代器是算法访问容器的中介。
第10章 面向对象分析

第10章 面向对象分析
第10章 面向对象分析
• 面向对象软件开发技术
– 面向对象分析(OOA) – 面向对象设计(OOD) – 面向对象实现(OOP)
面向对象技术是一个有全新概念 的开发模式,其特点是:
(1)方法是对软件开发过程所有阶段进 行综合考虑而得到的; (2)从生存期的一个阶段到下一个阶段 所使用的方法与技术具有高度的连 续性;
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
自动售货系统系统
-端1 * -端2
自动售货系统::售货
*
顾客
-端2
-端1 *
自动售货系统::供货
*
供货人
-端1 * -端2
自动售货系统::取货款
*
收银员
自动售货系统系统
-端1 *
-端2
售货
*
<<extends>>
售散装饮料
顾客
• 业务中的执行者扮演什么角色?这些角色可以 看作类,如客户、操作员等。
(2)筛选对象类,确定最终对象类 我们可以用以下选择特征来确定最终的对象: 1) 保留的信息:仅当必须记住有关潜在对象的 信息,系统才能运作时,则该潜在对象在分 析阶段是有用的; 2) 需要的服务:潜在对象必须拥有一组可标识 的操作,它们可以按某种方式修改对象属性 的值; 3) 多个属性:在分析阶段,关注点应该是“较 大的”信息(仅具有单个属性的对象在设计 时可能有用,但在分析阶段,最好把它表示 为另一对象的属性);
定义服务
• 对象=属性+操作(服务) • 因为在动态模型和功能模型中更明确地描 述了每个类中应该提供哪些服务,所以在 建立了这两个模型后才能最终确定类中应 有的服务。 • 事实上,在确定类中应有的服务时,既要 考虑该类实体的常规行为,又要考虑在本 系统中特殊需要的服务。
Web前端开发基础之JavaScript程序设计知到章节答案智慧树2023年浙江工业职业技术学院

Web前端开发基础之JavaScript程序设计知到章节测试答案智慧树2023年最新浙江工业职业技术学院第一章测试1.下面不属于<script>标签属性的是()。
参考答案:href2.下列选项中,可以接收用户输入的信息的是()。
参考答案:prompt()3.下面关于JavaScript的概述不正确的是()。
参考答案:依赖于操作系统4.下列选项中,可以实现警告框的是()。
参考答案:alert()5.下面()标签可在页面中直接嵌入JavaScript。
参考答案:<script>6.下面关于字符串的描述错误的是()。
参考答案:单引号中使用单引号不需要转义7.下列选项中与++(后置)具有相同优先级的是运算符是()。
参考答案:--(后置)8.表达式Math.PI.toFixed(2)的运行结果为()。
参考答案:3.149.函数Object.prototype.toString.call('undefined')的返回值是()。
参考答案:"[object String]"10.下列选项中,不属于赋值运算符的是()。
参考答案:==11.下列选项中,在操作9和15时,结果为负数的是()。
参考答案:“~”12.下面关于逻辑运算符的说法错误的是()。
参考答案:逻辑运算的返回值是布尔型13.下列语句中可以重复执行一段代码的是()。
参考答案:while14.下面关于运算符的说法错误的是()。
参考答案:表达式中赋值运算符总是最后执行的15.以下选项中不属于选择结构语句的是()。
参考答案:while语句16.以下选项中不属于基本数据类型的是()。
参考答案:Object17.以下选项中可以保留2位小数的是()。
参考答案:toFixed()18.下面关于变量的说法错误的是()。
参考答案:保留字能够作为变量名称使用19.下面关于for语句描述错误的是()。
参考答案:for循环语句小括号内的分号分割符可以省略20.下列选项中可以将null转换成字符型的是()。
张海藩《软件工程导论》(第6版,清华大学出版社)(考研用)辅导书 第(10-13)章【圣才出品】

十万种考研考证电子书、题库视频学习平台
第 10 章 面向对象分析
10.1 复习笔记
一、面向对象分析的基本过程 1.概述 (1)定义 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。 (2)过程 ①分析陈述用户需求的文件; ②深入理解用户需求,抽象出目标系统的本质属性; ③用模型准确地表示。 (3)目的 全面深入地理解问题域和用户的真实需求,建立问题域的精确模型。
2.信息来源 需求陈述、应用领域的专业知识、客观世界的常识是建立对象模型时的主要信息来源。
3.建立对象模型的步骤 (1)确定类与对象。 ①找出候选的类与对象; ②筛选出正确的类与对象。 (2)确定关联。 【注意】在分析确定关联的过程中,不必花过多的精力去区分关联和聚集,聚集是一种 特殊的关联。 (3)划分主题。 (4)确定属性。 (5)识别继承关系。 (6)反复修改。
5.画状态图 (1)定义 状态图描绘事件与对象状态的关系,它确定了由事件序列引出的状态序列。 (2)方法 ①仅考虑事件跟踪图中指向某条竖线的那些箭头线。把这些事件作为状态图中的有向 边,边上标以事件名。 ②给每个状态取个有意义的名字。 ③根据一张事件跟踪图画出状态图后,再把其他脚本的事件跟踪图合并到该图中。 ④考虑完正常事件后再考虑边界情况和特殊情况,包括在不适当时候发生的事件。
十万种考研考证电子书、题库视频学习平台
复杂问题的对象模型由 5 个层次组成,如图 10-1 所示。
图 10-1 复杂问题的对象模型的 5 个层次
二、需求陈述 1.内容 (1)阐明“做什么”而不是“怎样做”。 (2)描述用户的需求而不是提出解决问题的方法。 (3)指出哪些是系统必要的性质,哪些是任选的性质。 (4)避免对设计策略施加过多的约束,不描述系统的内部结构。
第10章-C++面向对象程序设计(Visual C++ 2010版)-温秀梅-清华大学出版社

基本控件的共同属性
(1) ID属性 用于指定控件的标识符,Windows依靠ID来区分不同 的控件。
(2) Caption(标题)属性 对控件将要实现的功能进行文字说明。如果控件标题 中包含字符&,则紧跟其后的字符在显示时会有一条下划 线,通过这样的设置,按(Alt+带下划线的字符)组合键, 将触发控件被单击的事件或切换到相应的控件。
单击“下一步”按钮,弹出如图10.3所示的“MFC 应用 程序向导-ch10_1”之“应用程序类型”对话框,在该 对话框中选择“基于对话框”的应用程序类型。应用程 序有以下四种类型:单个文档(Single document)、 多个文档(Multiple documents)、基于对话框( Dialog based)和多个顶级文档。选择不同的应用程序 类型时,对话框左上角会显示不同风格的应用程序窗口 图标,不同类型应用程序的具体说明如表10.2所示。
图10.8 ch10_1应用程序的运行结果
使用AppWizard 工具生成的 程序和改变了的复选框
组合框 分组框 静态文本框
命令按钮 编辑框 列表框 单选按钮 图片框
10.3 基本控件
水平滚动条 滑块
进度条
列表框
选项卡控件
垂直滚动条 微调器 热键
树型列表框
IP地址
允许用户产生一个多文档界面(MDI)结构的应用程序。该项为默认选项。在 多文档界面应用程序中允许同时操作多个文档。在界面中可以同时打开多个文 件(同时也就为每个文件打开一个窗口),并通过切换窗口激活相应的文档进 行编辑
允许用户产生一个基于对话框的应用程序。基于对话框结构的应用程序,主要 用于人机对话,为用户传送一些消息给计算机
图10.3 “MFC 应用程序向导-ch10_1”之“应 用程序类型”对话框
第10章 C++语言的输入与输出-面向对象程序设计(C++语言)(第二版)-程磊-清华大学出版社

设置状态标志flags 清楚状态标志,并返回前状态标志 测试状态标志 设置标志flags, 并返回前状态标志 返回当前的宽度设置值 设置域宽w,返回以前的设置 设置小数位数p,返回以前的小数位数 返回当前的填充字符 设置填充字符ch,返回当前的填充字符
13
下面分别介绍这些成员函数的使用方法;
(1)设置状态标志:
cout<<”x_width=”<<cout.width( )<<endl; cout<<”x_fill=”<<cout.fill ( )<<endl; cout<<”x_precision=”<<cout.precision( )<<endl; cout<<123<<” ”<<123.45678<<endl; cout<<”______________________________\n”; cout<<”*** x_width=10,x_fill=, x_precision=4 ***\n”; cout.width(10); cout.precision(4); cout<<123<<” ”<<123.45678<<” ”<<234.567<<endl;
1. C++的流概述 ❖ 在C++中,输入输出流被定义为类,称为流类。 ❖ I/O 系 统 仍 然 是 以 字 节 流 的 形 式 实 现 的 , 流
(Stream)实际上就是一个字节序列,流总是 与某一设备相联系的,它既可以从输入设备 (如键盘、磁盘等)流向计算机内存,亦可以 从计算机内存流向输出设备(如显示器、打印 机、磁盘等)。 ❖ 输入输出的字节可以是ASCII字符、内部格式 的原始数据、图形图像、数字音频、视频等。
郑州大学《面向对象程序设计》1-12章在线测试题库

《面向对象程序设计》第02章在线测剩余时间:59:56试答题须知:1、本卷满分20分.2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、在关键字public后面定义的成员为类的()成员。
A、私有B、公用C、保护D、任何2、当一个类对象结束它的生存期的时侯,系统自动调用该类的( )。
A、无参构造函数B、带参构造函数C、拷贝构造函数D、析构函数3、类的构造函数被自动调用执行的情况是在定义该类的 ( )A、成员函数时B、数据成员时C、对象时D、友元函数时4、假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A、0B、1C、2D、35、假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;"语句时共调用该类析构函数的次数为( )。
A、0B、1C、nD、n+1第二题、多项选择题(每题2分,5道题共10分)1、下面有关类说法正确的是(A,B,D )A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是()。
A、通过封装,对象的全部属性和操作结合在一起,形成一个整体B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C、通过封装,每个对象都成为相对独立的实体D、通过封装,对象的属性都是不可见的3、定义析构函数时,错误的说法是()。
A、其名与类名完全相同B、返回类型是 void 类型C、无形参,也不可重载D、函数体中必须有 delete 语句4、假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的语句错误的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单元测试主要使用的图模型是:类图、类的状态图、活 动图。 2、集成测试(大簇、构件、子系统) 、集成测试(大簇、构件、子系统) 这里的构件或子系统应该与系统的体系结构相对应。集 成测试主要以检查这些构件、子系统的接口为目的。对于类 对于类 之间的集成,Roger S. Pressman认为传统的自顶向下和自底 之间的集成 向上集成的测试策略没有意义。他提出了两种集成测试策略: (1)基于线程的测试(thread-based testing) 集成一组相互协作的对某个输入或事件作出响应的类, 每个线程被分别测试,并使用回归测试以保证没有副作用产 生。 (2)基于使用的测试(use-based testing) 按层次测试系统。先测试不依赖服务器的独立类,如管 理和显示数据的类,然后测试依赖独立类的其他类。逐步增 加依赖类,直到测试完整个系统。
西安交通大学 刘海岩 2
3、面向对象软件的开发是渐进、演化的开发,从分析、 设计到实现使用相同的语义结构(如类、属性、操作、 消息)。因此要扩大测试的视角,对分析模型、设计模 型进行测试。例如,在分析模型中定义了一个无用的属 无用的属 性,围绕着这个属性可能会带来以下错误: 在 分析模型中: • 定义了一个与该属性有关的操作: • 导致了不正确的类关系: • 为共享属性和操作创建了不必要的子类: • 为适应该属性和操作刻画了其类和系统的行为。 如果问题在分析阶段未被发现,再将错误继续传播, 使得设计模型可能存在: • 与该类有关的不合适的子系统或任务的划分: • 与该无用属性有关操作的算法设计: • 与该无用属性有关操作的接口及消息模式。
集成测试
Test B Test B、C 、 Test C Test B、D 、 Test D Test A、B、C、D 、 、 、
测试过程(UML活动图) 集成测试使用的图模型是:顺序图、协作图、活动图(概念层)
西安交通大学 刘海岩 10
3、确认测试 、 在确认和系统测试层次,和传统的一样。测试的内 容主要集中于用户可见的动作和用户可识别的系统输出 (用户可见的功能),以及系统性能等其他需求。测试 人员应该根据需求说明和用例模型设计测试用例。 确认测试使用的图模型主要是用例图。
西安交通大学 刘海岩 14
• 基于属性的划分 根据操作使用的属性来划分类操作,即使用相同属 性的操作划分在一个等价类中。如account类中,以 creditLimit来定义划分,操作被定义成3个类别: ① 使用creditLimit 的操作, ② 修改creditLimit 的操作, ③ 不使用或不修改creditLimit的操作。 creditLimit 然后对每个划分设计测试序列。 • 基于操作类别的划分 如在account类中的操作可被分类为: 初始化操作(open、setup)、计算操作( deposit, withdraw)、查询操作( balance,summarize, creditLimit)和终止操作( close)。
西安交通大学 刘海岩 4
10.2 面向对象的测试策略
传统的测试策略是从小型测试开始,逐步走向大型测试, 即从单元测试开始,逐步进入集成测试,最后进行系统测试。 在传统测试中,单元测试集中在最小的可编译程序单位(子 程序、过程、函数),一旦这些单元都被独立测试后,被集 成到程序结构中进行一系列的回归测试,以发现由于模块的 接口和新单元加入所导致的副作用而带来的错误。最后,对 系统整体进行测试以发现需求中的错误。 1、单元测试(类或对象或组成的小簇) 、单元测试(类或对象或组成的小簇) OO语境中,单元的概念发生了变化。封装驱动了类或对 象的定义,即每个类或对象封装了属性和操作这些属性的服 务,最小的可测试单位不是个体模块,而是封装的类或对象。 类包含一组不同的操作,并且某个特殊操作可能作为类的一 部分存在(如子类中继承的操作),因此,单元实际上是类 或若干相关的类组成的小簇。
西安交通大学 刘海岩 8
自顶向下
UI层 层 桩 桩
自底向上
驱动 驱动
三明治式
UI层 层 桩 桩
数据库层 网络层
UI层 层 应用层 桩 桩
驱动
驱动 驱动 驱动
数据库 网 络 应用层 UI层 层 应用层 数据库 网络
西安交通大学 刘海岩
数据库层 网络层
9
单元测试
Test A
集成测试
Test A、B 、
西安交通大学 刘海岩 16
• 对每个消息,确定下一层被调用的操作并结合这些操 作到测试序列中。 如,某一个应用问题的类协作图如下: A E
x1,x2,… , ,
B
x4
x3
C
D
对B的随机测试序列可能是x1,x2,…,为了考虑涉及 到该测试的协作者,要考虑上述序列中每个操作相关联的消 息。设B必须与C协作(需执行x3)以执行x1,B与D协作 (需执行x4)以执行x2。因此,对B的测试序列应该是: x1,[ x3] ,x2,[x4],… 测试序列跟踪跨越类协作的操作流。基于用例的实现是 17 西安交通大学 产生随机测试序列的基础。 刘海岩
2、类级别测试用例设计(单元测试) 、类级别测试用例设计(单元测试)
着重于单个类及封装的操作。可按照以下方法设计用 例:
西安交通大学 刘海岩 12
(1)随机测试 考虑一个银行应用程序,其中account类有下列操作: open,setup,deposit,withdraw,balance,summarize, creditLimit和close,但问题的性质隐含了一些限制(例如, 账号必须在其它操作可应用前被打开,在所有操作完成 后被关闭)。一个account实例的最小行为生命历史包括 下面操作: open,setup,deposit,withdraw,close,表示了 account的最小测试序列。然而大量的其它行为可能在下 面序列中发生: open,setup,deposit, [deposit | withdraw | balance | summarize | creditLimit]n ,withdraw ,close 一系列操作序列可以随机产生,例如: 测试用例1: open,setup,deposit, deposit, balance, summarize, withFra bibliotekraw,close
西安交通大学 刘海岩 15
3、类协作测试用例的设计(集成测试) 、类协作测试用例的设计(集成测试)
测试类或构件被组装后相互之间能否正常交互完成指定 的功能。使用use-case作为测试的主要驱动,顺序图、协作 图为测试提供帮助。 和单个类一样,可通过应用随机和划分方法以及基于 use-case场景和行为模型导出测试用例。 (1)随机测试 Kirani等人建议用下面的步骤生成多个随机测试序列: • 对每个客户类,用类操作列表生成随机测试序列,这些 操作将发送消息给其他服务器。 • 对生成的每个消息,确定在服务器对象中的协作者类及 对应的操作。 • 对服务器对象中的已经被来自客户对象的消息调用的每 个操作,确定该操作向协作者发送的消息。
第10章 面向对象测试 10章
面向对象测试的特点 面向对象的测试策略 面向对象软件的测试用例设计 RUP的测试活动
西安交通大学 刘海岩
1
10.1 面向对象测试的特点
面向对象测试的整体目标(以最小的工作量发现最 大数量的错误)与传统软件测试的目标是一致的。但是 OO程序的性质改变了测试策略与战术。 1、传统测试主要是基于程序运行过程的,即选择一组 、 输入数据运行被测程序,通过比较实际结果与预期结果 从而判断程序是否有错。而OO程序中的对象通过发送消 息启动相应的操作,并且通过修改对象的状态达到转化 系统运行状态的目的,同时,在系统中还可能存在并发 活动的对象。应此传统的测试方法不再适应。 2、传统程序的复用以调用公共模块为主,运行环境是 、 连续的。而面向对象复用很多是用继承实现的,子类继 承过来的同名操作有新的语境,必须要重新测试。随着 继承层次的加深,测试的工作量和难度也随之增加。由 继承支持的多态的特性同样给测试带来了难度。
(2)划分测试 类似于单个类划分测试方法,但需扩展测试序列以 包括那些通过发送给协作类的消息而激活的操作。另一 种方法是基于特殊类的接口来划分测试。如上图,B接收 来自类A和类E的消息,可以通过将B中的方法划分为服 务于A和服务于E的操作来测试。 (3)从行为模型导出的测试 类的STD可用于帮助导出测试类(和那些与其协作 的类)的动态行为的测试序列。下图是银行应用系统 account类的STD。 所涉及的测试应覆盖所有的状态,即操作序列应该 导致account类的转换穿越所有允许的状态。
单元测试若用于测试不发生请求的类(如“栈”类,其 中操作有:pop(),push(),empty())时,同样要设计驱动程 序,封装在一个测试类(包)中,测试类负责运行测试用例 并给出结果,每个测试用例用一个操作名表示;单元测试如 果测试发生请求的类,则需要设计桩程序,封装在桩类中。
西安交通大学 刘海岩 6
西安交通大学 刘海岩 13
测试用例2:open,setup,deposit, withdraw,deposit, balance, creditLimit,withdraw,close 可随机选取其它的测试序列以测试该类对象不同的生 命历史。 (2)划分测试(partition testing) 可以减少测试类所需的测试用例的数量,采用与传统 测试的等价划分相同的方式,即输入、输出被分类,为 处理每个类别设计测试用例。划分类别的具体方法是: • 基于状态的划分 基于类操作改变类状态的能力来对类操作分类。类中 有的操作改变类的状态(如account类中的deposit和 withdraw ),有的操作不改变类的状态(如balance, summarize和creditLimit )。因此分别独立测试改变状态 的操作和不改变状态的操作。
西安交通大学 刘海岩
11
10.3 面向对象软件的测试用例设计