LEN

2017年10月 工作总结
近日来一直在开发线上活动.活动氛围3大阶段 持续一月时间.第一阶段已进行4天,改动需求已2次.市场做的活动未经产品...
扫描右侧二维码阅读全文
31
2017/10

2017年10月 工作总结

近日来一直在开发线上活动.
活动氛围3大阶段 持续一月时间.
第一阶段已进行4天,改动需求已2次.

  1. 市场做的活动未经产品确定, 临时更改程序逻辑, 上前线两小时测试完毕. 线上活动稳定, 无异常.
  2. 因活动效果未达到市场预期, 临时变更需求. 活动第二天开发并测试至次日凌晨1点. 次日活动开始前两小时测试完毕. 线上活动稳定. 但测试环境与线上环境时间周期不同导致. 脚本晚执行两分钟. 第一轮脚本失败, 手动修改线上脚本配置后脚本统计无异常, 修改crontab 计划时间. 次日活动统计中观察无问题.

活动中需要注意的问题.
因活动用户增长原因. 服务器统计结算时间延长, 我负责统计的部分需要服务器的统计原数据. 如果用户量上升, 服务器未统计完我脚本就统计会导致数据不一致. 目前服务器统计时间在 15分钟 统计5w家族的数据. 日后用户量激增应该适当调整统计执行时间.

写下开发中的坑:
活动名称: 智霸天下
活动介绍:

答题类游戏, 实时计算用户答题分数, 以玩家家族为阵营参与活动. 活动分为 预选赛. 小组淘汰赛. 16强淘汰赛.
预选赛分为三轮 : 1.  15000积分晋级  2. 24000积分晋级  3. 累计积分排名前160晋级 每轮5天时间 2天休息.

第一版:

第一次开发线上活动, 缺乏测试经验!  设计redis key 都是已天为单位. (格式化日期) . 配置中分别存储每轮的开始时间结束时间; 每天准时20点开始答题. 21点前给出统计数据并展示排行榜

例 :
[

1 => [20171019, 20171023],
2 => [20171025, 20171029],
3 => [20171101, 20171105]

]
设计初衷想要做到一项配置接下来通用使用.
但测试问题很大, 测试不可能以天为单位进行测试,

第二版:
经过沟通协商将活动间隔以秒为单位配置. 由于天换成秒. 开发的难度和维护难度也增加了.
需要考虑到测试问题.也很多因为负责web页面数据接口及积分统计. 相关需求很杂. 但又都需要根据活动周期进行调整, 线上线下改动还是很大的.
因为时间维度改变. 专门写了个方法计算当前轮次. 并为了兼容接下来的分组赛能够复用代码. 我们在redis key 上加入组的概念.
配置真心残不人睹.
配置是通过当前时间戳自己计算所处轮数轮数第几场等等. 诶.. 代码越复杂, 上线后心里越没底.
但如果在配置中大量采用写死的配置. 测试中光是来回该配置. 工作量都不会小. 因为内网环境相对外网十分恶劣. 但凡一点问题出现至少一轮 1个小时都报废.
我们一天测试时从21点测试至凌晨1点, 仅顺利走下第一轮. 测试最初目的是测试完预选赛三轮的.
测试中因为大家都赶时间决定设置 半小时一天 第一轮测试两天. 但是中间出现问题半小时中留给修改程序的时间也就10分钟, 没有解决就要马上重头来过.

第三版:
第三版是在天的基础上加入多场. 这个需求直接影响我们redis key 的设计. 幸运的是并不需要重新灌入数据. 次日活动开始两小时前完成测试.
前两天统计脚本无异常, 但改完版后, 第一场数据统计失败. 手动修改线上配置. 完成统计. 之后查找原因是脚本执行时已经到了下一场的预热时间, 场ID 已自动切换.
找到原因将crontab 提前2分钟执行 次日活动统计无异常.

这几天代码改动很大. 分析原因.

  1. 代码不健壮. 没有考虑市场和产品可能提出的改动.
  2. 没考虑测试的需要.

感觉这次开发写的活动代码不易于复用. 当前代码也仅是试用与头两轮活动使用。

20171107 续写

智霸天下 活动 马上就要接近尾声, 但开发还未终止。 在开发过程中不断发现需要改动。 我个人对于逻辑和业务上的不严谨, 对测试人员测试造成很大障碍。 往往都是一轮侧着发现bug 后马上在测下轮中修改。
代码上线也十分不规范。 最近公司让全面接入禅道 , 虽然开发上更加正规, 但也给上线带来更多的限制。

最近测试发现问题不少, 总结原因就是自己写的代码质量不过, 往往都是发现bug 现去追踪, 并做不到自我测试功能。 一些测试数据实际上可以通过自己手动批量写入假数据得出。 但自己也是太懒了。 这样十分不好。
可能用一上午时间写个自动录分脚本。 会对测试进度有所帮助。

说些琐碎的事情。 往往当你着急去做某件事的时候, 总有些其他事或其他人会在中途插进来。 虽然并不会浪费你多少时间。 但往往开发的节奏被打乱了, 会是一件很恼人的事, 也许我也需要一个计数器。

活动马上进入尾声。 这个活动的开发基本也算完结。 从bug 中总结出自己的不足。 日后一定要改正。 为了节省自己的时间, 也为了能够节省他人时间, 测试用例,模拟数据脚本在这种类似活动中一定要提上日程。

最后修改:2017 年 11 月 08 日 12 : 03 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论