一、名词解释
1. 黑盒测试
黑盒测试指测试人员通过各种输入和观察软件的各种输出结果来发现软件的缺陷,而不关心程序具体如何实现的一种测试方法。
2. 集成测试
集成测试又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。
3. 条件组合覆盖
组合覆盖:通过执行足够多的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。
满足组合覆盖的测试用例一定满足判定覆盖、条件覆盖和判定/条件覆盖。
4. 软件可靠性
软件可靠性定义为在某个给定时间间隔内,程序按照规格说明成功运行的概率。
1983年美国IEEE计算机学会对“软件可靠性”做出了明确定义,此后该定义被美国标准化研究所接受为国家标准,1989年我国也接受该定义为国家标准。该定义包括两方面的含义:
(1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率;
(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;
其中的概率是系统输入和系统使用的函数,也是软件中存在的故障的函数,系统输入将确定是否会遇到已存在的故障(如果故障存在的话)。
5. 软件缺陷(定义)
- 软件未达到产品说明书中标明的功能。
- 软件出现了产品说明书中指明的不会出现的功能。
- 软件功能超出了产品说明书中指明的范围。
- 软件未达到产品说明书中指明应达到的目标。
- 软件测试人员认为软件难以理解和使用、运行速度慢,或最终用户认为不好。
符合以上任意一种情况,即为软件缺陷。
6. 测试用例
测试用例,英文名为TestCase,缩写为TC,指的是在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。
7. 变异测试
当测试人员采用变异技术来评价测试集的充分性或是增强测试集时,这种活动就被称为是变异测试。
8. 白盒测试
白盒测试又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
9. 回归测试
回归测试是指软件被修改后重新进行的测试,如重复执行上一个版本测试时的用例,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
10. 兼容性测试
检查软件能否在不同组合的环境下正常运行,或者软件之间能否正常交互和共享信息。软件兼容性是衡量软件好坏的重要指标之一。
11. 第三方测试
第三方测试主要是指由开发者和用户以外的第三方进行的软件测试,其目的是为了保证测试的客观性。
第三方定义:
- 狭义:独立的第三方测试机构
- 广义:非本软件的开发人员
12. 冒烟测试
冒烟测试是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测试性。
13. 确认测试
确认测试又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。
验收测试指按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。
14. 性能测试
测试软件是否达到需求规格说明中规定的各类性能指标,并满足相关的约束和限制条件。
15. 压力测试
对系统不断施加压力的测试,通过确定一个系统的瓶颈或者不能接收的性能点,获得系统能提供的最大服务级别的测试。
16. 负载测试
通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或某种资源已经达到饱和状态。
17. 安全测试
测试软件在没有授权的内部或者外部的用户的攻击或者恶意的破坏时如何进行处理,是否能保证软件和数据的安全。
18. 自动化测试
自动化测试就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动化的测试。
19. 软件质量保证
软件质量保证是贯穿软件项目整个生命周期的有计划和有系统的活动,经常针对整个项目质量计划执行情况进行评估,检查和改进,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。
20. 逻辑覆盖
逻辑覆盖是一种以程序内部逻辑结构为依据的用例设计方法,包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等几种覆盖强度各不相同的逻辑覆盖形式。
测试过程中发现的bug,测试人员对其中的bug进行发现、筛选、加权,可以得到最后的一个bug评估模型。
3. 白盒测试的覆盖标准有哪些/h2>
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化。
(1)语句覆盖每条语句至少执行一次。
(2)判定覆盖每个判定的每个分支至少执行一次。
(3)条件覆盖每个判定的每个条件应取到各个可能的值。
(4)判定/条件覆盖的同时满足判定覆盖条件覆盖
(5)条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
(6)路径覆盖使程序中每一条可能的路径至少执行一次。
4. 软件测试要经过哪些步骤些测试与软件开发各阶段之间有什么关系/h2>
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化。
(1)语句覆盖每条语句至少执行一次。
(2)判定覆盖每个判定的每个分支至少执行一次。
(3)条件覆盖每个判定的每个条件应取到各个可能的值。
(4)判定/条件覆盖的同时满足判定覆盖条件覆盖
(5)条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
(6)路径覆盖使程序中每一条可能的路径至少执行一次。
(1)软件测试要经过的步骤
单元测试→集成测试→系统测试→验收测试
(2)关系
软件开发是一个自顶向下、逐步细化的过程,而测试过程是依相反顺序自底向上,逐步集成的过程。它对每个程序模块进行单元测试,消除程序模块内部逻辑和功能上的错误和缺陷;对照软件设计进行集成测试,检测和排除子系统或系统结构上的错误;对照需求,进行确认测试;最后从系统全体出发,运行系统,看是否能够满足要求。软件测试与软件开发各阶段的关系如下图所示:
8. 软件测试的终止准则有哪些/h2>
(1)基于测试阶段的原则
(2)基于测试用例的原则
(3)基于缺陷收敛趋势及缺陷修复率原则
(4)基于验收测试的原则
(5)基于覆盖率的原则
(6)软件项目暂停或终止,则测试活动也相应暂停或终止
9. 请分析软件缺陷产生的原因。
(1)交流不充分及沟通不畅
(2)软件需求的变更
(3)软件开发工具的缺陷
(4)软件的复杂性
(5)软件项目的时间压力
(6)程序开发人员的错误
(7)软件项目文档的缺乏
10. 软件测试分为哪几个阶段/h2>
(1) 测试需求的分析和确定
(2) 测试计划
(3)测试设计
(4)测试执行
(5)测试记录和缺陷跟踪
(6)回归测试
(7)测试总结 告
11. 软件缺陷的生命周期/h2>
-
一般地,测试人员识别缺陷,其初始状态是“新建”;
-
项目经理或技术领导分析缺陷,分配给合适的开发人员来解决,状态流转为“待解决”;
-
指定的工程师解决缺陷,将其状态跟踪到“已解决”;
-
测试人员回归该缺陷,如果回归通过,则关闭缺陷,如果回归不通过,则重新打开该缺陷。
12. 自动化测试优缺点/h2>
(1)自动化测试的好处
-
对程序回归测试更方便,尤其是程序修改比较频繁的情况。
-
建立可靠、重复的测试,减少人为失误,更好地利用资源。
-
增强测试质量和覆盖率。
-
执行手工测试不可能完成的任务。
(2)自动化测试的局限性
-
不能取代手工测试。
-
发现的问题和缺陷比手工测试要少。
-
不能用于测试周期很短的项目、不能保证100%的测试覆盖率、不能测试不稳定的软件和软件易用性等。
13. 功能测试包含哪些方面/h2>
功能测试是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
功能测试包含:
- 逻辑功能测试
- 界面测试
- 易用性测试
- 安全测试
- 兼容性测试
三、测试用例的设计
2. 边界值方法
(1)概述
程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
(2)设计方法
- 确定边界情况(输入或输出等价类的边界)
- 选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
(3)边界值方法实例:计算两个1~100之间整数的和。
输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界。在设计测试用例的时,要重点考虑这两个边界问题。
根据边界值方法,测试用例修改如下:
(1)考虑等价类
a. 确定输入
- 输入:年龄、性别、婚姻、抚养人数
b. 确定每个输入的输入条件
-
年龄:非负整数、0-150、必填
-
性别:字符组合、区分大小写、MALE或者 FEMALE、必填
-
婚姻:字符组合、已婚或者未婚、必填
-
抚养人数:正整数、1-9、选填
c. 对每个输入的输入条件进行等价类划分
(4)因果图的约束符
-
E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
-
I(包含):表示三个原因中至少有一个必须成立
-
O(惟一):表示两个原因中必须有一个,且仅有一个成立
-
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
-
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
b. 因果图转换为判定表:
5. 正交试验设计法
(1)概述
正交试验设计是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散、齐整可比”的特点,正交试验是一种高效率、快速、经济的实验设计方法。
利用正交实验设计方法设计测试用例, 可以控制生成的测试用例数量;设计的测试用例也具有一定的覆盖率和代表性。
(2)什么是正交试验设计/h4>
正交试验设计法,是一种成对测试交互的系统的统计方法。它提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。可以从大量的试验点中挑出适量的、有代表性的点,利用“正交表”,合理的安排试验的一种科学的试验设计方法。
(3)正交表的构成
-
行数:正交表中的行的数量,即试验的次数,也是通过正交实验法设计的测试用例的个数。
-
因素数:正交表中列的数量,即要测试的功能点。
-
水平数:任何单个因素能够取得的值的最大个数,即要测试功能点的取值个数。
-
正交表的形式:L行数(水平数因素数) 如:L8(27)
-
-
每个因素有2个水平:选与不选
a. 选择正交表的分析
-
表中的因素数>=3;
-
表中至少有3个因素数的水平数>=2;
-
行数取最少的一个。
-
从正交表公式中开始查找,结果为:L4(23)
利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4(这个公式就是(因素数*(最大水平数-1)+1)),对于三因素两水平的刚好有L4(2^3)的正交表可以套用。
b. 正交表变量的映射
- 格线:0 → 选,1 → 不选
将中文字转换成字母的因子状态表:
c. 用字母代替的正交表
6. 场景图设计法
用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中所有基本流和备选流。
7. 流程图法
算法流程图是针对程序的内部结构的,而黑盒测试的流程图是针对整个系统业务功能流程的。
流程图法的步骤:
- 第一步:详细了解需求
- 第二步:根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系
- 第三步:画出业务流程
- 第四步:写用例,覆盖所有的路径分支
(二)白盒测试用例的设计
1. 白盒测试常用测试用例设计方法
-
逻辑覆盖法(逻辑驱动测试)
-
基本路径测试方法
2. 白盒测试的基本概念
(1)控制流图
-
控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
-
控制流图中包括两种图形符 :节点和控制流线。
-
节点由带标 的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。
-
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
(1)画出相应的控制流图。
(2)计算环形复杂度。
(3)给出相应的图矩阵。
(4)找出程序的独立路径集合。
(1)基于测试阶段的原则
(2)基于测试用例的原则
(3)基于缺陷收敛趋势及缺陷修复率原则
(4)基于验收测试的原则
(5)基于覆盖率的原则
(6)软件项目暂停或终止,则测试活动也相应暂停或终止
(1)交流不充分及沟通不畅
(2)软件需求的变更
(3)软件开发工具的缺陷
(4)软件的复杂性
(5)软件项目的时间压力
(6)程序开发人员的错误
(7)软件项目文档的缺乏
(1) 测试需求的分析和确定
(2) 测试计划
(3)测试设计
(4)测试执行
(5)测试记录和缺陷跟踪
(6)回归测试
(7)测试总结 告
11. 软件缺陷的生命周期/h2>
-
一般地,测试人员识别缺陷,其初始状态是“新建”;
-
项目经理或技术领导分析缺陷,分配给合适的开发人员来解决,状态流转为“待解决”;
-
指定的工程师解决缺陷,将其状态跟踪到“已解决”;
-
测试人员回归该缺陷,如果回归通过,则关闭缺陷,如果回归不通过,则重新打开该缺陷。
12. 自动化测试优缺点/h2>
(1)自动化测试的好处
-
对程序回归测试更方便,尤其是程序修改比较频繁的情况。
-
建立可靠、重复的测试,减少人为失误,更好地利用资源。
-
增强测试质量和覆盖率。
-
执行手工测试不可能完成的任务。
(2)自动化测试的局限性
-
不能取代手工测试。
-
发现的问题和缺陷比手工测试要少。
-
不能用于测试周期很短的项目、不能保证100%的测试覆盖率、不能测试不稳定的软件和软件易用性等。
13. 功能测试包含哪些方面/h2>
功能测试是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
功能测试包含:
- 逻辑功能测试
- 界面测试
- 易用性测试
- 安全测试
- 兼容性测试
三、测试用例的设计
2. 边界值方法
(1)概述
程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
(2)设计方法
- 确定边界情况(输入或输出等价类的边界)
- 选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
(3)边界值方法实例:计算两个1~100之间整数的和。
输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界。在设计测试用例的时,要重点考虑这两个边界问题。
根据边界值方法,测试用例修改如下:
(1)考虑等价类
a. 确定输入
- 输入:年龄、性别、婚姻、抚养人数
b. 确定每个输入的输入条件
-
年龄:非负整数、0-150、必填
-
性别:字符组合、区分大小写、MALE或者 FEMALE、必填
-
婚姻:字符组合、已婚或者未婚、必填
-
抚养人数:正整数、1-9、选填
c. 对每个输入的输入条件进行等价类划分
(4)因果图的约束符
-
E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
-
I(包含):表示三个原因中至少有一个必须成立
-
O(惟一):表示两个原因中必须有一个,且仅有一个成立
-
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
-
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
b. 因果图转换为判定表:
5. 正交试验设计法
(1)概述
正交试验设计是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散、齐整可比”的特点,正交试验是一种高效率、快速、经济的实验设计方法。
利用正交实验设计方法设计测试用例, 可以控制生成的测试用例数量;设计的测试用例也具有一定的覆盖率和代表性。
(2)什么是正交试验设计/h4>
正交试验设计法,是一种成对测试交互的系统的统计方法。它提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。可以从大量的试验点中挑出适量的、有代表性的点,利用“正交表”,合理的安排试验的一种科学的试验设计方法。
(3)正交表的构成
-
行数:正交表中的行的数量,即试验的次数,也是通过正交实验法设计的测试用例的个数。
-
因素数:正交表中列的数量,即要测试的功能点。
-
水平数:任何单个因素能够取得的值的最大个数,即要测试功能点的取值个数。
-
正交表的形式:L行数(水平数因素数) 如:L8(27)
-
-
每个因素有2个水平:选与不选
a. 选择正交表的分析
-
表中的因素数>=3;
-
表中至少有3个因素数的水平数>=2;
-
行数取最少的一个。
-
从正交表公式中开始查找,结果为:L4(23)
利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4(这个公式就是(因素数*(最大水平数-1)+1)),对于三因素两水平的刚好有L4(2^3)的正交表可以套用。
b. 正交表变量的映射
- 格线:0 → 选,1 → 不选
将中文字转换成字母的因子状态表:
c. 用字母代替的正交表
6. 场景图设计法
用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中所有基本流和备选流。
7. 流程图法
算法流程图是针对程序的内部结构的,而黑盒测试的流程图是针对整个系统业务功能流程的。
流程图法的步骤:
- 第一步:详细了解需求
- 第二步:根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系
- 第三步:画出业务流程
- 第四步:写用例,覆盖所有的路径分支
(二)白盒测试用例的设计
1. 白盒测试常用测试用例设计方法
-
逻辑覆盖法(逻辑驱动测试)
-
基本路径测试方法
2. 白盒测试的基本概念
(1)控制流图
-
控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
-
控制流图中包括两种图形符 :节点和控制流线。
-
节点由带标 的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。
-
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
(1)画出相应的控制流图。
(2)计算环形复杂度。
(3)给出相应的图矩阵。
(4)找出程序的独立路径集合。
-
一般地,测试人员识别缺陷,其初始状态是“新建”;
-
项目经理或技术领导分析缺陷,分配给合适的开发人员来解决,状态流转为“待解决”;
-
指定的工程师解决缺陷,将其状态跟踪到“已解决”;
-
测试人员回归该缺陷,如果回归通过,则关闭缺陷,如果回归不通过,则重新打开该缺陷。
(1)自动化测试的好处
对程序回归测试更方便,尤其是程序修改比较频繁的情况。
建立可靠、重复的测试,减少人为失误,更好地利用资源。
增强测试质量和覆盖率。
执行手工测试不可能完成的任务。
(2)自动化测试的局限性
不能取代手工测试。
发现的问题和缺陷比手工测试要少。
不能用于测试周期很短的项目、不能保证100%的测试覆盖率、不能测试不稳定的软件和软件易用性等。
13. 功能测试包含哪些方面/h2>
功能测试是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
功能测试包含:
- 逻辑功能测试
- 界面测试
- 易用性测试
- 安全测试
- 兼容性测试
三、测试用例的设计
2. 边界值方法
(1)概述
程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
(2)设计方法
- 确定边界情况(输入或输出等价类的边界)
- 选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
(3)边界值方法实例:计算两个1~100之间整数的和。
输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界。在设计测试用例的时,要重点考虑这两个边界问题。
根据边界值方法,测试用例修改如下:
(1)考虑等价类
a. 确定输入
- 输入:年龄、性别、婚姻、抚养人数
b. 确定每个输入的输入条件
-
年龄:非负整数、0-150、必填
-
性别:字符组合、区分大小写、MALE或者 FEMALE、必填
-
婚姻:字符组合、已婚或者未婚、必填
-
抚养人数:正整数、1-9、选填
c. 对每个输入的输入条件进行等价类划分
(4)因果图的约束符
-
E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
-
I(包含):表示三个原因中至少有一个必须成立
-
O(惟一):表示两个原因中必须有一个,且仅有一个成立
-
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
-
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
b. 因果图转换为判定表:
5. 正交试验设计法
(1)概述
正交试验设计是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散、齐整可比”的特点,正交试验是一种高效率、快速、经济的实验设计方法。
利用正交实验设计方法设计测试用例, 可以控制生成的测试用例数量;设计的测试用例也具有一定的覆盖率和代表性。
(2)什么是正交试验设计/h4>
正交试验设计法,是一种成对测试交互的系统的统计方法。它提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。可以从大量的试验点中挑出适量的、有代表性的点,利用“正交表”,合理的安排试验的一种科学的试验设计方法。
(3)正交表的构成
-
行数:正交表中的行的数量,即试验的次数,也是通过正交实验法设计的测试用例的个数。
-
因素数:正交表中列的数量,即要测试的功能点。
-
水平数:任何单个因素能够取得的值的最大个数,即要测试功能点的取值个数。
-
正交表的形式:L行数(水平数因素数) 如:L8(27)
-
-
每个因素有2个水平:选与不选
a. 选择正交表的分析
-
表中的因素数>=3;
-
表中至少有3个因素数的水平数>=2;
-
行数取最少的一个。
-
从正交表公式中开始查找,结果为:L4(23)
利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4(这个公式就是(因素数*(最大水平数-1)+1)),对于三因素两水平的刚好有L4(2^3)的正交表可以套用。
b. 正交表变量的映射
- 格线:0 → 选,1 → 不选
将中文字转换成字母的因子状态表:
c. 用字母代替的正交表
6. 场景图设计法
用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中所有基本流和备选流。
7. 流程图法
算法流程图是针对程序的内部结构的,而黑盒测试的流程图是针对整个系统业务功能流程的。
流程图法的步骤:
- 第一步:详细了解需求
- 第二步:根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系
- 第三步:画出业务流程
- 第四步:写用例,覆盖所有的路径分支
(二)白盒测试用例的设计
1. 白盒测试常用测试用例设计方法
-
逻辑覆盖法(逻辑驱动测试)
-
基本路径测试方法
2. 白盒测试的基本概念
(1)控制流图
-
控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
-
控制流图中包括两种图形符 :节点和控制流线。
-
节点由带标 的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。
-
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
(1)画出相应的控制流图。
(2)计算环形复杂度。
(3)给出相应的图矩阵。
(4)找出程序的独立路径集合。
功能测试是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
功能测试包含:
- 逻辑功能测试
- 界面测试
- 易用性测试
- 安全测试
- 兼容性测试
程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
- 确定边界情况(输入或输出等价类的边界)
- 选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界。在设计测试用例的时,要重点考虑这两个边界问题。
根据边界值方法,测试用例修改如下:
(1)考虑等价类
a. 确定输入
- 输入:年龄、性别、婚姻、抚养人数
b. 确定每个输入的输入条件
-
年龄:非负整数、0-150、必填
-
性别:字符组合、区分大小写、MALE或者 FEMALE、必填
-
婚姻:字符组合、已婚或者未婚、必填
-
抚养人数:正整数、1-9、选填
c. 对每个输入的输入条件进行等价类划分
-
E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
-
I(包含):表示三个原因中至少有一个必须成立
-
O(惟一):表示两个原因中必须有一个,且仅有一个成立
-
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
-
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
b. 因果图转换为判定表:
正交试验设计是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散、齐整可比”的特点,正交试验是一种高效率、快速、经济的实验设计方法。
利用正交实验设计方法设计测试用例, 可以控制生成的测试用例数量;设计的测试用例也具有一定的覆盖率和代表性。
正交试验设计法,是一种成对测试交互的系统的统计方法。它提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。可以从大量的试验点中挑出适量的、有代表性的点,利用“正交表”,合理的安排试验的一种科学的试验设计方法。
(3)正交表的构成
行数:正交表中的行的数量,即试验的次数,也是通过正交实验法设计的测试用例的个数。
因素数:正交表中列的数量,即要测试的功能点。
水平数:任何单个因素能够取得的值的最大个数,即要测试功能点的取值个数。
正交表的形式:L行数(水平数因素数) 如:L8(27)
每个因素有2个水平:选与不选
a. 选择正交表的分析
表中的因素数>=3;
表中至少有3个因素数的水平数>=2;
行数取最少的一个。
从正交表公式中开始查找,结果为:L4(23)
利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4(这个公式就是(因素数*(最大水平数-1)+1)),对于三因素两水平的刚好有L4(2^3)的正交表可以套用。
b. 正交表变量的映射
- 格线:0 → 选,1 → 不选
将中文字转换成字母的因子状态表:
c. 用字母代替的正交表
6. 场景图设计法
用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中所有基本流和备选流。
7. 流程图法
算法流程图是针对程序的内部结构的,而黑盒测试的流程图是针对整个系统业务功能流程的。
流程图法的步骤:
- 第一步:详细了解需求
- 第二步:根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系
- 第三步:画出业务流程
- 第四步:写用例,覆盖所有的路径分支
(二)白盒测试用例的设计
1. 白盒测试常用测试用例设计方法
逻辑覆盖法(逻辑驱动测试)
基本路径测试方法
2. 白盒测试的基本概念
(1)控制流图
控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
控制流图中包括两种图形符 :节点和控制流线。
节点由带标 的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
(1)画出相应的控制流图。
(2)计算环形复杂度。
(3)给出相应的图矩阵。
(4)找出程序的独立路径集合。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!