软件测试 - 选择题2(共86题,满分100分)


一. 单选题

1. 项目管理的对象是()

  • A. 项目
  • B. 项目团队
  • C. 项目生命周期
  • D. 项目干系人

答案:A


2. 在决策表简化中,如果两列的动作相同并且只有某个条件取值不同,可以合并,这种技术称为?

  • A. 规则合并
  • B. 边界合并
  • C. 条件合并
  • D. 动作合并

答案:A


3. 以下哪个属于黑盒测试方法?

  • A. 基本路径测试
  • B. 逻辑覆盖
  • C. 因果图
  • D. 循环测试

答案:C


4. 下列哪个工具主要用于负载和性能测试?

  • A. JUnit
  • B. LoadRunner
  • C. Selenium IDE
  • D. Git

答案:B


5. 缺陷报告中的”严重性”是指()

  • A. 缺陷修复的优先级
  • B. 缺陷对系统的影响程度
  • C. 缺陷发现的时间
  • D. 缺陷出现的概率

答案:B


5(附加). 在决策表中,动作桩表示()

  • A. 输入条件
  • B. 输出结果
  • C. 中间变量
  • D. 测试数据

答案:B


6. 软件测试中,发现缺陷成本最高的阶段是?

  • A. 需求分析阶段
  • B. 设计阶段
  • C. 编码阶段
  • D. 软件发布后

答案:D


7. 软件测试中,回归测试的目的是?

  • A. 测试新功能
  • B. 验证修改后的代码没有引入新的缺陷
  • C. 评估系统性能
  • D. 检查界面美观度

答案:B


8. 下列哪项属于自动化测试的缺点?

  • A. 提高测试效率
  • B. 可重复执行
  • C. 初期脚本开发成本高
  • D. 减少人为错误

答案:C


9. 黑盒测试又称为什么测试()

  • A. 结构测试
  • B. 功能测试
  • C. 路径测试
  • D. 逻辑测试

答案:B


10. 验收测试的主要依据是?

  • A. 详细设计文档
  • B. 用户需求或合同
  • C. 代码注释
  • D. 开发人员口头说明

答案:B


11. 下列哪个活动不需要执行程序?

  • A. 单元测试
  • B. 集成测试
  • C. 代码审查
  • D. 系统测试

答案:C


12. 性能测试工具(如JMeter)主要用于()

  • A. 功能验证
  • B. 模拟多用户并发
  • C. 代码覆盖率分析
  • D. 安全漏洞扫描

答案:B


13. 关于软件缺陷的说法,正确的是?

  • A. 缺陷一定是代码错误导致的
  • B. 缺陷只存在于程序中
  • C. 文档中的错误也属于软件缺陷
  • D. 缺陷都可以自动修复

答案:C


14. 某程序输入为整数,有效范围是[10, 100],采用边界值分析时,通常不包含以下哪个值?

  • A. 9
  • B. 10
  • C. 50
  • D. 100

答案:C(边界值分析主要关注边界及边界附近,50是内部值,不是必须的)


15. 以下对单元测试,不正确的说法是?()

  • A. 单元测试的主要目的是针对编码过程中可能存在的各种错误
  • B. 单元测试一般是由程序开发人员完成的
  • C. 单元测试是一种不需要关注程序结构的测试
  • D. 单元测试属于白盒测试的一种。

答案:D


16. 等价类划分中,如果输入要求是正整数,则无效等价类是?

  • A. 正数
  • B. 0和负数
  • C. 所有整数
  • D. 非数字

答案:B


17. 静态测试中,代码审查通常由谁参与?

  • A. 只有开发人员
  • B. 只有测试人员
  • C. 开发、测试、架构师等多人
  • D. 只有项目经理

答案:C


18. 条件组合覆盖与判定条件覆盖相比,哪个更强?

  • A. 条件组合覆盖
  • B. 判定条件覆盖
  • C. 一样强
  • D. 无法比较

答案:A


19. 软件缺陷修复成本最高的阶段是()

  • A. 需求阶段
  • B. 设计阶段
  • C. 编码阶段
  • D. 发布后维护阶段

答案:D


20. 软件缺陷的根源可能是()

  • A. 需求不明确
  • B. 设计错误
  • C. 编码错误
  • D. 所有以上

答案:D


21. 下列哪种覆盖要求逻辑条件的每种组合至少出现一次?

  • A. 判定覆盖
  • B. 条件覆盖
  • C. 判定条件覆盖
  • D. 条件组合覆盖

答案:D


22. 下列关于错误推测法的说法,正确的是?

  • A. 是一种正规的测试方法,有严格步骤
  • B. 依赖于测试人员的经验,适合作为补充
  • C. 只能发现界面的错误
  • D. 属于白盒测试方法

答案:B


23. 静态测试技术包括()

  • A. 性能测试
  • B. 代码走查
  • C. 压力测试
  • D. 安全测试

答案:B


24. 因果图法最终会转换成什么来设计测试用例()

  • A. 状态图
  • B. 决策表
  • C. 流程图
  • D. 等价类

答案:B


25. 以下哪项属于动态测试?

  • A. 代码审查
  • B. 使用静态分析工具检查代码规范
  • C. 运行JUnit测试
  • D. 文档走查

答案:C


26. 下列哪种覆盖标准要求每个判定的所有可能结果至少出现一次?

  • A. 语句覆盖
  • B. 判定覆盖
  • C. 条件覆盖
  • D. 路径覆盖

答案:B


27. 软件缺陷报告中的”环境”字段记录的是?

  • A. 缺陷发生的硬件和软件配置
  • B. 测试人员的办公环境
  • C. 缺陷修复后的环境
  • D. 代码编译环境

答案:A


28. 使用错误推测法时,测试人员通常参考什么?

  • A. 历史缺陷列表
  • B. 需求文档的字体
  • C. 程序的变量名长度
  • D. 界面颜色

答案:A


29. 缺陷优先级表示()

  • A. 缺陷修复的紧急程度
  • B. 缺陷的严重程度
  • C. 缺陷出现的频率
  • D. 缺陷的复杂程度

答案:A


30. 下列自动化测试工具中常用的性能测试工具是()

  • A. TestDirector
  • B. QTP
  • C. LoadRunner
  • D. Junit

答案:C


31. 软件测试中,”回归测试”通常在什么情况下执行?

  • A. 每次代码修改后
  • B. 仅在项目开始阶段
  • C. 仅在发布后
  • D. 不需要执行

答案:A


32. 决策表中,如果条件有4个,理论上最多有多少条规则?

  • A. 4
  • B. 8
  • C. 16
  • D. 32

答案:C


33. 下列哪种覆盖要求逻辑条件的每种组合至少出现一次()

  • A. 判定覆盖
  • B. 条件覆盖
  • C. 判定条件覆盖
  • D. 条件组合覆盖

答案:D


34. 检视代码,审阅开发文档,这属于()

  • A. 动态测试
  • B. 静态测试
  • C. 黑盒测试
  • D. 白盒测试

答案:B


35. 关于覆盖测试的说法中错误的是()

  • A. 语句覆盖要求每行代码至少执行一次
  • B. 在路径测试中必须用不同的数据重复测试同一条路径
  • C. 路径测试不是完全测试,即使每条路径都执行了一次,软件还可能存在缺陷
  • D. 分支覆盖应使软件中每个判定的真假分支至少执行一次

答案:B


36. 关于自动测试,下面说法正确的是()

  • A. 通常自动化测试会比手工测试发现更多的缺陷
  • B. 手工测试时,测试者可以运用其想象力和创造力对测试进行改进,但自动化测试工具不具备想象力,只能按照原计划测试的方法指令进行
  • C. 运行相同的测试,自动化测试一定会比手工测试更加有效
  • D. 在自动化测试中,测试的艰巨任务是验证期望输出的正确性

答案:B


37. 下列哪种测试方法属于白盒测试?

  • A. 因果图
  • B. 状态图
  • C. 逻辑覆盖
  • D. 错误推测法

答案:C


38. 测试用例设计时,应先设计哪种等价类的测试用例?

  • A. 有效等价类
  • B. 无效等价类
  • C. 随机等价类
  • D. 两者同时

答案:A


39. 下列关于判定表的说法,错误的是?

  • A. 可以处理复杂的逻辑组合
  • B. 规则数量随条件数指数增长
  • C. 所有规则都对应有效测试用例
  • D. 可以合并某些规则

答案:C(有些规则可能无效,需排除)


40. 在软件测试V模型中,验收测试对应的是哪个阶段?

  • A. 需求分析
  • B. 概要设计
  • C. 详细设计
  • D. 编码

答案:A


41. 下列哪项不是测试管理工具的核心功能?

  • A. 编写代码
  • B. 测试用例管理
  • C. 缺陷跟踪
  • D. 测试计划管理

答案:A


42. 静态分析工具通常可以发现哪种问题?

  • A. 运行时内存泄漏
  • B. 未使用的变量
  • C. 性能瓶颈
  • D. 界面错位

答案:B


43. 等价类划分中,如果输入要求是正整数,则无效等价类是()

  • A. 正数
  • B. 0和负数
  • C. 所有整数
  • D. 非数字

答案:B


44. Junit适用于java开发人员在()阶段,进行单个方法实现功能或者类本身的测试,主要用于白盒测试。

  • A. 集成测试
  • B. 验收测试
  • C. 单元测试
  • D. 确认测试

答案:C


45. 下列哪种黑盒测试方法特别适合处理多个条件互相组合产生不同结果的场景?

  • A. 等价类划分
  • B. 边界值分析
  • C. 决策表
  • D. 错误推测法

答案:C


46. 缺陷管理流程中,开发人员修复缺陷后,通常将状态改为?

  • A. Closed
  • B. Reopened
  • C. Fixed
  • D. Verified

答案:C


47. 使用错误推测法时,测试人员最可能参考的资料是?

  • A. 代码注释
  • B. 历史缺陷库
  • C. 数据库设计
  • D. 网络拓扑图

答案:B


48. 下列哪个活动属于静态测试?

  • A. 使用JUnit执行单元测试
  • B. 使用FindBugs分析字节码
  • C. 运行负载测试
  • D. 执行冒烟测试

答案:B(FindBugs是静态分析工具)


49. 以下关于等价类划分的叙述,错误的是?

  • A. 每个等价类的代表性数据可以揭示该类中的所有缺陷
  • B. 等价类划分可以减少测试用例数量
  • C. 有效等价类和无效等价类都需要测试
  • D. 等价类划分是一种黑盒测试技术

答案:A


50. 在因果图法中,输出结果的中间节点称为?

  • A. 原因
  • B. 结果
  • C. 中间状态
  • D. 约束

答案:C


51. 下列关于语句覆盖的说法,正确的是?

  • A. 语句覆盖是最强的覆盖标准
  • B. 语句覆盖可以发现所有逻辑错误
  • C. 语句覆盖要求每条语句至少执行一次
  • D. 语句覆盖一定满足判定覆盖

答案:C


52. 等价类划分中,如果一个输入条件要求必须是大于0的整数,下列哪个是无效等价类?

  • A. 10
  • B. 5
  • C. 3
  • D. 100

答案:C


53. 在状态图测试中,什么情况下需要测试”无效”的迁移?

  • A. 无需测试无效迁移
  • B. 应测试系统对不允许迁移的响应
  • C. 只在白盒测试中测试
  • D. 只由开发人员测试

答案:B


54. 软件测试是软件开发过程中重要的和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中最基础的是()

  • A. 集成测试
  • B. 单元测试
  • C. 系统测试
  • D. 验收测试

答案:B


55. 黑盒测试方法中最先学习且最基础的是?

  • A. 边界值分析
  • B. 等价类划分
  • C. 因果图法
  • D. 状态图法

答案:B


56. 使用决策表时,如果条件有n个,理论上最多有多少列()

  • A. n
  • B. 2n
  • C. n^2
  • D. 2^n

答案:D


57. 软件缺陷修复的代价最高的阶段为()

  • A. 发布阶段
  • B. 需求阶段
  • C. 设计阶段
  • D. 编码阶段

答案:A


58. 黑盒测试中,若输入条件之间无逻辑关系,最合适的测试方法是?

  • A. 决策表
  • B. 因果图
  • C. 等价类+边界值
  • D. 状态图

答案:C


59. 错误推测法主要依赖于()

  • A. 形式化模型
  • B. 测试人员的经验
  • C. 随机生成
  • D. 覆盖率分析

答案:B


60. 白盒测试中,需要设计测试用例覆盖所有可能路径的方法是?

  • A. 语句覆盖
  • B. 判定覆盖
  • C. 路径覆盖
  • D. 条件覆盖

答案:C


61. 黑盒测试能否发现程序中的逻辑结构错误?

  • A. 能,通过输入输出关系间接发现
  • B. 不能,必须看代码
  • C. 只能发现界面错误
  • D. 只能发现性能问题

答案:A


62. 软件缺陷的优先级(Priority)是指?

  • A. 缺陷的技术难度
  • B. 缺陷修复的紧急程度
  • C. 缺陷对用户的影响范围
  • D. 缺陷发现的阶段

答案:B


63. 以下哪个不是白盒测试的常用覆盖指标?

  • A. 语句覆盖
  • B. 分支覆盖
  • C. MC/DC覆盖
  • D. 等价类覆盖

答案:D


64. 白盒测试中,路径覆盖要求测试用例覆盖?

  • A. 所有判定结果
  • B. 所有可能的执行路径
  • C. 所有语句
  • D. 所有边界条件

答案:B


65. 如果某段代码包含两个判定的嵌套,语句覆盖最少需要几个测试用例?

  • A. 1
  • B. 2
  • C. 3
  • D. 4

答案:A(语句覆盖只需要所有语句执行一次,有时一个用例即可)


66. 一个专业的测试必须以一个好的()作为基础,它是整个测试工作的基本依据。

  • A. 测试需求
  • B. 测试计划
  • C. 测试项目
  • D. 测试目标

答案:B


67. 自动化测试中,POM(Page Object Model)模式的主要好处是?

  • A. 提高执行速度
  • B. 减少测试用例数量
  • C. 降低脚本维护成本
  • D. 提高缺陷发现率

答案:C


68. 以下哪项是测试管理的度量指标?

  • A. 代码行数
  • B. 缺陷发现率
  • C. 开发人员工资
  • D. 服务器数量

答案:B


69. 验收测试的决策者是()

  • A. 开发团队
  • B. 测试团队
  • C. 最终用户或客户
  • D. 运维团队

答案:C


70. 软件本地化测试需重点关注()

  • A. 算法效率
  • B. 文化适配与语言翻译
  • C. 数据库设计
  • D. 网络延迟

答案:B


71. 某程序输入为月份(1-12),用等价类划分,无效等价类是?

  • A. 1
  • B. 6
  • C. 12
  • D. 13

答案:D


72. 测试管理工具中,哪个功能用于组织测试用例的执行计划?

  • A. 缺陷跟踪
  • B. 测试计划
  • C. 代码仓库
  • D. 版本控制

答案:B


73. 对于条件 (x>5) AND (y<10),满足判定覆盖的一组测试是?

  • A. x=6,y=9; x=6,y=11
  • B. x=6,y=9; x=4,y=9
  • C. x=6,y=11; x=4,y=9
  • D. x=4,y=11; x=6,y=9

答案:D(判定覆盖需要整个判定取真一次、假一次。D中 x=4,y=11 -> 假,x=6,y=9 -> 真)


74. 决策表中,如果一个条件有2个取值,两个条件最多可产生多少条规则?

  • A. 2
  • B. 4
  • C. 6
  • D. 8

答案:B


75. 关于软件缺陷的优先级与严重性,说法正确的是?

  • A. 严重性高的缺陷优先级一定高
  • B. 优先级高的缺陷严重性一定高
  • C. 两者可以独立设置
  • D. 优先级由测试人员单独决定

答案:C


76. 缺陷报告中,”重现步骤”的作用是?

  • A. 让开发人员快速理解并复现问题
  • B. 用于计算缺陷数量
  • C. 替代测试用例
  • D. 记录测试环境

答案:A


77. 以下哪个不是静态测试的典型技术?

  • A. 代码走查
  • B. 正式审查
  • C. 等价类划分
  • D. 静态结构分析

答案:C


78. 软件缺陷修复成本最高的阶段是?

  • A. 需求阶段
  • B. 设计阶段
  • C. 编码阶段
  • D. 发布后维护阶段

答案:D


79. 因果图中的”异(E)”约束表示?

  • A. 两个原因不能同时为真
  • B. 两个原因至少一个为真
  • C. 一个为真时另一个必须为真
  • D. 两个原因必须同时为假

答案:A


80. 测试管理工具中的缺陷跟踪模块,通常不包含以下哪个字段?

  • A. 缺陷ID
  • B. 实际代码实现
  • C. 严重程度
  • D. 状态历史

答案:B


81. 自动化测试脚本的可维护性主要取决于?

  • A. 脚本长度
  • B. 脚本注释数量
  • C. 脚本使用的编程语言
  • D. 脚本的模块化和页面对象模式等设计

答案:D


82. 下列哪个工具常用于API自动化测试?

  • A. Postman
  • B. Photoshop
  • C. VLC
  • D. Notepad

答案:A


83. 集成测试的主要目的是发现?

  • A. 界面显示错误
  • B. 单元内部逻辑错误
  • C. 模块间接口错误
  • D. 性能瓶颈

答案:C


84. 以下属于静态测试的是()

  • A. 集成测试
  • B. 单元测试
  • C. 需求文档评审
  • D. 性能测试

答案:C


85. 下列哪项不是测试用例的组成部分?

  • A. 测试输入
  • B. 执行步骤
  • C. 预期结果
  • D. 程序源代码

答案:D


86. 白盒测试中,如果要检查所有分支都至少执行一次,应选用?

  • A. 语句覆盖
  • B. 判定覆盖
  • C. 条件覆盖
  • D. 路径覆盖

答案:B