先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
文章目录
软件工程期末考试题库
选择题
- 具有风险分析的软件生命周期模型是( C )。
A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型
- 软件工程的基本要素包括方法、工具和( A )。
A. 过程 B. 软件系统 C. 硬件环境 D. 人员
- 软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A. 固有的 B. 人为的 C. 可消除的 D. 不可降低的
- 在结构化分析方法中,( C )表达系统内部数据运动的图形化技术。
A. 数据字典 B. 实体关系图 C. 数据流图 D. 状态转换图
- “软件危机” 是指( C )。
A.计算机病毒的出现 B.利用计算机进行经济犯罪活动
C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统
- 随着软硬件环境变化而修改软件的过程是( B )。
A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护
- 需求分析中开发人员要从用户那里了解( A )。
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
- 软件详细设计的主要任务是确定每个模块的( A )。
A.算法和使用的数据结构 B.外部接口 C.功能 D.编程
- 为了提高模块的独立性,模块内部最好是( C )。//外部耦合,功能内聚
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
- 一个模块的( C )太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。
A.深度 B. 宽度 C. 扇出 D. 扇入
- 模块的内聚性最高的是( D )。
A.逻辑内聚 B.时间内聚 C. 偶然内聚 D.功能内聚
- 需求分析是( A )。
A. 软件开发工作的基础 B. 软件生存周期的开始
C. 由系统分析员单独完成的 D. 由用户自己单独完成的
- 在白盒测试技术测试用例的设计中,( B )是最强的覆盖标准。
A.语句覆盖 B.路径覆盖 C. 条件组合覆盖 D.判定覆盖
- 软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称( A )。 A. 改正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护
- ( C ) 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A. 多态性 B. 继承 C. 封装 D. 消息
- 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合 B.隐藏 C.封装 D.抽象
- 面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。
A.Booch方法 B.Coad方法 C.UML语言 D.OMT方法
- ( A )意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性 B.多继承 C.类的可复用 D.信息隐藏
- 单元测试的测试用例主要根据( D )的结果来设计。
A.需求分析 B.源程序 C.概要设计 D.详细设计
- 软件测试是为了( B )而执行程序的过程。
A. 纠正错误 B. 发现错误 C. 避免错误 D. 证明正确
21.类构件的重用方式有多态重用、继承重用和( A )
A.实例重用 B.重载重用 C. 代码重用 D. 方法重用
- 支持面向对象技术的软件生存周期模型是( A )。
A.喷泉模型 B.螺旋模型 C.增量模型 D.瀑布模型
- 在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。
A.语句覆盖 B.路径覆盖 C.条件组合覆盖 D.判定覆盖
- 下面哪些测试方法属于白盒测试( A E )。//BCD是黑盒测试
A、基本路径测试 B、等价类划分 C、边界值分析 D、错误推测 E、逻辑覆盖测试
- 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。
A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错
- 从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。
A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段
- 在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )。
A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段
- 软件工程的出现主要是由于( C )。
A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展
- 软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )
A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质
- 软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B )
A、相互排斥 B、相互补充 C、独立使用 D、交替使用
- UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )
A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
- 软件测试基本方法中,下列 ( D ) 不用测试实例。
A). 白盒测试法 B). 动态测试法 C). 黑盒测试法 D). 静态测试法
- 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B )
A、控制流 B、数据流 C、程序流 D、指令流
- 软件开发的结构化生命周期方法将软件生命周期划分成( A )
A、 计划阶段、开发阶段、运行阶段 B、 计划阶段、编程阶段、测试阶段
C、 总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计
- 可行性研究主要从以下几个方面进行研究:( A )
A) 技术可行性,经济可行性,操作可行性 B) 技术可行性,经济可行性,系统可行性
C) 经济可行性,系统可行性,操作可行性 D) 经济可行性,系统可行性,时间可行性
- 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: ( C )
A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。
C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。
- 可行性分析研究的目的( B )
A 争取项目 B 项目值得开发否 C 开发项目 D 规划项目
- 数据字典是用来定义( D )中的各个成分的具体含义
A 流程图 B 功能结构图 C 系统结构图 D 数据流图
- 程序的三种基本控制结构的共同特点是( C )
A 只能用来描述简单程序 B 不能嵌套使用 C 单入口,单出口 D 仅用于自动控制系统
- 为高质量的开发软件项目,在软件结构设计时,必须遵循( A )原则
A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享
- 黑盒测试在设计测试用例时,主要研究( A )
A 需求规格说明于概要设计说明 B 详细设计说明 C 项目开发计划 D 概要设计说明与详细设计说明
- 通过 ( B ) 可以完成数据流图的细化。
A). 结构分解 B). 功能分解 C). 数据分解 D). 系统分解
- 程序流程图 (PDF) 中的箭头代表的是 ( B )
A). 数据流 B). 控制流 C). 调用关系 D). 组成关系
- 软件定义期问题定义阶段涉及的人员有 ( D )
A). 用户、使用部门负责人 B). 软件开发人员、用户、使用部门负责人
C). 系统分析员、软件开发人员 D). 系统分析员、软件开发人员、用户、使用部门负责人
- ( C )应考虑对模块相联和资源共享问题进行描述和制约。
A). 系统设计 B). 详细设计 C). 接口控制 D). 结构化编辑工具
- 业界存在三种需求分析方法:面向功能分析、面向对象分析和 B 。
A.面向算法分析 B.面向数据分析 C.面向程序分析 D.面向硬件分析
- 软件可维护性的特性中相互矛盾的是 C 。
A.可修改性和可理解性 B.可测试性和可理解性 C.效率和可修改性 D.可理解性和可读性
- 软件测试方法中的 D 属于静态测试方法。
A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测
- 结构化分析方法采用的基本手段是 A 。
A. 分解与抽象 B.分解与综合 C.归纳与推导 D.试探与回溯
- 可行性研究要进行一次(D)需求分析。
A.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的
- 可维护性的特性中相互促进的是(A)
A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性 D.效率和结构好
- (D)是以提高软件质量为目的的技术活动。
A.技术创新 B.测试 C.技术创造 D.技术评审
- 软件测试可能发现软件中的( B ),但不能证明软件 ( )。
A.所有错误,没有错误 B.错误,没有错误 C.逻辑错误,没有错误 D. 设计错误,没有错误
- 以下不属于软件维护困难表现的是 ©。
A.读懂别人的程序是困难的。
B.文档的不一致性。
C.源程序及相关文档的错误或丢失。
D.软件开发和软件维护在人员和时间上的差异。E. 软件维护不是一项吸引人的工作。
- 软件设计一般分为总体设计和详细设计,它们之间的关系是 (A)。
A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构
- 一组语句在程序多处出现,为了节省空间,把这些语句放在一个模块中,该模块的内聚度是( C )的。
A.逻辑性 B.瞬时性 C.偶然性 D.通信性
- 在一个课程注册系统中,定义了类 CourseSchedule 和类 Course , 并在类 CourseSchedule 中定义了方法 add (c:Course) 和方法 remove (c:Course),则类 CourseSchedule 和类 Course 之间的关系是( C )。
A.泛化关系 B.组合关系 C.依赖关系 D.包含关系
- 软件策划的上游是( A ),下游是( B )
A)需求分析 B)软件设计 C)软件测试 D)可行性分析
- 概要设计的结果是提供一份 ( A )。
A). 模块说明书 B). 框图 C). 程序 D). 数据流图
- 面向数据流软件设计方法一般是把数据流图中的数据流化分为 (B) 两种流,再将数据流图映射为软件结构。
A). 数据流与事务流 B). 交换流和事务流
C). 信息流与控制流 D). 交换流和数据流
填空题
- 一般来说,可以从 一致性 、完整性__、现实性____和有效性___四个方面验证软件需求的正确性。
- IPO图是 _输入、处理和输出图 _ 的简称,它是美国IBM公司发展完善起来的一种图形工具。
- 系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的__信息流动_____情况。
- 数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。
- 集成测试的方法主要有 渐增式和非渐增式 。
- 软件生命周期一般可分为**问题定义、可行性研究、需求分析、设计编码、测试、运行与维护**阶段。
- 可行性研究主要集中在以下四个方面**经济可行性**、技术可行性__、__法律可行性___和抉择。
- 在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。
- 实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。
- 按软件的功能进行划分,软件可以划分为 系统软件 , 支撑软件 , 应用软件
- 单元测试一般以**白盒**测试为主,__黑盒__测试为辅。
- 面向对象的数据存储管理模式分为__文件__、关系数据库和面向对象数据库三种。
- 通用体系结构模式有:分层模式、管道与过滤器模式和黑板模式。
- 成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。
- 自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和 ( 宽度优先策略 ) 。
- 汇编语言是面向( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
- 详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。
- 所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题 )报告。
- 有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维护支援 )技术。
- 科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
- 用户界面的 可使用性 是用户界面设计最重要的也是最基本的目标
- 数据流图 和 数据字典 共同构成系统的逻辑模型
- 软件测试的方法有 分析方法 和 非分析方法(即黑盒法)
- 成本估计方法主要有 自底向上估计 、 自顶向下估计 和算法模型估计三种类型
- 常见的软件概要设计方法有三大类:以数据流图为基础构造模块结构的 结构化设计方法 ,以数据结构为基础构造模块的 Jackson方法 ,以对象、类、继承和通信为基础的 面向对象设计方法。
- 实用的白盒测试覆盖技术有 4 种:语句覆盖、条件覆盖、分支 (或判定) 覆盖和组合覆盖。
- 传统软件维护一般分为 4 大类,分别是纠错性维护、适应性维护、完善性维护和预防性维护。
- 在 V 测试模型中,编码结束后,首先作单元测试,然后是集成测试、系统测试和验收测试。
- 传统软件维护一般分为 4 大类,分别是纠错性维护、适应性维护、完善性维护和预防性维护。
- 需求建模的基本方法包括抽象、分解与多视点分析 3 种。
- 用例之间的关系主要有三种:包含(include)、扩展(extend)和继承。
- 用于表示分析模型的 UML 图形机制主要是类图、活动图、交互图与状态图。
- 软件设计基本原则包括抽象与逐步求精、强内聚及松耦合、信息隐藏及关注点分离。
- 内聚性有 6 种类型 偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
- 一般而言,在面向对象建模过程中,人们最常用的是建立系统的用例图、类图和顺序图。
- 常用的软件开发方法有结构化方法、面向对象方法和形式化开发方法
- 内聚性 是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
- 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树
- 结构化语言是介于自然语言和形式语言之间的一种半形式语言
- 软件概要设计的主要任务就是软件体系结构的设计
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
化方法、面向对象方法和形式化开发方法**
37. 内聚性 是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
38. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树
39. 结构化语言是介于自然语言和形式语言之间的一种半形式语言
40. 软件概要设计的主要任务就是软件体系结构的设计
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-ygdiCNDK-1713246990545)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!