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

        互联网金融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算法(当然也有其他替代的工具,如allpairsPICT)。通过该工具我们可以得到最优的25个用例,如下:
Relations:        
         
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天后才还款,所以还款的参数需要可控到还款日期(业务发生日期)和操作时间。
           提现就更简单了。

 

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