软件测试与质量保证期末复习资料整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习提纲
第一部分软件测试概述
1. 软件测试的背景
1.1 软件危机与软件质量
软件质量保证SQA,软件测试ST;
1.2 软件缺陷(分类,来源,累积和放大效应)
●常见的软件缺陷:
1.软件没有达到规格说明书表明的功能
2.软件出现了规格说明书指明不会出现的问题
3.软件没有达到规格说明书虽未指明,但应该达到的功能
4.软件功能超出规格说明书指明的范围
5.软件测试人员或者用户认为软件难以理解、不易使用、运行速度慢。
●原因:
1.软件的需求规格说明书;
2.软件的设计;
3.代码的错误
●累积和放大效应:前期的软件缺陷会在后期逐步扩大
1.3 软件测试的意义
为了发现软件缺陷,软件测试必不可少;开销占总成本的30%~50%;
2. 软件测试的含义
2.1 什么是软件测试
是为了发现错误而执行程序的过程。
2.2 软件测试的目的
发现问题;
对质量或可接受性做出判断;
2.3 软件测试的对象
1.需求分析
2.概要设计
3.详细设计
4.编码
2.4 测试≠调试
测试→发现错误→调试;这是一个交叉循环的过程;
测试是一种检验,有一套完整的理论,不需要了解设计细节,有非程序设计者完成,且测试的设计和执行能够自动化;
2.5 软件测试的特征
●风险性——彻底测试程序是不可能的;
●不修复原则——并非所有软件缺陷都需要修复;
●群集现象——错误的集中;
●寄生虫性——找到缺陷越多,残存的缺陷越多
3. 软件测试的过程
3.1 软件测试的生命周期
需求规格说明→设计→编码→测试→缺陷分类→缺陷隔离→缺陷解决
3.2 软件测试的步骤
1. 制定测试计划
2. 设计测试用例和测试过程
3. 运行测试用例(核心)
4. 评估测试结果
3.3 测试用例=输入+预期输出
3.4 通过维恩图理解测试用例——相交的地方尽可能大
3.5 测试用例的设计
–3.5.1 功能性测试(黑盒测试)
●依据于软件的规格说明;
●与软件的具体实现无关;
●优:并行进行,测试用例与实现的改变无关;
●缺:用例冗余度大;会有漏洞,不能发现多余缺陷;
–3.5.2 结构性测试(白盒测试)
●依据于程序实现;
●利用程序内部的逻辑结构;
●优:具有覆盖率指标;
●缺:不能发现遗漏缺陷;
4.错误与缺陷分类
●以出现相应错误的开发阶段来划分;
●以相应失效产生的后果来划分;
●以解决难度来划分;
●以不解决会产生的风险来划分
5.软件测试的级别
1.单元测试——详细设计信息,白盒测试为主;
2.集成测试——概要设计信息,模块的组合测试;
3.系统测试——软件需求;
4.确认测试——依照需求规格说明书;
5.验收测试——用户参与,黑盒测试;
6.软件测试的分类
●静态测试——不运行被测试程序;
●动态测试——运行被测试的程序;
●自动测试——利用自动化测试工具;
●人工测试——人工走查和代码审查;
第二部分黑盒测试
1. 边界值测试 (书:第5章)
•边界值分析(依据,含义,方法)
●含义:针对各种边界情况设计测试用例;
●依据:大量的错误是发生在输入或输出范围的边界上;
●方法:以基于但却像和输入空间的边界值分析,设有n个输入变量,则对应有4n+1
个测试用例。
●局限性:只适用于变量之间没有依赖的情况;不适用于布尔变量;
•健壮性测试
●含义:例外情况时的系统表现;n个变量对应6n+1个测试用例;
•最坏情况测试
●用例为边界值集合的笛卡儿积(5n个测试用例)
•健壮最坏情况测试——7n个测试用例
•特殊值测试——主观性和有效性
•随机测试——使用随机数生成器,直到每种输出至少出现一次;
2. 等价类测试 (书:第6章)
•等价类测试的思想
⏹依据:集合的划分,无冗余(不代表测试用例不冗余),完备性;
⏹基本思想:①划分等价类;②从中选取测试用例,以覆盖所有的等价类;
⏹关键:如何划分等价类;
⏹特点:典型的黑盒测试方法
•有效/无效等价类
●有效等价类:合理的输入数据,是否实现了预期的功能;
●无效等价类:无意义的输入数据,检验程序对于无效数据的处理;
•强/弱,健壮/一般等价类测试
●弱一般等价类:单缺陷假设,不考虑无效值,不完备
●强一般等价类:多缺陷假设,不考虑无效值,不完备
●弱健壮等价类:单缺陷假设,考虑无效值,不完备;
●强健壮等价类:多缺陷假设,考虑无效值,完备;
•基于输入/输出的等价类测试
•等价类测试的经验
•根据输入条件,划分等价类的原则
●如果确知以划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成
更小的等价类。
•等价类测试的步骤(案例)
⏹建立等价类表;
⏹生成测试用例,规定一个唯一的编号;
⏹对有效等价类: 用一个测试用例覆盖尽可能多;
⏹对无效等价类: 每个测试用例只覆盖一个;
•不适合情况
●输入条件之间存在依赖关系;
●由多个输入条件的取值组合,决定是否执行某操作;