关于如何生成《模拟用户日志(登录登出)》的思考

一. 碎碎念

  实训当中,老师让生成50E条模拟日志,原本以为挺简单的事儿,但思考起来发觉思维十分的凌乱。

  然后,我以测试的角度去思考,发觉思路变得清晰了很多。

  暑期实习,想尝试几个月测试岗的,我觉得这会让我的弱项---详细分析和设计,得到很大的补充。

  我自觉抽象能力,和对于大趋势的认知能力不错,但涉及细节则毫无章法。

 

二. 问题

  如何去生成【有关用户登录登出的】模拟日志,用户总数为800W,生成数大致为5E条。

 

三. 问题分析

  ☆角色和问题本质:

    用户,时间,条目数;

    去除大部分约束后,就是这样的一个问题,你手上有红、绿、蓝......的小球,每个都有无限个。

    请你放到有xx格的盒子中,每个格子中,可以放无限多的各种球。

 

  ☆约束:

    1.用户的数目:800W;

    2.用户登录后,必须登出;

    3.时间需要有序,作为排序的key的角色;

    4.每个用户可以拥有多个时间点;

    5.每个时间点可以容纳多个用户;

    6.用户的登出1,需要比登录2早;

    7.条目数需要大致5E;

    8.条目数 = 时间点 * 时间点中的条目数 or 用户数 * 用户操作时间点。

    这样的解决,和软件测试的等价类划分+弱测试相当类似。

    这给了我一种思考的启迪,先思考事物本身,继而再思考事物间的联系,不止测试用例的设计。

 

  ☆算法设计

    1.首先要明白,最本质的关系就是落子模型,把棋子散落到棋盘格子中。这是我暂时想到的乘法的意义;

    2.次之考虑一个时间格子中,可以容纳几个用户。用随机?用固定?直接1对1;

    3.然后考虑用户自身的制约,登入必须登出;

     4.最后考虑边界限制,用户登入登出的时间差。

    考虑方向:本身的边界,相互关系(主要),特殊制约。

  

  ☆映射

    那么?要怎么组织这些数据呢?一条一条生成,然后立刻写,明显会因I/O问题,极为抵消。

    所以基本都会想到,block形式地写到磁盘。

    时间在这里,就优势明显了,足够大,可以映射为数组的下标。

    而用户数,需要用到链表+数组的组织形式。

    当然,也有不用考虑如何去映射到物理储存上的情况。

 

转载于:https://www.cnblogs.com/rachelint/p/9194310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值