软件测试的基本概念、软件测试类型及其在软件开发过程中的地位
(总分100, 做题时间90分钟)
一、选择题
1. 
在指定条件下使用时,软件产品维持规定的性能水平的能力,这是指软件外部质量的______。
  • A.效率
  • B.易用性
  • C.功能性
  • D.可靠性
A  B  C  D  
2. 
软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是______。
  • A.程序结构
  • B.软件外部功能
  • C.程序正确性
  • D.程序内部逻辑
A  B  C  D  
3. 
程序独立测试的人员应是______。
  • A.程序员自己
  • B.同一开发组的测试成员
  • C.第三方测试人员
  • D.同一开发组的其他成员
A  B  C  D  
4. 
软件验证和确认是保证软件质量的重要措施,它的实施应该针对______。
  • A.程序编写阶段
  • B.软件开发的所有阶段
  • C.软件调试阶段
  • D.软件设计阶段
A  B  C  D  
5. 
坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,把出现的错误克服在早期______。
  • A.技术评审
  • B.程序测试
  • C.文档审查
  • D.管理评审
A  B  C  D  
6. 
经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该______。
  • A.较少
  • B.较多
  • C.相似
  • D.不确定
A  B  C  D  
7. 
如果一个软件产品的功能或特性没有实现,包括主要功能部分丢失、次要功能完全丢失或者错误的声明,这是属于______。
  • A.致命的错误
  • B.严重的错误
  • C.一般的错误
  • D.微小的错误
A  B  C  D  
8. 
以下哪一种选项不属于软件缺陷______。
  • A.软件没有实现产品规格说明所要求的功能
  • B.软件中出现了产品规格说明不应该出现的功能
  • C.软件实现了产品规格说明没有提到的功能
  • D.软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题
A  B  C  D  
9. 
软件生存周期过程中,修改错误代价最大的阶段是______。
  • A.需求阶段
  • B.设计阶段
  • C.编程阶段
  • D.发布运行阶段
A  B  C  D  
10. 
以程序内部的逻辑结构为基础的测试用例设计技术属于______。
  • A.灰盒测试
  • B.数据测试
  • C.黑盒测试
  • D.白盒测试
A  B  C  D  
11. 
软件验证和确认理论是测试过程的理论依据,其中验证是检查我们是否正在正确地建造一个产品,它强调的是______。
  • A.过程的正确性
  • B.产品的正确性
  • C.测试的正确性
  • D.规格说明的正确性
A  B  C  D  
12. 
软件质量是软件产品能否得到市场认可的最基本的问题,而软件测试是保证软件质量的重要手段,下面关于软件测试任务正确的是______。
    ①预防软件发生错误  ②发现改正程序错误  ③提供诊断错误信息
  • A.①
  • B.②③
  • C.①③
  • D.都是
A  B  C  D  
13. 
下面说法正确的是______。
  • A.我们无法测试一个程序确认它没有错误
  • B.黑盒测试是逻辑驱动的测试
  • C.穷举测试一定可以暴露数据敏感错误
  • D.白盒测试是一种输入/输出驱动的测试
A  B  C  D  
14. 
软件测试的目的是______。
  • A.评价软件的质量
  • B.发现软件的错误
  • C.找出软件中所有的错误
  • D.证明软件是正确的
A  B  C  D  
15. 
以下选项中不属于软件缺陷状态的是______。
  • A.激活状态
  • B.非激活状态
  • C.一致状态
  • D.已修正状态
A  B  C  D  
16. 
为了提高测试的效率,应该______。
  • A.随机地选取测试数据
  • B.取一切可能的输入数据作为测试数据
  • C.在完成编码以后制定软件的测试计划
  • D.选择发现错误的可能性大的数据作为测试数据
A  B  C  D  
17. 
软件的集成测试工作最好由什么人员承担,以提高集成测试的效果______。
  • A.该软件的设计人员
  • B.不属于该软件开发组的软件设计人员
  • C.该软件开发组的负责人
  • D.该软件的编程人员
A  B  C  D  
18. 
软件测试计划的内容应包括______。
  • A.测试目的、背景
  • B.被测软件的功能、输入和输出
  • C.测试内容和评价标准
  • D.以上全部
A  B  C  D  
19. 
计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷是属于______。
  • A.缺陷
  • B.故障
  • C.失效
  • D.缺点
A  B  C  D  
20. 
问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是______。
  • A.激活状态
  • B.非激活状
  • C.已修正状态
  • D.关闭状态
A  B  C  D  
21. 
下列不属于软件本身的原因而产生的缺陷的是______。
  • A.算法错误
  • B.语法错误
  • C.文档错误
  • D.系统结构不合理
A  B  C  D  
22. 
从软件测试观点出发,软件缺陷由系统缺陷、加工缺陷、数据缺陷、代码缺陷和______构成。
  • A.设计缺陷
  • B.功能缺陷
  • C.性能缺陷
  • D.接口缺陷
A  B  C  D  
23. 
下列缺陷中,不属于加工缺陷的是______。
  • A.算术与操作缺陷
  • B.接口缺陷
  • C.初始化缺陷
  • D.静态逻辑缺陷
A  B  C  D  
24. 
软件生存期中费用消耗最大的环节是______。
  • A.软件测试
  • B.软件开发
  • C.软件质量保证
  • D.软件文档审查
A  B  C  D  
25. 
证实在一个给定的外部环境中软件的逻辑正确性是______。
  • A.验证
  • B.确认
  • C.测试
  • D.调试
A  B  C  D  
26. 
对于一个软件的各种需求,要确定其关键性类型,定义关键性级别的依据是______。
  • A.系统任务
  • B.安全性
  • C.技术复杂性
  • D.以上全部
A  B  C  D  
27. 
下列不属于动态分析的软件行为是______。
  • A.屏幕仿真
  • B.分支执行分析
  • C.结构分析
  • D.建模
A  B  C  D  
28. 
以下说法中错误的是______。
  • A.单元测试一般采用白盒测试方法,辅以黑盒测试方法
  • B.集成测试主要采用黑盒测试方法,辅以白盒测试方法
  • C.配置项测试一般采用白盒测试方法
  • D.系统测试一般采用黑盒测试方法
A  B  C  D  
29. 
下面不属于软件测试过程中的输入类的是______。
  • A.软件配置
  • B.测试用例
  • C.测试配置
  • D.测试工具
A  B  C  D  
30. 
下面说法正确的是______。
  • A.软件测试仅是在编程之后进行的测试
  • B.需求规格说明、概要设计规格说明、详细设计规格说明、源程序并不全是软件测试的对象
  • C.测试配置是软件配置的一个子集
  • D.错误发现的越晚,改正的代价就越大,这个代价是呈现接近线性增长的趋势
A  B  C  D  
31. 
下列文档中在内部设计中用到的是______。
  • A.接口设计规格说明书
  • B.系统构件部署设计规格说明书
  • C.用户界面设计规格说明书
  • D.功能设计说明书
A  B  C  D  
32. 
软件设计阶段的测试主要采取的方式是______。
  • A.评审
  • B.白盒测试
  • C.黑盒测试
  • D.动态测试
A  B  C  D  
33. 
不用执行程序,目的是收集有关程序代码的结构信息,这一过程是______。
  • A.性能测试
  • B.静态分析
  • C.增量测试
  • D.大突击测试
A  B  C  D  
34. 
下列关于软件测试策略的叙述中不正确的是______。
  • A.增量测试的主要问题在于需要额外编写很多特殊的测试程序
  • B.静态测试与动态测试都要执行程序
  • C.Myers认为自底向上测试方法要优于自项向下测试的方法
  • D.软件性能测试的目标之一是为了提高性能
A  B  C  D  
35. 
测试程序时不在机器上直接运行程序,而是采用人工检查或计算机辅助静态分析的手段检查程序,这种测试称为______。
  • A.白盒测试
  • B.黑盒测试
  • C.静态测试
  • D.动态测试
A  B  C  D  
36. 
在设计阶段中,设计人员把经评审通过的各项需求转换成一个相应的体系结构,该体系结构是指______。
  • A.数据体系结构
  • B.系统体系结构
  • C.软件体系结构
  • D.以上全部
A  B  C  D  
37. 
定义管理进程间通信规则的是______。
  • A.协议文件
  • B.数据库文件
  • C.系统文件
  • D.通信文件
A  B  C  D  
38. 
数据设计的核心是抽象数据类型ADT,它的特点是______。
  • A.数据封装
  • B.数据隐藏
  • C.使用与实现分离
  • D.以上全部
A  B  C  D  
39. 
提高系统时间效率的最佳方法是______。
  • A.选择最好的测试用例
  • B.选择高效的算法
  • C.使用测试工具
  • D.选择最佳的测试方法
A  B  C  D  
40. 
下列能作为设计阶段测试对象的文档是______。
  • A.逻辑设计规格说明
  • B.外部设计规格说明
  • C.内部设计规格说明
  • D.以上全部
A  B  C  D  
41. 
编码阶段的测试目标是确定程序代码的质量,代码质量的确定依据是______。
  • A.设计规格说明可跟踪到程序相应的代码,程序代码可跟踪到设计需求
  • B.分析程序接口并与接口文档相对照
  • C.执行程序评估工作,分析程序是不是设计说明的正确翻译,是否与程序编码标准相符
  • D.以上全部
A  B  C  D  
42. 
下列测试不用考虑内部程序结构的测试是______。
  • A.功能测试
  • B.结构测试
  • C.逻辑驱动测试
  • D.白盒测试
A  B  C  D  
43. 
在路径测试中,覆盖准则规定了必须测试的一组路径。覆盖准则又称为______。
  • A.完全性准则
  • B.路径准则
  • C.语句覆盖准则
  • D.物理覆盖准则
A  B  C  D  
44. 
大突击测试是将所有模块一次性集成为一个完整的系统后进行完全测试,下列不符合大突击测试的特点的是______。
  • A.大突击测试的自动化能力差
  • B.大突击测试要找出导致失效的原因很困难
  • C.大突击测试要额外编写特殊的辅助测试程序
  • D.大突击测试中,一个模块存在的缺陷还可能妨碍其他模块的测试
A  B  C  D  
45. 
当对发现的缺陷进行修改之后,执行一系列基准测试,以确认程序的修改没有对程序的其他部分产生干扰,这种测试通常称为______。
  • A.验证测试
  • B.回归测试
  • C.系统测试
  • D.确认测试
A  B  C  D  
46. 
下列做法对维护工作不利的是______。
  • A.存在完整、适用的文档
  • B.开发阶段提前交付软件产品
  • C.存在有可以有效使用的审核和批准过程
  • D.存在有可查的历史记录
A  B  C  D  
答题卡