第一章 软件测试背景
一.判断题
1. 软件缺陷就是软件未达到软件产品需求说明书指明的要求。( )
2. 软件缺陷主要是由于设计的问题造成。( )
3. 软件缺陷主要是由于编码问题造成。( )
4. 软件缺陷主要是由于需求问题造成。(
5. 软件缺陷在测试阶段发现的数量最多。(
6. 软件缺陷在发布后修复的成本最大。(
7. 软件缺陷在需求分析阶段修复的成本最大。(
8. 软件缺陷在设计阶段修复的成本最大。(
9. 软件缺陷在需求分析阶段修复的成本最小。(
10. 算法错误是设计错误的一种。( )
解答: 1. 对
2. 错
3. 错 4. 对 5. 错 6. 对 7. 错
8. 错
9. 对
10. 对
) ) ) ) ) ) 二.填空题
1. 软件缺陷按测试开发阶段分为____________缺陷、设计缺陷和____________缺陷。
2. 软件出错机理可描述为软件错误、_________________、软件故障_和______________。
3. 需求阶段的错误分为不一致性错误、__________________和___________________。
4. 设计阶段的错误分为设计不完全错误、__________________和___________________。
5. 编码阶段的错误分为数据说明错误、__________________和___________________。
6. “测试成熟度”分为五级、分别为初始级、________________、______________、管理 和测量级、优化,预防缺陷和质量控制级。
7. 某公司成立一个测试小组,当所有的开发全部完成后才由测试小组接手项目的测试,则 该公司属于“测试成熟度”模型中的____________级。
8. 某公司的软件产品由项目经理带着几个开发人员进行研发,每个开发人员自行测试自己 的程序,该公司属于“测试成熟度”模型中的____________级。
9. Bill Hetzel定义的测试第一类方法的核心思想是__________________________________ ___。
10. Glenford Myers定义的测试第二类方法的核心思想是_______________________________ ___。
解答:
1. 需求缺陷、编码缺陷
2. 软件缺陷,软件失效
3. 冗余性错误、不完整性错误、不可行错误、不可测试错误(只填3个)
4. 算法错误、模块接口错误、控制逻辑错误、数据结构错误(只填2个)
5. 数据使用错误、计算错误、比较错误、控制流错误、界面错误、输入/输出错误(只填2 个)
6. 定义级、集成级
7. 定义
8. 初始
9. 证明软件是工作的
10. 证明软件是有错误的
三.名词解释 1. 软件缺陷 2. TMM
3. 测试用例
4. 软件测试
5. 集成测试
解答:
1. 从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产 品外部看,缺陷是系统所需要实现的某种功能的失效或违背
2. 软件测试成熟度模型是对测试组当前的测试能力状态的一种度量,帮助测试组改进测试 效率,提高测试管理水平。
3. 为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路 径或核实是否满足某个特定需求。
4. 软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确 认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、 预先定义的不一致性。
5. 一种测试阶段,用于测试模块之间的交互
四.简答题
1. 简述软件缺陷产生的原因。
2. 简述什么样的情况下可以判定为软件缺陷。
3. 简述测试与调试的区别。
4. 有人认为程序如果可以做到穷举路径测试,就可以保证程序中再也没有缺陷,请判断以 上描述是否正确,并给出相应的解释。
5. 你认为一个优秀的测试工程师应该具备哪些基本素质和专业素质?
解答:
1. 1、用户需求和说明书没有被很好的理解
分析人员不能100%理解用户需求,写作水平不高 2、软件设计的不合理 设计人员不能100%理解需求文档,设计水平不高 3、代码(算法,流程) 存在错误 编码人员不能100%理解设计文档,编码水平不高
2. (1)软件未达到软件产品需求说明书指明的要求。 (2)软件出现了软件产品需求说明书指明不会出现的错误。
(3)软件功能超出软件产品需求说明书指明的范围。
(4)软件未达到软件产品需求说明书虽未指明但应达到的要求。
(5)软件测试人员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
的
问题。
3. 测试的主要工作是找缺陷,发现软件的错误(是否满足用户需求) ,确定程序中可疑错误 的原因和确切位置,对程序(设计或编号)进行修改,排除错误贯穿整个软件生命周期。 调试的目的是解决代码中的缺陷。
4. 不正确,穷举路径测试可以使代码达到100%的覆盖,但是不能查出程序违反了设计要求 或用户需求。穷举测试不能查出遗漏路径错误和与数据相关的异常错误。
5. 基本素质 ? 对软件感兴趣 ? 好奇心
? 自信、执着、追求完美、团队合作、勾通 ? 叛逆精神 ? 追求完美 ? 洞察力 专业素质 ? 业务知识
? 产品设计知识 ? 软件架构知识 ? UML
? 各种测试工具 ? 用户心理学 ? 文字表达能力
五.应用题
解答:
第二章 软件测试概述
一.判断题
1. 软件测试就是对程序进行测试。( )
2. 当软件代码开发结束时,软件测试过程才开始。( )
3. 对发现错误较多的程序段,应进行更深入的测试。( )
4. 发现错误多的程序模块,残留在模块中的错误也多。( )
5. 如果发布出去的软件有质量问题,都是软件测试人员的错。( )
6. 测试部门负责软件质量。( )
7. 软件测试的目的是尽可能多的找出软件的缺陷。( )
8. 开发一个软件系统时,要考虑所有的软件质量要素。( )
9. 测试用例越多,测试效果就会越好。( )
10. 产品规格说明书和文档的谬误不属于软件缺陷。( )
11. 没有质量度量,等于没有质量标准。( )
12. 在软件编码过程中产生的缺陷数量相对软件开发的其它过程多得多。( )
13. 软件测试能保证软件质量。( )
14. 软件测试不用考虑软件的可扩展性。( )
15. 软件的质量越高越好,所以我们必须保证软件零缺陷才能交付。( )
16. 如果黑客为非法入侵花费的代价(考虑时间、费用、风险等因素)高于得到的好处,那 么这样的系统可以认为是安全的。( )
17. 软件的可靠性可以通过软件测试发现并解决。( )
18. 好的测试用例集可以花费最小的代价(人力、物力、财力、时间)做最好的测试。( ) 解答: 1. 错
2. 错
3. 对