互联网金融P2P行业,近三年来发展迅速,如火如荼。
据不完全统计,全国有3000+的企业。
“互联网+”企业,几乎每天都会碰到一些奇奇怪怪的bug,作为在互联网企业工作的测试人员,风险和压力都巨大。那么我们如何降低风险呢?
P2P主要的业务场景概括地说有6个,请看下图:
我的想法是做成生产者-消费者模式,类似一个生态系统,将不会对测试环境造成不良影响。
假设发标仅受这些输入参数的影响:
Parameters:
项目类型
[XX宝, XX贷, projectC, projectD]
期限单位
[天, 月]
还款方式
[到期还本付息, 按月付息到期还本, 月N日还息到期还本, 等额本息, 还款方式5]
道具
[coupon1, coupon2, coupon3, coupon4, coupon5]
下面我们先设计一下发标自动化测试用例吧:
如果考虑以上四个参数的各种组合影响,使用穷举法。将会有4*2*5*5=200。呵呵,如果是手工做功能测试的话,单是发200个标也要耗费不少的时间。
当然我们是理性的人,不是人傻时间多。我们可以使用ACTS工具,该工具很牛叉是NIST研究的产物,使用的是IPOG算法(当然也有其他替代的工具,如allpairs,PICT)。通过该工具我们可以得到最优的25个用例,如下:
elations: | ||||
Test Case# | 项目类型 | 期限单位 | 还款方式 | 道具 |
0 | XX贷 | 月 | 到期还本付息 | coupon1 |
1 | projectC | 天 | 到期还本付息 | coupon2 |
2 | projectD | 月 | 到期还本付息 | coupon3 |
3 | XX宝 | 天 | 到期还本付息 | coupon4 |
4 | XX贷 | 天 | 到期还本付息 | coupon5 |
5 | projectC | 月 | 按月付息到期还本 | coupon1 |
6 | projectD | 天 | 按月付息到期还本 | coupon2 |
7 | XX宝 | 月 | 按月付息到期还本 | coupon3 |
8 | XX贷 | 月 | 按月付息到期还本 | coupon4 |
9 | projectC | 月 | 按月付息到期还本 | coupon5 |
10 | projectD | 天 | 月N日还息到期还本 | coupon1 |
11 | XX宝 | 月 | 月N日还息到期还本 | coupon2 |
12 | XX贷 | 天 | 月N日还息到期还本 | coupon3 |
13 | projectC | 月 | 月N日还息到期还本 | coupon4 |
14 | projectD | 月 | 月N日还息到期还本 | coupon5 |
15 | XX宝 | 天 | 等额本息 | coupon1 |
16 | XX贷 | 月 | 等额本息 | coupon2 |
17 | projectC | 天 | 等额本息 | coupon3 |
18 | projectD | 月 | 等额本息 | coupon4 |
19 | XX宝 | 月 | 等额本息 | coupon5 |
20 | XX贷 | 天 | 还款方式5 | coupon1 |
21 | projectC | 月 | 还款方式5 | coupon2 |
22 | projectD | 天 | 还款方式5 | coupon3 |
23 | XX宝 | 月 | 还款方式5 | coupon4 |
24 | XX宝 | 月 | 还款方式5 | coupon5 |
我们通过多种方式发布这25个项目,如果是在ui上,建议使用selenium,将这25个项目信息录入到csv。测试脚本读取csv,可以每日不停的发项目,发布后记录下项目id。现在生产者有了,是时候考虑消费者了。如果生产者生产出来的是项目,那么消费者就是我们的投资客户。
为了更好的一一对应,我们就制造出25个投资客户。步骤是:
注册->绑定邮箱->实名认证->充值-》发放道具
准备数据的过程也很简单。
客户 | 道具 |
甲子 | coupon1 |
乙丑 | coupon2 |
丙寅 | coupon3 |
丁卯 | coupon4 |
戊辰 | coupon5 |
己巳 | coupon1 |
庚午 | coupon2 |
辛未 | coupon3 |
壬申 | coupon4 |
癸酉 | coupon5 |
甲戌 | coupon1 |
乙亥 | coupon2 |
丙子 | coupon3 |
丁丑 | coupon4 |
戊寅 | coupon5 |
己卯 | coupon1 |
庚辰 | coupon2 |
辛巳 | coupon3 |
壬午 | coupon4 |
癸未 | coupon5 |
甲申 | coupon1 |
乙酉 | coupon2 |
丙戌 | coupon3 |
丁亥 | coupon4 |
戊子 | coupon5 |
最后,这25个投资用户与25个项目对号入座,意思就是用户甲子使用道具投资XX贷的这个项目,过程中我们将检验各种流水,得出一个这样的测试结果:
TestResult Case# | 项目类型 | 期限单位 | 还款方式 | 道具 | 客户 | 测试结果 |
0 | XX贷 | 月 | 到期还本付息 | coupon1 | 甲子 | √ |
1 | projectC | 天 | 到期还本付息 | coupon2 | 乙丑 | √ |
2 | projectD | 月 | 到期还本付息 | coupon3 | 丙寅 | √ |
3 | XX宝 | 天 | 到期还本付息 | coupon4 | 丁卯 | √ |
4 | XX贷 | 天 | 到期还本付息 | coupon5 | 戊辰 | √ |
5 | projectC | 月 | 按月付息到期还本 | coupon1 | 己巳 | √ |
6 | projectD | 天 | 按月付息到期还本 | coupon2 | 庚午 | √ |
7 | XX宝 | 月 | 按月付息到期还本 | coupon3 | 辛未 | √ |
8 | XX贷 | 月 | 按月付息到期还本 | coupon4 | 壬申 | √ |
9 | projectC | 月 | 按月付息到期还本 | coupon5 | 癸酉 | √ |
10 | projectD | 天 | 月N日还息到期还本 | coupon1 | 甲戌 | √ |
11 | XX宝 | 月 | 月N日还息到期还本 | coupon2 | 乙亥 | √ |
12 | XX贷 | 天 | 月N日还息到期还本 | coupon3 | 丙子 | √ |
13 | projectC | 月 | 月N日还息到期还本 | coupon4 | 丁丑 | √ |
14 | projectD | 月 | 月N日还息到期还本 | coupon5 | 戊寅 | √ |
15 | XX宝 | 天 | 等额本息 | coupon1 | 己卯 | √ |
16 | XX贷 | 月 | 等额本息 | coupon2 | 庚辰 | √ |
17 | projectC | 天 | 等额本息 | coupon3 | 辛巳 | √ |
18 | projectD | 月 | 等额本息 | coupon4 | 壬午 | √ |
19 | XX宝 | 月 | 等额本息 | coupon5 | 癸未 | √ |
20 | XX贷 | 天 | 还款方式5 | coupon1 | 甲申 | √ |
21 | projectC | 月 | 还款方式5 | coupon2 | 乙酉 | √ |
22 | projectD | 天 | 还款方式5 | coupon3 | 丙戌 | √ |
23 | XX宝 | 月 | 还款方式5 | coupon4 | 丁亥 | √ |
24 | XX宝 | 月 | 还款方式5 | coupon5 | 戊子 | √ |
这样的话,每一次发布,我们都可以做到覆盖这几个流程了
那么,剩下的就是还款和提现了。
还款通常要做成作业服务,当然测试环境还是得实现,不可能某个项目的期限是30天,要等到30天后才还款,所以还款的参数需要可控到还款日期(业务发生日期)和操作时间。
提现就更简单了。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!