美文网首页
这次项目上线bug的问题总结

这次项目上线bug的问题总结

作者: 某言 | 来源:发表于2017-12-24 10:31 被阅读0次

    这次cxyouth上线,在新华书店的活动期间出现了严重的问题,本来想要自我总结的,但是,这个时候,boss顺便也让我进行了总结,那么,我就把总结的文章摆在这里,比起我自己的内心总结,出入不大,如说有所缺失,那么,就是少许的不容得会议上分享的部分。

    原文:

    楚雄青年网活动上问题总结和改进方法

    一、问题描述

    在2017年12月17日(周日),楚雄共青团在新华书店用我公司开发的楚雄青年网微信端网站进行活动的时候,出现了重大问题,问题描述如下:

    1.1当从微信进入时候报错

    当从微信端口进入的时候,提示如下图:

    Pic1-1-1

    状况描述:在服务器定义了错误页面,当网站出现任何错误的时候,都会重定向到这儿页面而不是代码报错页面,所以,是服务器某处代码报错了。

    调试结果:

    Pic1-1-2 Pic1-1-3

    在报错的地方,打印微信服务器返回的信息,说是api(接口)已经达到每日的最大请求上限2000次,进入微信公众平台后台发现,确实是此个问题:

    Pic1-1-4

    解决方法:当调为0的时候,系统可以进入,此个问题解决。

    1.2当出现之前的问题后,系统异常在进入,无法拉取用户授权信息

    当用户进入了1.1所述的异常后,系统正常后,在进入系统,就会出现无法得到自己的登陆信息的状况,如下图:

    Pic1-2-1

    状况描述:那时候出现问题的流程是:

    用户进入系统流程,session存在就直接进入功能页,不存在进入下面流程,主要是下面流程的:

    Pic1-2-2

    问题描述:在第一次登陆的时候,在绿色框的获取access_token地方,由于达到上限,出现了错误,所以,造成的是:(1)cookie中有了unionid;(2)代码在判断是否有关注时候报错,就出现错误页面;(3)也就没有得到用户的信息。

    当请求的上限被清零,可以得到access_token之后再登录,走流程,就会在紫色框处,判断,就会发现unionid的cookie是存在的,所以,就不会再次拉取openid,所以,到了绿色框的地方,虽然可以得到access_token,但是,却没有了openid,所以,也拉取不到用户的信息了。

    所以,每个用户第一次的access_token获取失败,直接导致了当access_token获取正常后的拉取用户信息的失败。

    解决方法:去除了对用户是否关注公众号的判断,无论是否关注,都要通过snsapi_userinfo的授权方式,拉取用户的信息,就能保证,只要access_token获取权限没问题,那么,可以正常登陆。

    1.3获取access_token接口次数达到上限的问题

    acess_token的默认过期时间是7200秒钟,只有2000次/每天。获取后要用一些方式进行缓存使用。在网站链接进行分享的接口中调用jsapi_ticket时候用到access_token,但是在这里面的代码中,获取的access_token是没有进行缓存的,采用的的是session缓存,而session没有开启。开启之后, 成功解决。

    所以,问题出现的根源是access_token没有进行缓存,使其达到上限,导致请求access_token失败,才有后面修复后也不能登录问题。当然,修复后还不授权,证明代码也有不严密的问题了。

    二、问题总结

    2.1近期的背景

    当这个系统打算使用并且上线的时候,在整个开发工程中,是比较匆忙的,节奏都是比较快,一直反复测试,修复细节的问题,直到上线。将要举办活动时候,都有改其他的问题,出现的这两个问题,一直都没有在开发和测试的过程当中出现过。

    2.2问题分析,解决

    1、为什么在内部的测试过程中,没有出现任何的问题呢,但是上线时候,就有问题?这次我想想,我觉得,首先,要考虑内部测试和线上实际使用的区别:

    (1) 内部测试人员,往往是程序员和测试人员,都是对业务逻辑了解的,所以,思路固化,局限在自己的思路内,不容易发现问题。当然,这个是可以解决的,通过更加细心和更加专业的方法,可以解决;

    (2) 内部测试,针对内部几个人,实际使用,则是全国的人,人数的基数就差别很大。就像这个,access_token请求接口耗尽的问题,就是这个差别产生的,从而产生了后续的问题。这次,在项目上线前,就知道要有这么一个活动,但是,没有设身处地的思考,这个项目,在活动时候,会有什么问题。现在想的话,是:(1),人数多;(2),手机类型多。如果上线前,留出点预期,进行多人模拟的测试,就可以发现access_token的问题,然后尽快解决,就不会出现其他的问题。

    2、前期一直在开发,偶尔停顿一下做其他项目,然后,要正式上线的时候,又比较赶。在项目开发中,感觉只要速度超出了开发人员的自己的开发节奏,都会比较容易出问题。超出一个人的节奏,换种说法,也就是超出某个人的掌控。这个,我觉得也应该注意。

    3、以前我听到一句话:“在it行业,每个项目的完成实际时间,都是实际计划时间的2-3倍”,我觉得很有道理,因为,我们做预计的时候,并没有思考的很全面,没有文档,没有具体到各个涉及的点,与实际开发的过程,有很大的差别,所以,我觉的,在预估项目完成时间的时候,无论是针对于客户的承诺,还是在针对于内部的开发人员,我觉得考虑到这一点都是非常必要的,也就是要做到有效的项目管理。

    4、在开发中,我觉得一件事件,确实是“磨刀不误砍柴工”——写需求文档和功能文档,在客户指定好需求之后,我们要明确需求文档,给客户确认,那么,以后可以给客户在需求范围内小改动,那是很快的,不至于动作很大。然后,根据需求文档,再写出功能模块给开发人员,对照其开发,这种流程感觉比较合理。这次青年网,有的地方,是改回来又改过去,在改回来,我觉得这种事情,可以避免发生,而且如果这么做,在开发中,虽然目前的代码分工不明确,但是,有了功能文档,也可以方便对照,这对于用户的需求管理,或者是开发人员的工作管理,是很有效的。

    根据这个文档,还可以合理的安排工作的任务,知道进度,不至于“忙死闲死”。

    根据这个文档,也可以良好控制客户需求,因为也是他确认过的,再提变动时候,至少是商量的态度,对我们也有利,这个是可以参考的。

    相关文章

      网友评论

          本文标题:这次项目上线bug的问题总结

          本文链接:https://www.haomeiwen.com/subject/fhouwxtx.html