|
功能测试测试用例的设计是测试人员基本的工作之一,如何设计出准确有效的测试用例也一直是大家讨论的话题。这里介绍一下我们工作中所使用的设计方法,供大家参考。从用户的角度出发,根据用户的可能输入路径考虑相应用例覆盖。
举例一个简单的注册功能:
[img=282,140 alt=]http://p.blog.csdn.net/images/p_blog_csdn_net/chinaren0001/EntryImages/20081005/Join633588026796458750.JPG[/img]
要求:
a. 用户名是以字母开头的小于或等于5位的字符串
b. 密码为大于或等于6位且小于或等于10位的字符串
要对这一功能进行测试,我们按照以下流程来进行分析:
1. Use Case 图
[img=296,138 alt=]http://p.blog.csdn.net/images/p_blog_csdn_net/chinaren0001/EntryImages/20081005/UseCase.JPG[/img]
此注册功能包括三个输入参数: 用户名, 密码, 再次输入密码.
2. 输入参数表
用户名的可能输入有: 为空, 以数字开头, 以特殊字符开头, 大于5位,正常输入(以字母开头的小于或等于5位的字符串).
密码的可能输入有: 为空, 小于6位, 大于10位, 正常输入(大于或等于6位且小于或等于10位的字符串).
再次输入密码:与前一次输入密码相同, 与前一次输入密码不同
No. | 用户名 | 密码 | 再次输入密码 | 正常输入
| 1 | 正常输入(以字母开头的小于或等于5位的字符串) | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码相同 | 异常输入
| 2 | 为空 | 为空 | 与前一次输入密码不同 | 3 | 以数字开头 | 小于6位 | | 4 | 以特殊字符开头
大于5位 | 大于10位 | | 5 | 以特殊字符开头
大于5位 | | |
3. 输入输出矩阵
根据以上参数的可能输入进行组合,得出测试用例覆盖路径数. 这个路径数应该大于等于"所有异常输入个数+最大的正常输入个数". 从输入参数表中可得:
所有异常输入个数=用户名(4)+密码(3)+再次输入密码(1)=8
最大的正常输入个数=用户名(1)=密码(1)=再次输入密码(1)=1
测试用例覆盖路径数=8+1=9
No. | 用户名 | 密码 | 再次输入密码 | 期望结果
| 1 | 正常输入(以字母开头的小于或等于5位的字符串) | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码相同 | 注册成功 | 2 | 为空 | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码相同 | 友好的错误信息 | 3 | 以数字开头 | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码相同 | 友好的错误信息 | 4 | 以特殊字符开头 | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码相同 | 友好的错误信息 | 5 | 大于5位 | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码相同 | 友好的错误信息 | 6 | 正常输入(以字母开头的小于或等于5位的字符串) | 为空 | 与前一次输入密码相同 | 友好的错误信息 | 7 | 正常输入(以字母开头的小于或等于5位的字符串) | 小于6位 | 与前一次输入密码相同 | 友好的错误信息 | 8 | 正常输入(以字母开头的小于或等于5位的字符串) | 大于10位 | 与前一次输入密码相同 | 友好的错误信息 | 9 | 正常输入(以字母开头的小于或等于5位的字符串) | 正常输入(大于或等于6位且小于或等于10位的字符串) | 与前一次输入密码不同 | 友好的错误信息 |
4. 测试用例
根据所要覆盖的测试路径数目设计测试用例,一个用例可以依据方便测试的目的包括一条或多条测试路径.如果功能过于复杂,也可以只包括一条路径以使用例更加清晰. 根据输入输出矩阵中的组合路径,我们可以得出测试用例:
1). 使用正确的输入注册用户
2). 注册用户时用户名输入为空
3). 注册用户时用户名输入以数字开头
4). 注册用户时用户名输入以特殊字符开头
5). 注册用户时用户名输入大于5位
6). 注册用户时密码输入为空
7). 注册用户时密码输入小于6位
8). 注册用户时密码输入大于10位
9). 注册用户时再次输入密码与前一次输入密码不同
以上分析只是介绍一种测试用例设计的思路, 功能相对简单, 但也适用于复杂功能的分析测试,希望对大家设计测试用例有益处. |
|