测试计划和测试用例

什么是测试用例

任意的测试用例都含有:
用例编号 (项目名字—模块名字_用例编号)
所属模块
执行条件
测试输入(具体的执行步骤 )
预期结果
实际结果
用例是否通过
测试人(执行测试用例的人)
版本
备注

测试用例是执行测试的依据,把测试系统的操作步骤用文档的形式描述出来

(1)测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误,而精心设计的少量测试数据,包括测试输入、执行条件和预期的结果,实际结果

(2)测试用例是执行的最小实体。

(3)测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障

测试用例的特征:

1、正确性:测试用例最好是要求输入用户实际数据已验证系统是否满足需求规格说明书的需求,并且测试用例中的测试的应保证至少覆盖需求规格说明书中的各项功能。

2、完整性:一些基本功能,如有遗漏,那是不可原谅的。

3、准确:按测试用例输入实施测试后,要能根据测试用例描述的输出得出正确的结论,不能出现模糊不清的语言。

4、清晰、简洁:好的测试用例描述清晰,每一步都应有相应的作用,有很强的的针对性,不应出现一些无用的操作步骤。

5、可维护性:由于软件开发过程中需求变更等原因的影响,常常对测试用例进行修改、增加、删除等,以便测试用符合相应测试要求。

6、适应性:测试用例应该适合特定的测试环境以及符合整个团队的测试水平。

7、可重复性:要求不同测试者在同样的测试环境下使用同样测试用例都能得出相应结论。

8、可追溯性、可移植性

测试用例的作用

1 可以避免盲目测试并提高测试效率。

2 令软件测试的实施重点突出、目的明确。

3 版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。

4 体现一个测试人员的工作量、展现测试用例的设计思路。(检验软件是否满足客户需求)

5 相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。

需求分析

分析.png

什么是需求?

客户的需要的东西以及对东西的要求。

需求的种类有什么?

1.用户需求:(关注系统是否满足用户习惯)
2.行业业务需求(界面提示信息为行业术语,处理和操作模式为行业从业人员习惯模式等)
3.实际使用环境需求(网络带宽,速率,断电数据备份,软件部署设置等)
4.操作使用需求(类似快捷键,紧急关闭,数据恢复保护,回退机制,安装兼容性,语言环境等)
5.用户需求引发的测试需求(按软件测试质量模型进行划分)
6.功能需求:(关注系统是否满足功能要求)

测试用例的设计方法和编写

如何设计测试用例

对各个功能模块进行测试点分析提取测试点
例:


QQLogin.png

①正常登陆
②账号为空时点击登录
③密码为空时点击登录
④账号密码都为空时点击 登录
⑤密码错误时点击登录
⑥找回密码功能是否有效
⑦记住密码功能是否有效
⑧ 自动登录功能是否有效
⑨ 多个qq号登录
⑩二维码扫描登录

编写测试用例该注意什么?

根据产品规格,测试基本功能;
考虑设计一般用户(非专业人员)的使用方案;
考虑设计稀有或特殊的使用方案;
与系统其他组成部分的配合(如FAX和上网可能要用到MODEM,?测试中考虑对设备的共享);
考虑特殊情况(如内存和硬件的冲突等);
设计极端情况(如内存泄漏、破坏性测试等);
好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。

测试用例的4个特性

1 代表性:能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。
2 针对性:对程序中的可能存在的错误有针对性地测试。
3 可判定性:测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
4 可重现性:对同样的测试用例,系统的执行结果应当是相同的。

测试用例通常包括以下几个组成元素

① 测试用例编号 ② 测试用例名称 ③ 测试用例设计者④ 软件版本号 ⑤测试目的
⑥ 参考信息 ⑦ 测试环境 ⑧ 输入数据 ⑨ 操作步骤 ⑩ 预期结果 ⑪测试结果 ⑫ 测试功能模块

测试用例示例

shop.png
login.png

你用到的测试方法/测试策略有哪些?

等价类划分 边界值 因果图 场景法 正交表

编写测试用例的基本方法

等价类划分法

概念:
有效,无效
等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。
等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。
一般可分为有效等价类和无效等价类

1 .png

示例

计算两个1~100之间整数的和。

如果要进行完全测试,一共要设计多少个测试用例呢?

加数1有1~100共计100个取值,加数2也有1~100共计100个取值,所以他们之间的组合就有100*100=10000种组合可能,但这只是测试了正常范围内的取值。如果用户输入的数据不在1~100之间呢,穷举测试肯定不可能的。由此引入了等价类划分思想。

等价类划分为:

有效等价类:指符合《需求规格说明书》,输入合理的数据集合

无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合

image.png

我们将输入域分成了一个有效等价类(1~100)和两个无效等价类(<1,>100),并为每一个等价类进行编号,然后我们就可以从每一个等价类中选取一个代表性的数据来测试,设计如下表所示的测试用例

在任意文本输入框中可以填写的 字符类型 中文 英文 特殊符号 空格 数字


image.png

练习案例

image.png

划分等价类并编号,下表为等价类划分的结果


image.png

确定边界值的方法

确定边界情况(输入或输出等价类的边界)
选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界,我们在设计测试用例的时,要重点考虑这两个边界问题。


image.png

因果图法

概念:
因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。

因果图基本图形符号
恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。
非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。
或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。

image.png

因果图的约束符号

E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
I(包含):表示三个原因中至少有一个必须成立
O(惟一):表示两个原因中必须有一个,且仅有一个成立
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定

image.png

因果图测试用例

例如:有一个处理单价为2.5元的盒装饮料的自动售货机软件。若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。若投入的是3元硬币,在送出饮料的同时退还5角硬币。

分析这一段说明,我们可列出原因和结果
原因(输入):
投入2.5元硬币;
投入3元;
按“可乐”按钮;
按“啤酒”按钮;
按“奶茶”按钮。
中间状态: ① 已投币;②已按钮
结果(输出):
退还5角硬币;
送出“可乐”饮料;
送出“啤酒”饮料;
送出“奶茶”饮料;


image.png

判定表法

image.png

image.png

场景法

测试用例设计的思想

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
用例场景是通过描述流经用例的路径来确定的过程,
这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。

基本流和备选流

image.png

如图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。

遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:
场景 1 基本流
场景 2 基本流 备选流 1
场景 3 基本流 备选流 1 备选流 2
场景 4 基本流 备选流 3
场景 5 基本流 备选流 3 备选流 1
场景 6 基本流 备选流 3 备选流 1 备选流 2
场景 7 基本流 备选流 4
场景 8 基本流 备选流 3 备选流 4
注:为方便起见,场景 5、6 和 8 只描述了备选流 3 指示的循环执行一次的情况。

正交表法

正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果,这种试验设计法是从大量的试验点中挑选适量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。

应用场景:在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互组合,不可能(也没有必要)为每一种组合编写一条用例,如何使用最少最优的组合进行测试。——正交排列法

判定表,因果图也是考虑控件组合,但是组合数量较少(一般不会超过20中)

公式:Ln(mk)

k是表的列数,表示控件的个数(因数个数)

m是每个控件的取值个数(因数水平)

n是表的行数,也就是需要测试组合的次数

正交表查询地址:https://www.york.ac.uk/depts/maths/tables/orthogonal.htm

正交排列法:http://support.sas.com/techsup/technote/ts723_Designs.txt

image.png

image.png

你可能感兴趣的:(测试计划和测试用例)