互联网金融P2P主业务场景自动化测试

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

image

 

        我的想法是做成生产者-消费者模式,类似一个生态系统,将不会对测试环境造成不良影响。
        假设发标仅受这些输入参数的影响:
Parameters:
 
项目类型
 
[XX宝, XX贷, projectC, projectD]
 
期限单位
 
[天, 月]
 
还款方式
 
[到期还本付息, 按月付息到期还本, 月N日还息到期还本, 等额本息, 还款方式5]
 
道具
 
[满减券, 加息券, 代金券, 体验金券, 新手专享券]
 
          下面我们先设计一下发标自动化测试用例吧:
          如果考虑以上四个参数的各种组合影响,使用穷举法。将会有4*2*5*5=200。呵呵,如果是手工做功能测试的话,单是发200个标也要耗费不少的时间。
          当然我们是理性的人,不是人傻时间多。我们可以使用ACTS工具,该工具很牛叉是NIST研究的产物,使用的是IPOG算法(当然也有其他替代的工具,如allpairsPICT)。通过该工具我们可以得到最优的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 新手专享券 戊子
          这样的话,每一次发布,我们都可以做到覆盖这几个流程了

image

 

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

 

posted @ 2015-08-26 18:00  异彩飞天  阅读(2035)  评论(7)    收藏  举报