互联网金融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工具,该工具很牛叉,使用的是IPOG算法。通过该工具我们可以得到最优的25个用例,如下:
Relations:    
     
Test Case#项目类型期限单位还款方式道具
     
0XX贷到期还本付息coupon1
1projectC到期还本付息coupon2
2projectD到期还本付息coupon3
3XX宝到期还本付息coupon4
4XX贷到期还本付息coupon5
5projectC按月付息到期还本coupon1
6projectD按月付息到期还本coupon2
7XX宝按月付息到期还本coupon3
8XX贷按月付息到期还本coupon4
9projectC按月付息到期还本coupon5
10projectD月N日还息到期还本coupon1
11XX宝月N日还息到期还本coupon2
12XX贷月N日还息到期还本coupon3
13projectC月N日还息到期还本coupon4
14projectD月N日还息到期还本coupon5
15XX宝等额本息coupon1
16XX贷等额本息coupon2
17projectC等额本息coupon3
18projectD等额本息coupon4
19XX宝等额本息coupon5
20XX贷还款方式5coupon1
21projectC还款方式5coupon2
22projectD还款方式5coupon3
23XX宝还款方式5coupon4
24XX宝还款方式5coupon5
我们通过多种方式发布这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#项目类型期限单位还款方式道具客户测试结果
       
0XX贷到期还本付息coupon1甲子
1projectC到期还本付息coupon2乙丑
2projectD到期还本付息coupon3丙寅
3XX宝到期还本付息coupon4丁卯
4XX贷到期还本付息coupon5戊辰
5projectC按月付息到期还本coupon1己巳
6projectD按月付息到期还本coupon2庚午
7XX宝按月付息到期还本coupon3辛未
8XX贷按月付息到期还本coupon4壬申
9projectC按月付息到期还本coupon5癸酉
10projectD月N日还息到期还本coupon1甲戌
11XX宝月N日还息到期还本coupon2乙亥
12XX贷月N日还息到期还本coupon3丙子
13projectC月N日还息到期还本coupon4丁丑
14projectD月N日还息到期还本coupon5戊寅
15XX宝等额本息coupon1己卯
16XX贷等额本息coupon2庚辰
17projectC等额本息coupon3辛巳
18projectD等额本息coupon4壬午
19XX宝等额本息coupon5癸未
20XX贷还款方式5coupon1甲申
21projectC还款方式5coupon2乙酉
22projectD还款方式5coupon3丙戌
23XX宝还款方式5coupon4丁亥
24XX宝还款方式5coupon5戊子
这样的话,每一次发布,我们都可以做到覆盖这几个流程了
那么,剩下的就是还款和提现了。
还款通常要做成作业服务,当然测试环境还是得实现,不可能某个项目的期限是30天,要等到30天后才还款,所以还款的参数需要可控到还款日期(业务发生日期)和操作时间。
提现就更简单了。

 

转载于:https://www.cnblogs.com/yicaifeitian/p/4761263.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSGi将Maven与Equinox结合使用

很长时间以来,我一直在努力理解OSGi的真正含义。 它已经存在很长时间了,但是没有多少人意识到这一点。 人们已经大肆宣传它是一种非常复杂的技术。 这是我为所有Java开发人员简化的尝试。 简而言之, OSGi是一组规范,这些规范允许对…

Hadoop:简单介绍

什么是Hadoop: Hadoop是一种用Java编写的框架,用于在大型商品硬件集群上运行应用程序,并具有类似于Google File System和MapReduce的功能 。 HDFS是高度容错的分布式文件系统,与Hadoop一样,旨在部署在低成本硬件上。 它…

Javascript 异步编程的4种方法

你可能知道,Javascript语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一…

JAVA入门之方法

所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。 一般情况下,定义一个方法的语法是: 其中: 1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚…

JAVA运算符和优先级

1、算术运算符: 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同,如: ①int a5;int ba; #先把a赋给b,a再自增 ②int a5;int ba;   #a先…

将JSON功能添加到您的GWT应用程序中

JSON简介 在Web应用程序上工作时,总是会出现客户端-服务器数据交换的问题。 在此问题上有多种方法,其中许多使用XML进行交换。 执行此任务的一种不太知名的格式是JSON。 JSON(JavaScript对象表示法)是一种轻量级的数据交换格式。…

win10资源管理器怎么打开_让你效率倍增的电脑神器,最强资源管理器增强工具「QTTabBar」...

前言Windows 自带的资源管理器的功能比较简单,够用是够用了,但有时也确实无法满足我们对更便捷高效的操作方式的追求。「QTTabBar」正是一个非常强大的 Windows 资源管理器增强工具!不仅支持多标签页管理,还有许多便捷的扩展功能&…

android横向滑动选择的view

做文字编辑,从网上找来的。 HorizontalScrollSelectView: public boolean mAlwaysOverrideTouch true;protected ListAdapter mAdapter;private int mLeftViewIndex -1;private int mRightViewIndex 0;protected int mCurrentX;protected int mNextX;…

excel使用教程_数据分析Excel必备技能:数据透视表使用教程

江米小枣tonylua | 作者掘金 | 来源处理数量较大的数据时,一般分为数据获取、数据筛选,以及结果展示几个步骤。在 Excel 中,我们可以利用数据透视表(Pivot Table)方便快捷的实现这些工作。本文首先手把手的教你如何在 Excel 中手动构建一个基…

java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...

原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构、集群架构、分布式架构、SOA架构和微服务架构。下面玄武老师来给大家详细…

专2-第二课 Eclipse开发环境搭建

2.1下载Eclipse 2.2 安装C/C版本的Eclipse 2.3 安装JDT插件开发Java程序 2.4 使用Eclipse开发驱动程序 既然安装了eclipse来进行驱动学习,那么我们就先来试试看eclipse开发驱动的大致流程。这里以Linux设备驱动作为示列给读者展示整个流程,Android底层的…

tkinter 菜单添加事件_Tasker的最新测试劫持了Android 11的电源菜单

流行的Android自动化应用Tasker 最近收到了重大更新,为该应用引入了许多新功能。该更新包括解锁应用程序读取手机上任何传感器以触发任务的功能,使您可以通过任何第三方应用程序自动发送短信或拨打电话的功能,完全请勿打扰自定义功能。通过链…

CLR via C#(18)——Enum

1. Enum定义 枚举类型是经常用的一种“名称/值”的形式,例如: public enum FeedbackStatus { New, Processing, Verify, Closed } 定义枚举类型之后我们在使用时方便了许多,不用再记着0代表什么状态…

电力电子、电机控制系统的建模和仿真_清华团队研发,首款国产电力电子仿真软件来啦~已捐赠哈工大、海工大、清华使用!...

点击上方电气小青年,关注并星标由于微信改版,只有星标才能及时看到我们的消息哦━━━━━━推荐阅读:《膜拜大神!清华大学电机系2021年接收推荐免试直硕(博)生拟录取名单公示!》《滴滴程序员年薪80万被鄙视不如在二本…

可视化分析之图表选择

转载于:https://www.cnblogs.com/yymn/p/4783631.html

453. 最小操作次数使数组元素相等

给你一个长度为 n 的整数数组&#xff0c;每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 class Solution {public int minMoves(int[] nums) {int res 0;int sum 0;int n nums.length;for(int i 0;i<n;i){sum nums[i];}res sum - min…

第二章 TCP/IP 基础知识

第二章 TCP/IP 基础知识 TCP/IP transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的。 2.2 TCP/IP 的标准化 2.2.2 TCP/IP 标准化精髓 TCP/IP 协议始终具有很强的实用性。 相比于TCP/IP &#xff0c;OSI 之所以未能达到普及&#xff0…

gorm preload 搜索_LeetCode刷题笔记|95:不同的二叉搜索树 II

题目描述给定一个整数 n&#xff0c;生成所有由 1 ... n 为节点所组成的 二叉搜索树 。示例输入&#xff1a;3输出&#xff1a;[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释&#xff1a;以上的输出对应以下 5 种不同结构的二叉搜索树&#xf…

GTJ2018如何导出全部工程量_如何成为优秀的造价员?广联达编制内刊手册,造价员算量高手秘籍...

如何成为优秀的造价员&#xff1f;广联达编制内刊手册&#xff0c;造价员算量高手秘籍[高手秘籍]是广联达课程编制委员会暨直播委员会精心打造的&#xff0c;能够“让您深入理解软件计算、设置等原理,遇到问题有处理思路,以常见问题为导向&#xff0c;重点进行原因分析&#xf…

带有Spring,Hibernate,Akka,Twitter Bootstrap,Apache Tiles和jQuery的Maven Web项目Kickstarter代码库...

我很高兴将第二个项目上传到GitHub&#xff0c;以帮助人们尽快开始Java Web App开发。 我正在与Apache License 2.0共享此代码。 这是相同的网址&#xff1a; https://github.com/ykameshrao/spring-hibernate-springdata-springmvc-maven-project-framework 该项目包括以下部…