互联网金融P2P主业务场景自动化测试
互联网金融P2P行业,近三年来发展迅速,如火如荼。
据不完全统计,全国有3000+的企业。
“互联网+”企业,几乎每天都会碰到一些奇奇怪怪的bug,作为在互联网企业工作的测试人员,风险和压力都巨大。那么我们如何降低风险呢?
P2P主要的业务场景概括地说有6个,请看下图:

我的想法是做成生产者-消费者模式,类似一个生态系统,将不会对测试环境造成不良影响。
假设发标仅受这些输入参数的影响:
Parameters:
项目类型[XX宝, XX贷, projectC, projectD]期限单位[天, 月]还款方式[到期还本付息, 按月付息到期还本, 月N日还息到期还本, 等额本息, 还款方式5]道具[满减券, 加息券, 代金券, 体验金券, 新手专享券]
下面我们先设计一下发标自动化测试用例吧:
如果考虑以上四个参数的各种组合影响,使用穷举法。将会有4*2*5*5=200。呵呵,如果是手工做功能测试的话,单是发200个标也要耗费不少的时间。
当然我们是理性的人,不是人傻时间多。我们可以使用ACTS工具,该工具很牛叉是NIST研究的产物,使用的是IPOG算法(当然也有其他替代的工具,如allpairs,PICT)。通过该工具我们可以得到最优的25个用例,如下:
Relations: Test Case# 项目类型 期限单位 还款方式 道具 0 XX贷 月 到期还本付息 满减券 1 projectC 天 到期还本付息 加息券 2 projectD 月 到期还本付息 代金券 3 XX宝 天 到期还本付息 体验金券 4 XX贷 天 到期还本付息 新手专享券 5 projectC 月 按月付息到期还本 满减券 6 projectD 天 按月付息到期还本 加息券 7 XX宝 月 按月付息到期还本 代金券 8 XX贷 月 按月付息到期还本 体验金券 9 projectC 月 按月付息到期还本 新手专享券 10 projectD 天 月N日还息到期还本 满减券 11 XX宝 月 月N日还息到期还本 加息券 12 XX贷 天 月N日还息到期还本 代金券 13 projectC 月 月N日还息到期还本 体验金券 14 projectD 月 月N日还息到期还本 新手专享券 15 XX宝 天 等额本息 满减券 16 XX贷 月 等额本息 加息券 17 projectC 天 等额本息 代金券 18 projectD 月 等额本息 体验金券 19 XX宝 月 等额本息 新手专享券 20 XX贷 天 还款方式5 满减券 21 projectC 月 还款方式5 加息券 22 projectD 天 还款方式5 代金券 23 XX宝 月 还款方式5 体验金券 24 XX宝 月 还款方式5 新手专享券 我们通过多种方式发布这25个项目,如果是在ui上,建议使用selenium,将这25个项目信息录入到csv。测试脚本读取csv,可以每日不停的发项目,发布后记录下项目id。现在生产者有了,是时候考虑消费者了。如果生产者生产出来的是项目,那么消费者就是我们的投资客户。
为了更好的一一对应,我们就制造出25个投资客户。步骤是:
注册->绑定邮箱->实名认证->充值-》发放道具
准备数据的过程也很简单。
客户 道具 甲子 满减券 乙丑 加息券 丙寅 代金券 丁卯 体验金券 戊辰 新手专享券 己巳 满减券 庚午 加息券 辛未 代金券 壬申 体验金券 癸酉 新手专享券 甲戌 满减券 乙亥 加息券 丙子 代金券 丁丑 体验金券 戊寅 新手专享券 己卯 满减券 庚辰 加息券 辛巳 代金券 壬午 体验金券 癸未 新手专享券 甲申 满减券 乙酉 加息券 丙戌 代金券 丁亥 体验金券 戊子 新手专享券
最后,这25个投资用户与25个项目对号入座,意思就是用户甲子使用道具投资XX贷的这个项目,过程中我们将检验各种流水,得出一个这样的测试结果:
TestResult Case# 项目类型 期限单位 还款方式 道具 客户 测试结果 0 XX贷 月 到期还本付息 满减券 甲子 √ 1 projectC 天 到期还本付息 加息券 乙丑 √ 2 projectD 月 到期还本付息 代金券 丙寅 √ 3 XX宝 天 到期还本付息 体验金券 丁卯 √ 4 XX贷 天 到期还本付息 新手专享券 戊辰 √ 5 projectC 月 按月付息到期还本 满减券 己巳 √ 6 projectD 天 按月付息到期还本 加息券 庚午 √ 7 XX宝 月 按月付息到期还本 代金券 辛未 √ 8 XX贷 月 按月付息到期还本 体验金券 壬申 √ 9 projectC 月 按月付息到期还本 新手专享券 癸酉 √ 10 projectD 天 月N日还息到期还本 满减券 甲戌 √ 11 XX宝 月 月N日还息到期还本 加息券 乙亥 √ 12 XX贷 天 月N日还息到期还本 代金券 丙子 √ 13 projectC 月 月N日还息到期还本 体验金券 丁丑 √ 14 projectD 月 月N日还息到期还本 新手专享券 戊寅 √ 15 XX宝 天 等额本息 满减券 己卯 √ 16 XX贷 月 等额本息 加息券 庚辰 √ 17 projectC 天 等额本息 代金券 辛巳 √ 18 projectD 月 等额本息 体验金券 壬午 √ 19 XX宝 月 等额本息 新手专享券 癸未 √ 20 XX贷 天 还款方式5 满减券 甲申 √ 21 projectC 月 还款方式5 加息券 乙酉 √ 22 projectD 天 还款方式5 代金券 丙戌 √ 23 XX宝 月 还款方式5 体验金券 丁亥 √ 24 XX宝 月 还款方式5 新手专享券 戊子 √
这样的话,每一次发布,我们都可以做到覆盖这几个流程了

那么,剩下的就是还款和提现了。
还款通常要做成作业服务,当然测试环境还是得实现,不可能某个项目的期限是30天,要等到30天后才还款,所以还款的参数需要可控到还款日期(业务发生日期)和操作时间。
提现就更简单了。

浙公网安备 33010602011771号