|
请求合法性测试用例设计 合法性测试的目的,是要确保所有的非法的情形下都能正确地工作。合法性用例设计的关键,是要发挥创造力,找出所有的非法值。注意,是非法值而不是合法值。如果请求合法性测试是黄药师的碧海潮生曲,那么,找出所有非法值就是郭靖的鼓点——要把每一个点都敲在“反节奏”上。背后的逻辑是:扛的住所有“反节奏”的鼓点方显碧海潮生曲的功力!才可能是靠谱的系统服务。
在值域定义清楚以后,非法请求的测试用例设计就很容易了。仍以券产品创建请求的pid、useScene和fundAccounts参数为例分析如下: 请求参数 | 存储约束 | 业务约束 | 值域 | 非法值用例 | pid | - nullable:NO。所以pid为必填。
- varcher(16)。所以pid字符串长度不能超过16。
| 无 | 长度不超16的、非空的字符串。 | | useScene | - nullable:NO。所以pid为必填。
- varchar(8)。所以useScene字符串长度不能超过8。
| 业务定useScene为2种: - “ORDER”(订单券)
- “PAY”(支付券)两种。
| 2个字符串构成的集合:{“ORDER”, “PAY”} | - null
- 空串
- 非空串且长度为9
- 非空串且值为“INV”
| fundAccounts | - nullable:NO。所以fundAccounts为必填。
- varchar(1024)。所以fundAccounts字符串长度不能超过1024。
| 业务定义fundAccounts为保证金账号列表。 | 一个或多个保证金账号构成的列表,并且整个列表字符串最终的长度不能超过1024。 | - null
- 空列表 Collections.EMPT Y_LIST对象
- 2个保证金账号构成的列表,并且每个
- 保证金账号字符串的长度均为513
|
设计出正交的非法值用例,就可以将它们配置到非法值列表中,利用OrthotropicRequestTestBase进行自动化测试及回归了。
|