项目开发经验

ops/2024/9/23 20:21:56/

1.背景

在准备开发一个项目或者项目中的一个模块的时候,除了系统本身的设计,还有一个非常重要的设计
测试的设计或者说生成模拟数据的设计也是非常重要的,否则在开发中去手动配置数据是非常耗时麻烦的,而且也不准确

2.场景假设

假设项目组要开发一个类似某宝的电商系统,
主要应用有:
微信小程序端,即用户端
后端管理系统,即运营端
三方产品获取服务,即拉取供货商的产品的服务
发货服务
查询服务
订单同步服务
等等....

假设你负责开发微信小程序端的个人中心
大体需要开发如下接口:
1.获取微信openid
2.查询用户信息
3.查询订单

在开发的时候你会发现数据库的数据都是空的,你很难验证你写的接口是否正确,
如果前端对接你的接口时,发现获取到的订单接口数据全是空的,也不方便开发调整界面样式
通常查询出来的订单列表,还有点击列表查看订单详情数据,如果列表数据都是返回空,那么详情页面就更加不方便开发

通常的做法是我们自己在数据去配置几条订单数据,
配置了订单数据后你会发现订单通常是和产品关联查询的,结果你又要去配置产品数据...
产品通常与分类,品牌等数据关联.......
最终你会发现...配置一条完整的订单数据需要很长时间,而且有时候前后还不一致,
比如:订单上你配置的订单金额是100,而产品上配置的确是90,支付流水记录上配置的是80....
后面做统计报表的时候你会发现很多地方数据都有问题,你就会疑问到底是代码有bug呢,还是数据配置的问题呢?


如果是对接的购买功能就更麻烦了,每次测试要么你把产品价格修改为0.01实际完成支付,把流程走完
要么你就要去改数据库的支付状态等.....

还有就是通常一个项目有多人开发,就有很多人去数据库配置数据,有时候别人配置的数据会影响到你的数据,
开发接口的时候查询数据还是好好的,前端一对接就出问题,你急忙的查看日志半天,结果才发现是数据库数据的问题...
更有甚者,你好不容易配置好的数据突然就被其他人误删了......这时候你的老毛病都要急翻...

总之,要弄一个完整的业务流程,你会感觉非常痛苦,而且非常耗时....时间都花在配置数据上了;

3.模拟数据设计

那么这个我们在设计项目或在开发的时候,就必须思考:

如何模拟批量的生成产品?

如何自动下单,生成订单?

如何配置模拟支付模块?

如何模拟支付通知?

如何模拟发货物流?

....

等等

这些都是很重且必要的

欢迎大家在评论区留言,说说你们在实际开发中模拟数据怎么来的,或者说测试环境数据怎么来的?

完美!
 


http://www.ppmy.cn/ops/87667.html

相关文章

2024年人工智能顶级会议投稿信息汇总(数据挖掘领域)

数据挖掘是信息科学领域的重要分支,致力于挖掘和分析庞大数据集中的有价值模式与规律。它融合了统计学、机器学习和数据库技术,目的是从海量数据中抽取有用的知识,辅助决策制定过程。本文首先精选介绍数据挖掘领域内的重要会议,包…

从分散到整合,细说比特币发展史

原文标题:《Layered Bitcoin》 撰文:Saurabh Deshpande 编译:Chris,Techub News 古往今来,货币在社会中都具有三个关键的功能:财富的储存手段、交换媒介和计量单位。虽然货币的形式在不断变化&#xff0c…

CSS雷达光波效果(前端雷达光波效果)

前言 CSS雷达光波效果是一种视觉动画效果,常用于模仿雷达扫描或检测的视觉反馈。这种效果通常涉及到动态的圆形或弧形图案,它们从一个中心点向外扩散,类似于水面上的涟漪或雷达扫描线。以下是创建CSS雷达光波效果的一些关键技术和步骤&#…

https执行过程,特点,作用

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…

[Linux安全运维] Nginx安装部署以及LNMP框架搭建保姆级教程

前言 LNMP:Linux 系统下 NginxMySQLPHP 网站服务器架构。因为四种软件均是免费开源网站,所有这是一个免费、高效的网站服务系统。 本章主要介绍的是Nginx相关的环境部署,以及LNMP框架的搭建,Nginx知识点介绍在文章:[…

关于Unity四种合批技术详解

文章目录 一.静态合批(StaticBatching)1.启用静态合批2.举例说明3.静态合批的限制4.静态合批的优点缺点5.动态指定物品合批 二.动态合批(Dynamic Batching)1.启用动态合批2.合批规则3.举例说明4.使用限制 三.GPU Instancing1.启用GPU Instancing2.启用限制3.举例说明 四.SRP Ba…

C#实现数据采集系统-Mqtt实现采集数据转发

在数据采集系统中,通过ModbusTcp采集到数据之后,再通过MQTT转发到其他应用 MQTT操作 安装MQTT mqtt介绍和环境安装 使用MQTT 在C#/Net中使用Mqtt MQTT类封装 MQTT配置类 public class MqttConfig{public string Ip {get; set;

<设计模式> 工厂模式

工厂模式 模式介绍:将对象的创建过程封装在工厂类中,客户端代码只需要关心从工厂获取对象的过程,而不需要了解对象的创建细节。这样做的好处包括提高了代码的灵活性和可扩展性,降低了对象之间的耦合度。主要解决接口选择的问题。…