【发布时间】:2012-07-22 01:06:01
【问题描述】:
所以,我有一个想法。
假设您有一个经典应用程序,它由几类用户和他们使用的一些数据组成。假设它是乘客、司机和调度员(如出租车)。乘客创建订单,调度员将订单分配给司机,司机正在执行订单,乘客写关于司机的评论,调度员在他们的调度方案中使用这些评论等等。
假设您有这样一个系统,其中包含几十名调度员、几百名司机和数千名乘客。
随着时间的推移,新的调度员被聘用,其中一些人被解雇,司机来来往往,而且一如既往地有忠实客户和新客户。
那么,我的问题是——如何模拟这样的系统?我想要一个工具,让我可以使用我当前的 django 应用程序、它的模型和方法,并用不同模式创建的用户、数据和操作填充它。
我认为它像一个独立的框架(有点像 unittest 框架和数据生成框架),可以将自己附加到任何应用程序,为用户描述模式,然后以连续的方式运行它。
它可能对以下有用:
- 更好的产品逻辑测试
- 模拟现实生活中的实验(“如果有司机,他搞砸了很多订单”)
- 更智能的负载测试系统(真正测试现实生活场景,包括“whatif”情况)
- 创建逼真的数据来测试统计软件
是否有任何预先存在的解决方案?如果我决定创建一个,您对我有什么建议吗?
【问题讨论】:
-
为什么不在单元测试框架内这样做?
-
因为单元测试是非持久性的。 “模拟”意味着持续运行它,保存正在创建的数据并监控系统如何演变。例如,经过一段时间的模拟(当然是加快了),您可能会看到您的数据库大小(或 sql 查询的数量)呈指数增长并考虑进行优化。
-
对于处理现实世界实体的 django 应用程序来说,这是一个很好的问题。我想做一些非常相似的事情。我看到你在这里没有选择的答案 - 你有没有得到任何地方?我对你学到的东西很感兴趣。
-
不,我没有。我仍然认为这是一个好主意。回顾我在那个项目(这是一个非常大的现实世界系统)中的经验,拥有这样的游乐场将非常有用。
标签: python django testing statistics simulation