(54)A.X=1,X=100 .X=0,X=1,X=100,X=101 C.X=2,X=99D.X=O,X=101
(2007)●用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值 。
(40)A.X=10,X=100 B.X=9,X=10,X=100,X=101
C.X=10,X=11,X=99,X=100D.X=9,X=10,X=50,X=100
(2008)●下面为C语言程序,边界值问题可以定位在(45)。
intdata(3),
inti,
for(i=1,i<=3,i++)
data(i)=100
A.data(0)B.data
(1)C.data
(2)D.data(3)
●假定X为整数类型变量,X>=1并且X<=10,如果用边界值分析法,X在测试中应该取(48)值。
A.1,10B.0,1,10,11C.1,11D.1,5,10,11
4、错误推测法
错误推测法:
是基于经验和直觉推测程序中所有可能存在的各种错误,有针对性地设计测试用例的方法。
5、因果图法
因果图法:
是从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出结果或程序状态的改变),通过因果图转换为判定表
什么时候使用因果图法?
侧重于输入条件的各种组合,各个输入情况之间的相互制约关系(依赖关系)
如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法和判定表驱动法。
因果图设计方法:
1)、分析程序规格说明的描述中的原因、结果是哪些,原因为输入条件,结果为输出条件。
2)、分析程序规格说明的描述中语议的内容,将其表示成连接各个原因与各个结果的“因果图”
3)、标明约束条件。
4)、把因果图转换成判定表
5)、为判定表中每一列表示的情况设计测试用例。
因果图导出测试用例步骤
第一步:
分析程序规格说明的描述中,哪些是原因,哪些是结果。
原在因常常是输入条件或是输入条件的等价类,结果是输出条件
第二步:
分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的‘因果图’
第三步:
标明约束条件
第四步:
把因果图转换成判定表
第五步:
为判定表中每一列表示的情况设计测试用例
因果图基本图形符号
通常在因果图中,用Ci表示原因,Ei表示结果,各结点表示状态,可取值0(状态不出现)或1(某状态出现)
考试题型:
(2009)●黑盒测试中,(59)是根据输出对输入的依赖关系设计测试用例。
(59)A.基本路径法 B.等价类 C.因果图 D.功能图法
6、判定表驱动法
判定表:
是分析和表达多逻辑条件下执行不同操作的情况的工具。
条件桩
条件项
动作桩
动作项
条件桩(ConditionStub):
列出了问题得所有条件.通常认为列出得条件的次序无关紧要
动作桩(ActionStub):
列出了问题规定可能采取的操作.这些操作的排列顺序没有约束
条件项(ConditionEntry):
列出针对它左列条件的取值.在所有可能情况下的真假值.
动作项(ActionEntry):
列出在条件项的各种取值情况下应该采取的动作.
(1) 判定表:
是分析和表达多逻辑条件下执行不同操作的情况的工具
(2) 判定表组成
条件桩:
列出了问题的所有条件
动作桩:
列出了问题规定可能采取的操作
条件项:
列出针对它所列条件的取值,在所有可能情况下的真假值
动作项:
列出在条件项的各种取值情况下应该采取的动作
规则:
任何一个条件组合的特定取值及其相应要执行的操作
注:
判定表中贯穿条件项和动作项的一列就是一条规则;
(3) 判定表的建立(步骤)
第一步:
确定规则的个数。
假如有n个条件,每个条件有两个取值(0,1),故有2n种规则
第二步:
列出所有的条件桩和动作桩
第三步:
填入条件项
第四步:
填入动作项。
制定初始判定表
第五步:
简化。
合并相似规则或者相同动作
(4) 适合使用判定表设计测试用例的条件
1规格说明以判定表的形式给出,或很容易转换成判定表
2条件的排列顺序不影响执行哪些操作
3规则的排列顺序不影响执行哪些操作
4当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则
5如果某一规则要执行多个操作,这些操作的执行顺序无关紧要
7、正交试验法
(1)概述
利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。
往往因果关系非常庞大,导致利用因果图而得到的测试用例数目多得惊人,给软件测试带来沉重的负担。
为了有效地、合理地减少测试的工时与费用,可利用正交试验法进行测试用例的设计。
正交试验法:
是从大量的试验数据中挑选适量的、有代表性的点。
从而合理地安排测试的一种科学的试验设计方法。
使用已造好的表格“-”正交表来安排试验并进行数据分析的一种方法
指标:
通常把判断试验结果优劣的标准叫做试验的指标;
因子:
所有影响试验指标的条件;
因子的状态:
影响试验因子的,叫做因子的状态。
(2)优点
1、节省测试工时
2、可控制生成的测试用例的数量
3、测试用例具有一定的覆盖率
(3)设计步骤
提取功能说明,构造因子‘-’状态表。
加权筛选,生成因素分析表;
利用正交表构造测试数据集,正交表的推导依据Galois理论
L:
代表正交表,L8(27)代表7为因子数,2为因子的水平数,8为此表行的数目(试验次数)
行数为mn型的正交表中,试验次数(行数)=∑(每列水平数-1)+1
例:
5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,即L12(35*2)
优点:
利用正交试验设计方法设计测试用例,与使用等价类划分、边界值分析、因果图等方法相比,有以下优点:
节省测试工作工时;可控制生成的用例的数量;测试用例具有一定的覆盖率。
正交试验法在软件测试中是一种有效的方法,例如在平台参数配置方面,我们要选择哪种组合方式是最好的,每个参数可能就是一个因子,参数的不同取值就是水平,这样我们可以采用正交试验法设计出最少的测试组合,达到有效的测试目的。
什么时候使用正交试验法?
对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。
8、功能图法
(1)程序功能说明的组成
动态说明:
描述输入数据的次序或转移次序
静态说明:
描述输入条件和输出条件之间的对应关系
(2)功能图:
由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来表示。
一个状态指出数据输入的位置(或时间),一个迁移指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能(由状态迁移、逻辑功能模型组成。
)。
(3)功能图法概述
1、用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例
2、功能图模型由状态迁移图和逻辑功能模型构成
3、状态迁移图:
用于表示输入数据序列以及相应的输出数据;由输入数据和当前状态决定输出数据和后续状态
4、逻辑功能模型:
用于表示在状态中输入条件和输出条件的对应关系。
由输入数据决定输出数据。
此模型只适用于描述静态说明
5、功能图测试用例由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满中的一对条件组成
(4)测试用例生成方法
从状态迁移图中选取测试用例,用节点代替状态,用弧线代替迁移,状态图就可转化成一个程序的控制流程图形式
(5)测试用例生成规则
为了把状态迁移(测试路径)的测试用例与逻辑模型(局部测试用例)的测试用例组合起来,从功能图生成实用的测试用例,在一个结构化的状态迁移(SST)中,定义3种形式的循环:
顺序,选择和重复
(6)功能图生成测试用例步骤
1生成局部测试用例:
在每个状态中,从因果图生成局部测试用例。
局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成
2测试路径生成:
利用上面的规则生成从初始状态到最后状态的测试路径
3测试用例合成:
合成测试路径与功能图中每个状态的局部测试用例。
结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。
4测试用例的合成算法:
采用条件构造树
9、场景法
对于业务流清晰的系统,可利用场景法。
场景法的基本设计步骤:
(1) 基本流和备选流
采用此方法进行设计时,需要进行场景的设计,在场景中采用基本流和备选流表示经过用例的每条路径
1基本流:
采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)
2备选流:
采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入到基本流中;(各种错误情况)
(2)设计步骤
1)、根据说明,描述出程序的基本流及各项备选流
2)、根据基本流和各项备选流生成不同的场景
3)、对每一个场景生成相应的测试用例
4)、对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值
10、黑盒测试用例设计方法的选择策略
1. 首先进行等价类划分,包括输入条件和输出条件的等价类划分,将无限测试变成有限测试,这是减少测试量和提高测试效率的最有效办法
2.在任何情况下都必须使用边界值分析方法。
此方法设计的测试用例发现程序错误的能力最强
3.可以用错误和推测法追加一些测试用例
4.对照程序的逻辑,检查已设计的测试用例的逻辑覆盖度,如果没有达到要求,应在补充
5.如果程序的功能说明中含有输入条件的组合情况,一开始就可以使用因果图法和判定表驱动法
6.对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果
7.功能图法也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同的数据
8.对于业务流清晰的系统,可以利用场景法贯空整个测试案例过程,在案例中综合使用各种方法
11、测试用例的编写
1.测试用例概述
(1)定义
1将测试行为具体量化的方法之一
2设计一种情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果
3为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,
4一个好的测试用例是在于它能发现至今未发现的错误
(2)优点:
●在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率
●测试用例的使用令软件测试的实施重点突出、目的明确
●在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期
●功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升
2.计划测试用例的目的
●计划测试用例,是达成测试目标的必由之路
●组织性:
使测试用例具有组织性,便于全体测试员和其他项目小组人员有效地审查和使用
●重复性和跟踪,可以明确测试过程中测试用例的执行情况,保证测试的全面性
●计划测试用例,可以避免发布忽略某些测试用例的软件
●测试证实,正确的测试用例计划和跟踪提供了一种证实测试的手段
3.测试设计说明
(1) 定义:
在测试计划中提炼测试方法,要明确指出设计包含的特性以及相关的测试用例和测试程序,并指定判断通过/失败的规则
(2)目的;组织和描述针对具体特性需要进行的测试,注:
不给出具体的测试用例或执行测试的步骤
(3)包含的部分内容(来自ANSI/IEEE829 ANSI美国国家标准化组织)
●标识符:
用于引用和定位测试设计说明的惟一标识符
●要测试的特性:
对测试设计说明所包含的软件特性的描述。
还将明确出要间接测试的特性
●方法:
描述测试的通用方法。
如果方法在测试计划中描述,在测试设计说明中要详细描述要使用的技术,并给出如何验证测试结果的方法
●测试用例信息:
用于描述所引用的测试用例的相关信息。
如测试用例编号
●通过/失败规则:
描述用什么规则来判定某项特性的测试结果是通过还是失败。
4.测试用例说明
(1)定义(ANSI/IEEE829):
编写用于输入的实际数据和预期结果,并明确指出使用具体测试用例产生的测试程序的任何限制
(2)包含的内容
●标识符:
由测试设计过程说明和测试程序说明引用的唯一标识符
●测试项:
描述被测试的详细特性、代码模块等
●输入说明:
列举执行测试用例的所有输入内容或者条件
●输出说明:
描述进行测试用例预期的结果
●环境要求:
执行测