一、测试用例设计原则 1、测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等。
2、测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。
3、测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是 `相同的。
二、测试用例设计方法原则(只对常用的两种举例)
比如:对边界值设计测试用例,应遵循以下几条原则:
1、如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
2、如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。
3、根据规格说明的每个输出条件,使用前面的原则1。
4、根据规格说明的每个输出条件,应用前面的原则2。
5、如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
6、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
比如:等价类设计测试用例的原则
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。
3、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。
三、测试用例必要元素描述
测试用例编号:用来唯一标识测试用例的编号,由测试组根据具体情况统一管理。
测试用例级别:用来衡量测试用例的重要性,测试组根据具体情况制定统一标准。
测试需求或者测试需求编号(其实就是测试名称 尽量简单易懂):描述测试的目的是什么。
前置条件:运行测试用例必须的条件
测试用列的输入:简单的讲就是用来测试的数据
操作:就是在输入数据之后用户的操作,将会影响到测试的输出
输出:相应的期望结果。
用于黑盒的测试用例
测试用例编号 | Act 00000001 | 测试用例级别 | 3 |
测试需求或者编号 | 测试用户登陆是否成功 |
前置条件 | |
输入 | 操作 | 输出 |
输入正确的用户名字和密码 | 点登陆按钮 | 进入应用程序主界面 |
输入错误的用户名字和密码 | 点登陆按钮 | 提示用户名字或者密码错误,请重新输入 |
只输入用户名 | 点登陆按钮 | 提示输入不完整 |
只输入密码 | 点登陆按钮 | 提示输入不完整 |
用户名字和密码为空 | 点登陆按钮 | 提示用户名密码不能为空 |
| 直接点登陆按钮 | 提示用户名密码不能为空 |
| 直接点关闭 | 提示关闭窗口 |
| 直接点cancel | 关闭窗口 |
| 单击,双击各控键 | 无异常
|
| TAB键操作 | 正常切换 |
| ENTER键操作 | 正常切换 |
说明:根据情况可以将输入正确的用户名字和密码;输入错误的用户名字和密码进行具体的拆分;输入字母数字为组合的用户名,字母符号为组合的密码或者直接给出具体的值。一般写到上面的程度就可以了,能够给测试起到很好的指导作用。
用于白盒的测试用例
intSum(inta,intb) { returna+b; } |
测试用例编号 | Act 00000002 | 测试用例级别 | 1 |
测试需求或者编号 | 测试求和这个函数逻辑和功能是否都正确 |
输入 | | 输出 |
a=0,b=32768 | 32768 |
b=0,a=32768 | 32768 |
a=-32767,b=0 | -32767 |
a=32769,b=0 | 处理越界信息提示 |
-32769,0 | 处理越界信息提示 |
a=abs,b=155 | 提示输入错误 |
b=ddd,a=47 | 提示输入错误 |
说明:一般要求函数有返回数值,如果没有就要根据设计说明书来判断是否实现设计说明书上提出的功能。
总结:目前我们用到的测试用例只有这两种,如果其中某一项没有就不必写出,原则上都要写出测试用例再做测试,而且要评审测试用例是否完整,否则所测试的需求很有可能是得不到充分测试的。用户可以根据实际情况选择测试用例模板。