功能测试(FVT:Function Verification Test)测试用例设计
功能测试测试用例的设计是测试人员基本的工作之一,如何设计出准确有效的测试用例也一直是大家讨论的话题。这里介绍一下我们工作中所使用的设计方法,供大家参考。从用户的角度出发,根据用户的可能输入路径考虑相应用例覆盖。举例一个简单的注册功能:
http://p.blog.csdn.net/images/p_blog_csdn_net/chinaren0001/EntryImages/20081005/Join633588026796458750.JPG
要求:
a. 用户名是以字母开头的小于或等于5位的字符串
b. 密码为大于或等于6位且小于或等于10位的字符串
要对这一功能进行测试,我们按照以下流程来进行分析:
1. Use Case 图
http://p.blog.csdn.net/images/p_blog_csdn_net/chinaren0001/EntryImages/20081005/UseCase.JPG
此注册功能包括三个输入参数: 用户名, 密码, 再次输入密码.
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). 注册用户时再次输入密码与前一次输入密码不同
以上分析只是介绍一种测试用例设计的思路, 功能相对简单, 但也适用于复杂功能的分析测试,希望对大家设计测试用例有益处. 谢谢楼主科普
页:
[1]