第1章 软件测试基本概念(Week1,3月3日)
一、对软件的认识
1. 什么是软件
2. 软件的分类
3. 软件开发的生命周期模型
(1)瀑布模型
(2)Scrum
其实对用瀑布模型这种臃肿不堪、要求严格。而无法适应软件开发周期变化的开发模型,渐渐兴起向更轻型的软件开发方法演化。
敏捷方法试图通过小型的,自我管理的团队用短小的合作发布周期来鼓励迭代式软件开发方法,软件的质量贯穿敏捷软件开发每一个阶段。敏捷软件开发方法有Scrum、极限编程(XP, EXtreme Programing)、测试驱动开发(TDD)、重构和持续集成。
Scrum是敏捷方法里面最出名的。Scrum是一个敏捷开发框架,由一个开发过程、几种角色以及一套规范的实施方法组成。它可以被用于软件开发,项目维护,也可以被用来作为一种管理敏捷项目的框架。它定义了4种主要的角色,产品拥有者(Product Owner),负责产品的远景规划,平衡所有利益相关者的利益,确定不同的产品需求积压的优先级等,是开发团队和客户或最终用户之间的联络点;利益相关者(Stakholder),与产品之间有直接或间接的利益关系,通常是客户或最终用户代表,负责收集编写产品需求,审查项目成果等;Scrum专家(Scrum Master),Scrum专家负责指导开发团队进行Scrum开发与实践,他也是开发团队与产品拥有者交流的联络点;团队成员,即项目开发人员。其核心思想为:
- 以故事为基础的需求条目化,以任务为基础的实现条目化。(Product Backlog,Spring Backlog)
- 2-4周的短周期迭代,而每天又是一个最小的迭代。(Product Backlog,Spring Backlog)
- 基于持续集成思想的进度和质量可视化(看板,燃尽图)。
二、对软件测试的认识
1. 软件为什么要测试
2. 什么是Bug
3. 什么是软件测试
4. 软件测试职业
5. 软件测试的未来
三、测试用例
1. 测试用例定义
2. 测试用例Excel模板
3. 测试用例Word模板
4. 测试管理工具
测试管理工具,是指用工具对软件的整个测试输入、执行过程和测试结果进行管理的过程,可以提高回归测试的效率、大幅提升测试实践、测试质量、用例复用、需求覆盖等。
目前上市场上主流的软件测试管理工具有:MTM(Microsoft测试管理器)、TestDirector(Mecury公司TD,8.0后改成HP QC)、TestManaer(IBM)、TestLink(开源组织)、TestCenter(上海泽众)等。
测试管理包含的内容有:测试框架、测试计划与组织、测试过程管理、测试分析与缺陷管理。
5. 编写测试测试用例注意事项
四、黑盒测试和白盒测试
1. 标识测试用例的方法
2. 黑盒测试
3. 白盒测试
4. 总结
五、静态测试和动态测试
1. 静态测试
2. 动态测试
3. 黑白盒测试和静动态测试之间的关系
============================================
练习:
1. 软件=编程?
2. 软件测试=程序测试?
3. 软件按照用户划分,分为()和()。
4. 画出瀑布开发模型。
5. 传统瀑布式开发的主要弱点是()。
6. 广义Bug,泛指软件在生命周期的各个阶段与()不符的问题。
7. 狭义Bug,仅看做()阶段所发现的问题。
8. 需求和设计阶段发现的问题,用()表示。
9. 开发编码阶段发现的问题,用()表示。
10.交付使用阶段发现的问题,用()表示。
11.Bug的3种类型?
12.测试工程师的主要工作是()、()、()。
13.软件测试是软件开发的重要环节,进行软件测试的目的是()
A.证明软件错误不存在 B.证明软件错误的存在 C.改正程序所有的错误 D.发现程序所有的错误
14.什么是软件测试?
15.从维恩图的角度谈谈对软件测试的理解?
16.请画出软件测试的V模型。
17.什么是测试用例?
18.测试用例可以在哪些软件中编写?()、()、()、()、()、()。
19.在哪个阶段开始写测试用例比较好?()
A.测试计划 B.测试设计 C.测试执行 D.测试评估
20.编写测试用例需要花费大量时间,在软件测试过程中,应该尽可能不写测试用例,直接进行测试。()
21.Excel模板,每个用例占一页,描述得交清楚,但比较分散,适合写性能测试用例。()
22.黑白盒测试和静动态测试之间的关系,以下哪项描述是正确的。( )
A.黑盒测试是动态测试,不是静态测试
B.白盒测试是静态测试,不是动态测试
C.动态测试既不是黑盒测试,也不是白盒测试
D.静态测试有可能是黑盒测试,也有可能是白盒测试
23.白盒测试依据详细设计文档,利用不同的逻辑覆盖率达到某种程度的 。
24.以下哪项不是白盒测试的优点( )。
A.从用户的角度测试,很容易被理解和接受
B.检测代码中的每条路径和分支
C.揭示已藏在代码中的错误
D.对代码的测试进行比较彻底
25.测试用例,指的是在软件测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、 和预期结果。
26.动态测试是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。( )
27.软件测试按是否运行划分可分为黑盒测试和白盒测试。( )
28.通过充分的测试就能保障软件产品的质量。( )
29.以下哪项不是白盒测试的缺点( )。
A.白盒测试投入较大,成本较高
B.白盒测试不验证规格的正确性
C.测试用例之间可能存在严重的冗余。
D.无法检查代码中遗漏的路径和数据敏感性错误
30.黑盒测试把被测的软件看做是一个黑盒子,只关心软件的输入数据和 。
31.什么是黑盒测试?
32.什么是白盒测试?
33.请对黑盒测试的优点和缺点进行简单分析。