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

news2024/11/23 12:41:03

互联网金融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个用例,如下:
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天后才还款,所以还款的参数需要可控到还款日期(业务发生日期)和操作时间。

提现就更简单了。

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

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

相关文章

学习c#的第九天

目录 C# 可空类型(Nullable) C# 可空类型(Nullable) Null 合并运算符( ?? ) C# 数组(Array) 一维数组 声明及初始化赋值数组 多维数组 声明和初始化多维数组 访问和操作多…

【备忘】在Nginx服务器安装SSL证书

您可以在Nginx或Tengine服务器上安装SSL证书,实现通过HTTPS安全访问Web服务器。本文介绍如何为Nginx或Tengine服务器安装SSL证书。 重要 本文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例介绍。不同版本的操作系统或Web服务器,部署操作可能有所差异&a…

<MySQL> MySQL中查询(retrieve)数据的基础操作

目录 一、查询(retrieve) 1.1 查询数据的方式概述 二、全列查询 2.1 语法 2.2 操作演示 2.3 全列查询需要慎重使用 三、指定列查询 3.1 语法 3.2 操作演示 四、表达式查询 4.1 语法 4.2 操作演示 4.3 null 参与表达式计算 4.3 表达式查询存…

2023前端流行的新技术

作为2023年之前的技术水平有限,以下是一些目前为止较为热门的前端开发技术和趋势,这些技术可能在2023年之前进一步发展和普及。 前端程序员可以考虑学习和掌握以下技术: 1.Vue 3和React Hooks:Vue.js和React是目前最受欢迎的JavaS…

Layer 2 真的为以太坊扩容了吗?

构建一个安全、对用户友好的去中心化网络的愿景,依赖于关键基础设施的发展。这个愿景由一个共享的经济框架支持,得到了亿万人的拥护。Layer 2 的扩展解决方案在构建这一基础和增强以太坊的能力方面起着至关重要的作用。这些项目相互协作,形成…

抢疯了!OpenAI开出1000万美元天价年薪 北大AI博士未毕业拿百万offer

图片 抢疯了,抢疯了!OpenAI和谷歌的抢人大战,已经进入白热化。 OpenAI给谷歌员工抛出了终极诱惑——500万到1000万美元的年薪!以及来自微软的用不完的算力! 图片 这不,谷歌复仇神器Gemini模型的关键研究…

【python】Django——django简介、django安装、创建项目、快速上手

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ Django基础——django安装、创建django项目、django快速上手 django简介django安装1. conda创建环境pydjango2. pip安装django3. django目录 创建项目1. 打开终端(cmd)2. 进入某个目录3.创建项目命令4.django项目…

网络问题导致pycharm无法提交代码到代码仓库

现象 ssh: Could not resolve hostname github.com: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 原因及解决办法 可能不是自己权限有问题,而是…

网站定制开发的流程|软件app小程序开发定制

网站定制开发的流程|软件app小程序开发定制 网站定制开发是一个为个体或企业创建定制化网站的过程。它涉及到规划、设计、开发和测试等一系列步骤,以满足客户的需求和目标。下面是网站定制开发的基本流程。 1. 需求分析:首先,与客户沟通并了解…

Qt高级--(1)自定义导航栏

好久没有水博客,参考别人的写一个自定义的导航栏吧。用处挺多的,可以用来切换到不同的信息显示界面。 功能点 1.默认情况下,文字居中显示,不显示图标,不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

k8s系列文章二:集群配置

一、关闭交换分区 # 临时关闭分区 swapoff -a # 永久\关闭自动挂载swap分区 sudo sed -i / swap / s/^\(.*\)$/#\1/g /etc/fstab 二、修改cgroup管理器 ubuntu 系统,debian 系统,centos7 系统,都是使用 systemd 初始化系统的。systemd 这边…

行业追踪,2023-11-13

自动复盘 2023-11-13 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

CSRF 漏洞详解

CSRF 漏洞详解 漏洞描述 CSRF(Cross-Site Request Forgery)漏洞是一种Web应用程序安全漏洞,它允许攻击者利用受害者的已认证会话来执行未经授权的恶意操作。攻击者可以诱使受害者在受害者已经登录的情况下,通过社交工程或其他方…

前端中 JS 发起的请求可以暂停吗?

给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 这个问题非常有意思,我一看到就想了很多可以回复的答案,但是评论区太窄,就直接开…

MTK手机平台充电原理

EPT GPIO初始化文件 bsp_gpio_ept_config.c 1 知识点总结 1.1 Official 参考充电电路 Figure 1-1 参考电路 VCHG:USB正极 VCDT:VCHG Charger Detect充电电压检测脚 ISENSE:充电电流检测电阻的正极 BATSNS:充电电流检测电阻的负极 …

VMware配置NAT模式网络

一、选择VMWare的NAT模式。 1)导航栏“编辑”->“虚拟网络编辑器” ->NAT模式->NAT设置 记住NAT设置中的子网IP、子网掩码、网关IP三项,接下来配置文件主要是这三项。 嗯,这里记得按确定,我之前没有按确定写好配置后还…

c++-哈希

文章目录 前言一、unordered系列关联式容器1、unordered_map2、性能测试 二、哈希1、哈希概念2、哈希冲突3、哈希冲突解决3.1 闭散列3.2 开散列3.3 字符串Hash函数3.4 哈希桶实现的哈希表的效率 三、哈希表封装unordered_map和unordered_set容器1、unordered_map和unordered_se…

【PG】PostgreSQL 预写日志(WAL)、checkpoint、LSN

目录 预写式日志(WAL) WAL概念 WAL的作用 WAL日志存放路径 WAL日志文件数量 WAL日志文件存储形式 WAL日志文件命名 WAL内容 检查点(checkpoint) 1 检查点概念 2 检查点作用 触发检查点 触发检查点之后数据库操作 设置合…

擎创动态 | 再获上海区政府肯定,擎创科技被评为年度优秀高新技术企业

11月6日,上海市静安区副区长张慧和市北高新集团总裁陈军一行来到擎创科技调研指导,由擎创科技高管张健和陈莹陪同交流。 陈莹女士首先向副区长一行详细介绍了擎创科技的发展现状、落地实践效益以及未来的规划布局。在公司的成长过程中,得到静…

安卓现代化开发系列——从状态保存到SavedState

由于安卓已经诞生快二十载,其最初的开发思想与现代的开发思想已经大相径庭,特别是Jetpack库诞生之后,项目中存在着新老思想混杂的情况,让许多的新手老手都措手不及,项目大步向屎山迈进。为了解决这个问题,开…