Ps:这个文档可以帮学这门课的同学更好的复习!后面有些试题和答案!
第一章:引论
了解:
1.2 为什么要进行软件测试
? 软件测试——产品质量的保证 ? 软件测试——控制成本的关键 ? 软件测试——软件可靠性确认
? 软件测试——让企业具备国际竞争的实力
1.3 什么是软件测试
Bill Hetzel博士(正向思维的代表):
? 软件测试就是为程序能够按预期设想那样运行而建立足够的信心。 ? “软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”
? 测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作
Glenford J. Myers (反向思维的代表):
? 测试是为了证明程序有错,而不是证明程序无错误 ? 一个好的测试用例是在于它能发现至今未发现的错误 ? 一个成功的测试是发现了至今未发现的错误的测试
软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体
? 验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性 ? “有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
1.4 软件测试和软件开发的关系
第二章:软件测试的基本概念
了解:
2.1.5 修复软件缺陷的代价
用户需求验证 代码验证 功能验证证 系统非功能特性验证
在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,书金整理 3
在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是40~1000倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。
掌握:
2.3 软件测试的分类
2.5 软件测试的工作范畴
? 软件测试工作的组织与管理:制定测试策略、测试计划,确认所采用的测试方法与
规范,控制测试进度,管理测试资源。
? 测试工作的实施:编制符合标准的测试文档,搭建测试环境,开发测试脚本、与开
发组织协作实现各阶段的测试活动
第三章:软件测试方法
理解:
白盒测试的概念
黒盒测试的概念:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 掌握:
白盒测试方法的分类:
语句覆盖,语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次
判定覆盖,判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足
条件覆盖,条件覆盖的基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。 路径覆盖, 判定-条件覆盖, 条件组合覆盖, 基本路径测试法
黑盒测试的概念:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
黒盒测试方法的分类:
等价类划分法,分为有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反 边界值分析法, ? ?
应果图法, 判定表法
用条件覆盖法设计白盒测试用例 用等价类和边界值设计黒盒测试用例 以上两种设计测试用例的方法一定要掌握
确定边界情况(输入或输出等价类的边界)
选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
第四章
了解:
TMM,过程能力描述了遵循一个软件测试过程可能达到的预期结果的范围。TMM的建立,得益于以下3点:
? 充分吸收、CMM的精华; ? 基于历史演化的测试过程; ? 业界的最佳实践。
TPI,TPI是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及过往经验
的基础上开发出来的
CTP, 关键测试过程(Critical Test Process,CTP)评估模型主要是一个内容参考模型,一个上下文相关的方法,并能对模型进行裁剪
STEP,STEP(Systematic Test and Evaluation Process,系统化测试和评估过程)是一个内容参考模型,认定测试是一个生命周期活动,在明确需求后开始直到系统退役。
第五章:单元测试
掌握:单元测试的概念,
单元测试:单元测试是对软件基本组成单元(如函数、类的方法等)进行的测试。
定义:单元测试是对软件基本组成单元进行的测试。 时机:一般在代码完成后由开发人员完成,QA人员辅助. 概念:模块, 组件, 单元
单元测试的测试人员:程序人员和开发人员 单元测试的测试方法,
检查每一条独立执行路径的测试。保证每条语句被至少执行一次。 检查局部数据结构完整性 检查模块接口是否正确 检查临界数据处理的正确性
预见、预设的各种出错处理是否正确有效 单元测试的测试依据
第六章:集成测试和系统测试
掌握:集成测试的概念,
集成测试:集成测试是将软件集成起来,对模块之间的接口进行测试。
顾名思义,集成测试是将软件集成起来后进行测试。集成测试又叫子系统测试、组装测试、部件测试等。
? 模块内的集成,主要是测试模块内各个接口间的交 互集成关系; ? 子系统内的集成,测试子系统内各个模块间的交互 关系; ? 系统内的集成,测试系统内各个子系统和模块间的集成关系。 集成测试的测试人员:有经验的测试人员和开发者共同 集成测试的集成模式和经典代表
非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。
渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合进来进行测试,测试完后再把下一个应该测试的模块结合起来测试。渐增式测试又可以根据每次添加模块的路线分为自顶向下测试、自底向上测试和混合测试等方式。 集成测试的测试依据;
系统测试的概念,
系统测试(特征测试):检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到要求。其测试内容包括:功能测试,非公能测试与回归测试等。 系统测试的测试人员,
系统测试的内容:功能测试,回归测试,非功能性测试;
非功能性测试(特征测试)包含哪些内容:性能测试 压力测试 容量测试 安全性测试可靠性测试 容错性测试 系统测试的测试依据