等价类划分工程方法
- 格式:doc
- 大小:89.50 KB
- 文档页数:10
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
一、等价类划分1.某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 (1)--(7)4 45 (1)--(7),(8)4 5 5 (1)--(7),(9)5 4 5 (1)--(7),(10)4 4 4 (1)--(7),(11)覆盖无效等价类的测试用例:二、结构化语言判定表某厂对部分职工重新分配工作的政策是:年龄在伙岁以下者,初中文化程度脱产学习。
高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。
请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
(1)结构化语言:根据职工年龄和文化程序:REPEATIf 年龄<=20If 初中文化Then 脱产学习endifelse if 高中文化Then 电工endifendifIf 20<年龄<40If 中学文化If 男性Then 钳工Else车工Endifelse if 大学文化Then 技术员 endifendifendifIf 年龄>=40If 中学文化Then 材料员else if 大学文化Then 技术员 endifendifendifUntil 没有剩余未分配员工判定表三、因果图以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
2006-2007-2软件工程复习一、单项选择题(20选10)1. 结构化分析的主要描述手段有( B )。
A. 系统流程图和模块图B. DFD图、数据词典、加工说明C. 软件结构图、加工说明D. 功能结构图、加工说明2. 用于表示模块间的调用关系的图叫( D )。
A.PAD B.SC C.N-S D.HIPO3. 在( B )模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。
A.快速原型 B. 统一过程 C.瀑布模型 D. 螺旋模型4. 常用的软件开发方法有面向对象方法、面向( A )方法和面向数据方法。
A. 过程B. 内容C. 用户D. 流程5 从工程管理的角度来看,软件设计分两步完成( D )。
A. ①系统分析②模块设计B. ①详细设计②概要设计C. ①模块设计②详细设计D. ①概要设计②详细设计6. 程序的三种基本结构是( B )。
A. 过程、子程序、分程序 B.顺序、条件、循环C.递归、堆栈、队列 D.调用、返回、转移7. 程序的三种基本结构是( B )。
A. 过程、子程序、分程序 B.顺序、条件、循环C.递归、堆栈、队列 D.调用、返回、转移8. SD方法衡量模块结构质量的目标是( C )。
A. 模块间联系紧密,模块内联系紧密B. 模块间联系紧密,模块内联系松散C. 模块间联系松散,模块内联系紧密D. 模块间联系松散,模块内联系松散9.为提高软件测试的效率,应该( C )。
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据C.在完成编码后制定软件测试计划 D.选择发现错误可能性大的数据作为测试数据10.( D )测试用例发现错误的能力较大。
A.路径覆盖B.条件覆盖C.判断覆盖D.条件组合覆盖11.软件需求分析应确定的是用户对软件的( A )。
A. 功能需求和非功能需求B. 性能需求C. 非功能需求D. 功能需求12.下列各种图可用于动态建模的有( C )。
⿊盒测试《等价类划分》-有这篇就够了⼤家好,我是吉提。
在疫情消停不下来的2020年,既然不好跳槽,不好涨薪,也不好发挥创造⼒,那么就沉下⼼来,跟我⼀起,巩固软件测试基础知识。
积攒⼒量,蓄势待发。
本⽂将会详细描述“等价类划分",它是⿊盒测试最基本的⽤例设计⽅法。
⽬录:1. 定义(What)2. 为什么使⽤该⽅法?(Why)3. 如何划分等价类?(How)4. 设计测试⽤例5. 使⽤场景6. 根据测试⽤例的完整性划分7. 等价类划分注意事项8. 等价类划分的优缺点9. 实战演练1. 定义(What)等价类划分法是⼀种典型的,并且是最基础的⿊盒测试⽤例设计⽅法。
采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。
所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。
从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。
等价类⼜分为有效等价类和⽆效等价类。
有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。
有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。
2. 为什么使⽤该⽅法?(Why)理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。
即:使⽤最少的测试数据,达到最好的测试质量(最⾼性价⽐)。
这个⼦集如何确定?可以借助测试⽤例的两个特性:测试⽤例数量达到最少;某个测试⽤例要能覆盖⼤部分其他测试⽤例。
第⼆个特性就暗⽰我们,应该尽量将程序输⼊范围进⾏划分,将其划分为有限数量的等价类,这样就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。
这两种特性形成了称为等价类划分的⿊盒测试⽅法。
因此,等价类划分是⿊盒测试最基本的⽅法。
3. 如何划分等价类?(How)在给定了输⼊或外部条件之后,等价类的划分原则如下:如果输⼊条件规定了⼀个取值范围(例如,“数量可以是1到999”),那么就应确定出⼀个有效等价类(1<数量<999),以及两个⽆效等价类(数量<1,数量>999)。
软件工程(北方民族大学)智慧树知到课后章节答案2023年下北方民族大学北方民族大学第一章测试1.为了使程序能在不同的计算机上运行,程序应当具有较好的()。
A:可适用性 B:可重用性 C:可移植性 D:可维护性答案:可移植性2.关于软件工程人员的职业道德,不包括下面那个()。
A:计算机管理 B:保密 C:知识产权 D:工作能力答案:计算机管理3.以下哪个不是软件的特征()。
A:可变性 B:复杂性 C:可见性 D:一致性答案:可见性4.软件工程所面临的挑战不包括哪个()。
A:单一性 B:交付时间 C:软件开发方式 D:安全和可信性答案:单一性5.造成大型软件开发困难的根本原因在于()。
A:对软件开发的资金投入不足 B:开发人员缺乏足够的开发经验 C:项目开发进度不合理 D:软件系统的复杂性答案:软件系统的复杂性6.软件会逐渐退化而不会磨损,其原因在于()。
A:软件错误在经常使用之后会逐渐增加 B:软件备件很难订购 C:不断的变更使组件接口之间引起错误 D:软件通常暴露在恶劣的环境下答案:不断的变更使组件接口之间引起错误7.Ariane 5火箭发射失败的事例告诉我们()。
A:软件后备系统可以通过复制生成 B:软件重用必须重新进行系统论证和系统测试 C:其他选项不正确 D:系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制答案:软件重用必须重新进行系统论证和系统测试;系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制8.软件工程方法是()。
A:为支持软件开发、维护、管理而研制的计算机程序系统 B:为了获得高质量软件而实施的一系列活动 C:为开发软件提供技术上的解决方法 D:为了理解问题和确定需求而采取的一些技术和方法答案:为开发软件提供技术上的解决方法9.()是软件从一个硬件或软件环境转换到另一环境的容易程度。
A:可维护性 B:性能 C:可移植性 D:易用性答案:可移植性10.软件工程的三要素是指()。
一、填空1.结构化分析方法的分析策略是。
2.衡量模块独立性的两个定性标准是耦合性与内聚性。
3.软件集成测试的方法主要有两种,它们是渐增式与非渐增式测试。
4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否值得开发。
5•需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护一阶段。
7.计算机辅助软件工程这一术语的英文缩写为CASE。
8.McCall提出的软件质量模型包括一11个软件质量特性。
9.软件结构是以一模块为基础而组成的一种控制层次结构。
10.软件概要设计的主要任务就是软件结构的设计。
11.结构化稈序设计方法是使用三种基本控制结构(条件\控制\循环)构造稈序。
12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象二、选择1、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch方法B、UML语言C、OMT方法D、Coad方法3、功能模型中所有的(A)往往形成一个层次结构。
在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A、数据流图B、概念模型图C、状态迁移图D、事件追踪图4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。
A、问题域分析B、高层分析C、实例的建立D、类的开发5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。
A、接口B、消息C、信息D、操作6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A、说明B、方法C、过程D、类型9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)A、多态性B、完整性C、可移植性D、兼容10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)A、隐藏复杂性B、信息隐藏C、即存类的重用D、类的开发13.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
1、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
2018年5月[0010]《软件工程》作业标准答案1、( )是用户和设计交换最频繁的方法。
原型化方法螺旋模型方法构件组装模型瀑布模型方法2、在人工智能领域,目前最广泛使用的高级语言是 ( )。
LISPAda FORTRANCOBOL3、模块内聚度越高,说明模块内各成分彼此结合的程度越( )相等 无法判断 紧密松散4、“软件危机”产生的主要原因是()。
没有维护好软件 开发方法不当开发人员编写程序能力差 软件日益庞大5、软件维护申请报告由( )填写。
维护负责人 用户专家维护程序员6、程序语言的编译系统和解释系统相比,从用户程序的运行效率来看 ( )。
两者大致相同 前者运行效率高后者运行效率高不能确定7、软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应开始于()。
E. 查阅测试记录分析软件结构阅读设计文档理解程序代码8、软件设计中划分模块的一个准则是()。
低内聚高耦合高内聚低耦合低内聚低耦合高内聚高耦合9、维护阶段产生的文档包括( )。
开发进度报告软件问题报告维护申请报告软件修改报告10、从工程管理的角度来看,软件设计分两步完成()系统分析、模块设计总体设计、详细设计详细设计、总体设计模块设计、详细设计11、SA法的主要描述手段有()系统流程图和模块图DFD图、数据词典、加工说明功能结构图、加工说明软件结构图、加工说明12、采用甘特图表示软件项目进度安排,下列说法中正确的是()。
能够反映多个人物之间的复杂关系能够直观表示任务之间相互依赖的制约关系能够表示哪些任务是关键任务能够表示字人物之间的并行和串行关系13、画DFD图的主要目的()对系统的数据结构进行描述。
对目标系统的层次结构进行描述。
解决系统是“如何做的问题”。
作为需求分析阶段用户与开发者之间交流信息的工具。
14、数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。
A. 数据流条目、数据存储条目、数据源条目、加工条目数据说明条目、控制流条目、加工条目、数据存储条目数据源条目、数据流条目、数据处理条目、数据文件条目数据流条目、数据项条目、文件条目、加工条目15、在下列的基本成分中,哪个不是数据流程图的基本成分?()信息处理系统状态信息存储外部实体16、数据流图中,当数据流向或流自文件时()。
西交《软件工程概论》在线作业
一,单选题
1. 面向对象分析阶段建立的三个模型中,核心的模型是()模型。
A. 功能
B. 动态
C. 对象
D. 分析
?
正确答案:C
2. 一个CASE工作台是一组(),支持设计、实现或测试等特定的软件开发阶段。
A. 工具集
B. 软件包
C. 平台集
D. 程序包
?
正确答案:A
3. 详细设计的任务是确定每个模块的()
A. 外部特性
B. 内部特性
C. 算法和使用的数据
D. 功能和输入输出数据
?
正确答案:B
4. 软件工程对维护工作的主要目标是提高(),降低维护的代价。
A. 软件的生产率
B. 软件的可靠性
C. 软件的可维护性
D. 维护的效率
?
正确答案:A
5. 软件开发过程中抽取和整理用户需求并建立问题域精确模型的过程叫()
A. 生存期
B. 面向对象设计
C. 面向对象程序设计
D. 面向对象分析
?
正确答案:D。
软件工程等价类划分法
软件工程中的等价类划分法是一种测试设计技术,它通过将输入域划分成等价类来减少测试用例的数量,从而提高测试效率。
这种
方法基于一个假设:一个等价类中的输入应该有相同的测试结果。
因此,只需选择一个代表性的测试用例来代表每个等价类即可。
以一个简单的例子来说明等价类划分法:假设一个输入域为1到100之间的整数,我们需要测试一个程序,程序会根据输入的数字返回“奇数”或“偶数”。
那么,我们可以将这个输入域分为两个等价类:奇数和偶数。
因为在同一个等价类中的输入应该有相同的测试
结果,所以我们只需要选择一个代表性的测试用例来测试每个等价类,例如:选用数字2来测试偶数,数字3来测试奇数。
等价类划分法可以帮助测试人员更加有效地设计测试用例,减少测试时间和成本。
但是,在使用该方法时,需要注意输入域的边界情况,因为边界情况可能会导致不同的测试结果。
因此,测试人员需要仔细考虑输入域的边界情况,并在测试用例中包括这些情况。
- 1 -。
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤。
1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。
A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的()。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法。
1.下列所述不是软件特点的是(A)A.软件是有形的B.软件不存在磨损和消耗问题C.软件开发成本高D.软件没有明显的制作过程2.软件工程的出现主要是由于(C)A.程序设计方法学的影响B.其他工程学科的影响C.软件危机的出现D.计算机的发展3.以下(C)不是软件危机的表现形式A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.软件工程的目的是(C)A.建造大型的软件系统B.开发的软件可维护性差C.软泥吉安质量的保证D.研究软件开发的远离5.下列所述不是软件组成的是(D)A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)A.是计算机系统的组成部分B.不能作为商品参加交易C.是在计算机硬件设备生产过程中生产出来的D.之存在语计算机系统工作时7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因A.软件的复杂性B.软件维护困难C软件成本太高. D.软件质量难保证8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题A.软件危机B.质量保证C.开发效率D.生产工程化9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进A.项目管理B.成本核算C.人员培训D.工具开发10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济二、填空题1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。
2.螺旋式开发模型主要是针对风险比较大的项目而设计的3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。
4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。
一、判断题1、(×)测试是为了验证该软件以正确地实现了用户的需求。
2、(√)发现错误多的程序模块,残留在模块中的错误也多。
3、(×)白盒测试法是根据程序的功能来设计测试用例的。
4、(×)黑盒法是根据程序的内部逻辑来设计测试用例的。
5、(√)确定测试计划是在需求分析阶段制定的。
6、(√)集成测试计划是在概要设计阶段制定的。
7、(√)单元测试是在编码阶段完成的。
8、(√)集成测试工作最好由不属于该软件开发组的软件设计人员承担。
9、(√)为了提高软件的测试效率,测试工作需要有测试工具的支持。
10、(×)在做程序的单元测试时,桩模块比驱动模块容易编写。
二、选择题1、测试用例是专门为了发现软件错误而设计的一组或多组数据,它由(C)组成。
A、测试输入数据B、预期的测试输出数据C、测试输入与预期的输出数据D、按照测试用例设计方法设计出的数据2、测试和调试最大的不同在于(A)。
A、操作者的心理状态不同B、它们的行为取向不同C、使用的工具不同D、运用的方法不同3、一个成功的测试是(B)。
A、发现错误B、发现至今尚未发现的错误C、没有发现错误D、证明发现不了错误4、白盒法和黑盒法最大的不同在于(A)。
A、测试用例设计方法不同B、测试的任务不同C、应用的测试阶段不同D、基于的知识集不同5、单元测试阶段主要涉及(D)的文档。
A、需求设计B、编码和详细设计C、详细设计D、概要设计6、检查软件产品是否符合需求定义的过程称为(A)。
A、确认测试B、集成测试C、验证测试D、验收测试7、软件调试的目的是(B)。
A、发现错误B、改正错误C、改善软件的性能D、挖掘软件的潜能8、进行软件测试的目的是(A)。
A、尽可能多地找出软件中的错误B、缩短软件的开发时间C、减少软件的维护成本D、证明程序没有缺陷9、选择一个适当的测试用例,用于测试下面的程序,能达到判定覆盖的是(C)。
A、B、A B False True C 、D 、A B False False True True10、在进行单元测试时,常用的方法是(A )。
测试用例设计等价类划分方法举例说明当我们说到测试用例设计,哎呀,说起来可能大家觉得又枯燥又复杂,其实不然!就像我们去商场挑东西一样,挑到合适的商品才是最重要的。
你看,测试用例设计的方法就像是给这些商品挑选合适的尺寸和颜色,怎么挑才最有用,最能找到问题?这就得靠“等价类划分”来帮忙了!好啦,接下来就跟着我一起聊聊这个有点“拗口”又超级实用的方法。
等价类划分,听起来像个大工程,但其实它就是在复杂的世界中找一个简单的解决办法。
想象一下你在做一道数学题,题目要求你输入一个正整数。
你能不能把所有可能的数字分成几类呢?能不能把这些数字分成“有用”的和“没用”的两大类呢?答案当然是可以的!同样,测试用例设计就是把输入的各种情况划分成“等价类”,这样做不仅能节省大量的时间,还能提高测试的准确性。
比如,你让系统接受的输入是一个年龄范围,可能的范围是0到100岁。
那0到100岁之间的每一个年龄,按照“等价类”的想法,应该都被当做“正常情况”来处理。
可是,0岁以下和100岁以上的情况不就成了不符合规则的“边缘”情况了吗?这样一来,你就能迅速知道哪些是测试的重点,哪些是不太可能会出问题的,简直是“一箭双雕”。
要说这等价类划分,其实还挺简单的。
你试想一下,像我们吃饭,餐桌上有个菜是红烧肉,大家都知道这道菜怎么做,关键是能不能保证这道菜好吃。
你要是把“红烧肉”分成两类:一种是“味道好的红烧肉”,一种是“味道不好的红烧肉”,那显然这两类就能代表所有情况了。
换句话说,我们测试软件的输入,不就是这样吗?把各种情况归类,分清楚哪些能正常通过,哪些可能导致程序崩溃,哪类是“正常的”等价类,哪类又是“异常的”,不就能更好地设计测试用例了嘛。
实际操作起来又是啥样呢?举个例子吧。
比如你在测试一个银行账户系统,它要求输入一个存款金额,这个金额必须大于0,小于10000。
那么按照等价类划分,我们可以这么想:大于0小于10000的数值,基本上都能认为是“正常输入”;如果金额小于0,显然就是不符合要求的“无效输入”类;如果金额大于10000,又不符合要求,那就是“超出范围”的类。
简答和名词解释:1、可行性研究的内容(四个方面):1. 技术可行性使用现有的技术能实现这个系统吗?分析技术冒险的各种因素,例如有关的技术是否已进步到足以支持该系统?能否有胜任开发该系统的熟练技术人员?为开发项目的所有硬、软件资源是否能按期得到?2.经济可行性这个系统的经济效益能超过它的开发成本吗?主要进行成本/效益分析.估算项目的开发成本会否高于预期的利润,以确定是否值得投资开发,同时还要分析对其他产品所带来的经济影响。
3.操作可行性系统的操作方式在这个用户组织内行得通吗?4.法律可行性确定由于开发软件项目是否会侵犯他人、集体或国家的利益,是否会违反国家的法律,并由此承担法律责任。
2、模块化和信息隐藏模块化“模块”,又称“构件”,一般指用一个名字可调用的一段程序。
类似于高级语言中的procedure(过程)、function(函数)、subroutine(子程序)、section(节)、block(块)等。
设计中可以选择其它程序已编写好的模块,其本身也可供其它程序使用。
它一般具有如下四个基本属性:①接口:指模块的输入与输出。
②功能:指模块实现的功能。
注意这里所说的模块功能,应该是模块本身的功能加上它所调用的所有子模块的功能。
③逻辑:描述内部如何实现要求的功能及所需的数据。
④状态:该模块的运行环境,即模块的调用与被调用关系。
模块化:就是对一个复杂的问题,自顶向下、逐层把软件系统划分成若干模块的过程。
每个模块完成一个子功能,再按某种方法把这些模块组装起来,成为一个整体,即可完成指定的系统功能,满足问题要求的过程。
3、扇入扇出扇出是对由某一模块直接控制的模块数目的度量。
扇入指出有多少个模块直接控制一个给定的模块。
♠扇出 = 一个模块直接调用、控制的模块数。
3 ≤ fan-out ≤ 9♠扇入 = 直接调用该模块的模块数在不破坏独立性的前提下,fan-in 大的比较好。
♠深度 = 分层的层数。
过大表示分工过细。
软件工程导论等价类划分软件工程是一门关于软件开发和维护的学科,其主要目的是通过系统化的、可量化的方法来开发和维护软件。
在软件工程中,等价类划分是一种常用的测试设计技术。
通过等价类划分,可以将输入数据和输出数据分为多个等价类,以便测试用例的设计和执行。
本文将对软件工程导论中的等价类划分进行详细介绍,包括等价类划分的概念、原则、方法以及实际应用。
1.等价类划分的概念等价类划分是一种测试设计技术,它将输入数据和输出数据划分为多个等价类,以便为每个等价类设计测试用例。
等价类的划分是基于输入条件的,它将输入条件划分成若干个等价类,每个等价类包含相似的输入数据,其响应也应相似。
通过对等价类的划分,可以最大程度地减少测试用例的数量,并同时保证覆盖所有可能的情况。
2.等价类划分的原则在进行等价类划分时,应满足以下原则:(1)每个等价类应具有相同的测试要求。
(2)选择典型的或代表性的值作为等价类的代表。
(3)尽量减少等价类的数量,以降低测试用例的数量。
3.等价类划分的方法等价类划分的方法通常包括以下几个步骤:(1)识别输入条件:首先确定输入数据的各种条件和限制。
(2)划分等价类:将输入条件划分成若干个等价类,确保每个等价类都能代表相似的情况。
(3)选择代表值:为每个等价类选择代表性的值作为测试用例的输入。
4.等价类划分的实际应用等价类划分在软件测试中有着广泛的应用。
在实际工作中,软件测试人员常常通过等价类划分来设计测试用例,以确保软件系统的质量。
例如,对于一个输入数字的功能模块,可以将输入条件划分成多个等价类,包括正整数、负整数、零等。
然后分别选择代表性的值进行测试,从而覆盖所有可能的情况。
在软件工程导论中,等价类划分是一个非常重要的测试设计技术。
通过等价类划分,可以帮助测试人员高效地设计测试用例,并在测试过程中有效地覆盖各种情况,从而提高测试效率和测试质量。
因此,掌握等价类划分的原理和方法对于软件测试人员来说是非常重要的。
等价类划分工程方法
修订记录
Catalog目录
1.概述 (5)
2.适用范围 (5)
3.工程方法定义 (5)
4.接口描述 (6)
4.1.工程方法使用环境 (6)
4.2.输入 (6)
4.3.输出 (6)
5.应用分析及指导 (7)
5.1.应用分析 (7)
5.2.应用指导 (7)
6.测试分部的应用及案例 (8)
6.1.无线测试分部简化实例 (8)
6.1.1.工程方法输入 (9)
6.1.2.划分等价类 (9)
6.1.3.确定测试用例 (9)
7.相关表格 (9)
8.工具需求 (9)
9.附录 (10)
10.参考文档 (10)
等价类划分工程方法
关键词:阶段、活动、工程方法、SDV/SIT、等价类
摘要:本文详细描述了测试设计过程中等价类划分工程方法
缩略语清单:
1. 概述
等价类划分是一种典型的黑盒测试设计方法,使用该方法主要根据特性测试规格进行用例设计,而不用对系统内部处理进行深入了解,它也是目前测试设计过程中使用最普遍的一种方法。
采用等价类划分,是将程序的输入域划分为若干部分,然后从每个部分选取少数代表性数据进行测试,这样可以避免穷举法产生的大量用例。
2. 适用范围
适用阶段:
等价类划分的方法适用于测试方案设计阶段的特性测试设计活动中使用适用业务:
等价类划分的方法是一种通用的测试设计方法,可以适用于所有类型的业务。
以下情况下不适宜使用本工程方法:
1.各个输入之间相互限约、相互影响普遍,此时等价类划分方法只能起辅助作用,不能独立
承担用例设计工作
3. 工程方法定义
等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可
以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况,有效等价类和无效等价类:
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
4. 接口描述
4.1. 工程方法使用环境
本工程方法在测试方案设计阶段的特性测试用例设计活动中使用。
在实际操作上,等价类划分通常是其它工程方法的辅助手段或配合使用,例如等价类划分常与边界值的方法一同使用。
4.2. 输入
输入:特性测试规格
参考文档:设计规格、SRS、概要设计
进入标准:
1.特性测试规格覆盖了特性的所有输入
2.特性测试规格对输入的细分达到了参数级别
4.3. 输出
当等价类划分做为独立特性用例设计方法时:
输出:测试用例
退出标准:
1.测试用例覆盖了所有特性测试规格
2.测试用例覆盖了所有输入的有效域和无效域
当等价类划分做为其它工程方法辅助手段时:
输出:等价类
退出标准:
1.每个输入的等价类覆盖了其所有的有效域和无效域
5. 应用分析及指导
5.1. 应用分析
该工程方法普遍适用于各种类型特性的测试用例设计
优点:
1.最终测试用例规模小,并能充分覆盖特性测试规格
缺点:
1.没有考虑输入之间的组合情况
2.等价类的划分完全基于特性测试规格而不考虑内部实现时,容易造成用例遗漏
3.对输入的边界考虑不充分,通常需要与边界值分析的方法一起使用
该工程方法有两种应用模式:
1.做为独立的特性用例设计方法,完全承担用例设计工作。
该应用模式适合于输入之间组合
关系少的情况
2.做为其它工程方法的辅助手段:本工程方法的输出等价类做为其它工程方法的输入。
该应
用模式适合于输入之间组合关系多的情况,例如:可以将等价类方法与正交实验设计方法结合,等价类分析后会输出各个输入的有效等价类和无效等价类,然后利用正交实验设计方法对需要进行组合的有效等价类进行组合得到最终用例(每个无效等价类单独成用例,不需要组合)。
5.2. 应用指导
本节给出等价类划分方法独立承担用例设计的应用指导,当该工程方法只用于其它工程方法的辅助时,只需要做第一步就可以了。
步骤1:划分等价类
这里的对等价类的划分是基于特性测试规格和SRS的,可以参考下面几条原则:
1.在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2.在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可确立一个有效等
价类和一个无效等价类。
3.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.
4.在规定了输入数据的一组值假定n个,并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
5.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反规则.
6.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类
在划分过程中,划分结果可以填写到下表:
步骤2:确定测试用例
从划分出的等价类中按以下三个原则设计测试用例:
1.为每一个等价类规定一个唯一的编号
2.设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止
3.设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止
6. 测试分部的应用及案例
6.1. 无线测试分部简化实例
本小节给出对FA业务进行特性测试设计的简化实例,下面实例根据说明需要做了部分改动。
FA即一号通功能,指用户的多个终端(包括手机终端和固定终端)可以挂在一个虚拟或实际号码下面,这个号码称为引导号码。
当其它用户拔打引导号码时,用户的多个终端会同时振铃,当用户接听其中一个终端后,其它终端将停止振铃。
6.1.1. 工程方法输入
下面给出的是一号通其中一个测试场景下的特性测试规格:
1.一号通最多只支持有2个成员
2.一号通的成员可以是固定或移动
3.引导号码长度为4-16
6.1.2. 划分等价类
6.1.3. 确定测试用例
也就是共计7个用例可以覆盖上面2个输入的有效等价类和无效等价类
7. 相关表格
1.等价类划分结果表
2.测试用例表
8. 工具需求
单独采用等价类划分方法设计用例时,其用例生成过程完全可以程序化,工具需求如下:
1.能录入、修改、删除、保存输入条件
3.能自动根据录入的输入条件及其等价类划分结果生成用例列表9. 附录
无
10. 参考文档
1.计算机软件测试技术郑人杰。