上篇文章《《Python 测试开发技术栈—巴哥职场进化记》—Python2?还是 Python3?,巴哥确定之后要使用 Python3,因为 Python2 已经停止更新,如果想使用最新的 Python 特性只能使用 Python3。今天我们来看看巴哥会经历哪些事情,精彩还在继续…………
早上巴哥早早来到公司,准备吃刚买的热乎乎的肠粉。说道肠粉,是巴哥比较喜欢的广东特色小吃,基本从来了深圳后,每天早上都会吃。
巴哥吃的正香时,华哥火急火燎的走了进来,一脸严肃的坐在了自己的工位上,快速的打开了电脑,噼里啪啦的操作起来。
以巴哥敏锐的观察力,巴哥意识到,一定是出大事了。巴哥不禁联想到不是昨天 app 客户端刚发了一版吗,难道跟这个有关系?!
巴哥快速的消灭掉了肠粉,擦了擦嘴角的肠粉酱油,走到了华哥的工位。
“华哥,是不是出什么问题了?”,巴哥小心的问道。
“咱们的 ios app 出问题了,老用户升级之后直接 crash 了,我也是无语了,因为这个版本是个小需求,都没覆盖到这种覆盖安装的场景”。华哥回答道。
“不管怎么样,还是要尽快的解决问题,将影响降到最低,估计得紧急再发一版才能解决问题”。
当天华哥、巴哥他们对即将发布的包进行了全流程的回归,重点回归了下 app 升级及覆盖安装的问题。晚上发完版后,华哥跟巴哥说,每次出现问题都需要开复盘会,盘点下这次问题出现的原因,核心目的是为了找到对策,避免类似的问题再次发生。
第二天上午,华哥召集了开发、项目经理、测试、运维一起召开问题复盘会,华哥首先说了下这个问题出现的时间,以及 bugly 上报的 crash 率,然后让大家各自从自己的角度来阐述这个问题出现的原因。
“这个问题的主要原因是我对本地 sqlite 数据库进行了升级,增加了两个字段,覆盖安装的用户安装之后,因为没有对数据库做好升级兼容性,所以出现了 crash”,IOS 开发雪松首先说道。
“为什么数据库会做改动呢?我的需求里好像没涉及到这方面的需求吧?”,产品经理晨晨反问道。
“主要是想对底层的一个数据模块进行改造,我想着应该没啥问题的”,雪松接着说道。
“华哥,测试在测试时没有覆盖到这个 case 吗?”,项目经理威爷问华哥。
“这个因为 ios 我们没办法验证升级,都是等了上线才去验证,另外雪松这边提测是也没有提到这个改动,所以造成了问题的逃逸”,华哥一脸无奈。
“那就看看之后怎么避免同类的问题再次出现,看来咱们流程是有漏洞的”,威爷说道。
华哥思考了一会,说:“测试这边之后在 IOS 上线之前,会把 testflight 利用起来,提前对升级流程进行验证。另外会对发版前的回归测试用例进行梳理,看有没有遗漏的地方”。
“但是,也需要开发在提测时,对于非需求类的改动都写到提测邮件里,方便我们做针对性的回归测试”,华哥接着说道。
"行,没问题,之后我将我改动的所有点都列到邮件中",雪松补充道。
“雪松,testflight 的使用流程,也需要你配合我们测试梳理一下”,华哥跟雪松说道。
经过上面两个流程补充,就可以将同类型的问题都解决掉。
在产品开发过程中出现的任何一个问题,都可能映射到流程上的缺失。
当然提升自身的能力和意识也很重要,但还是需要有流程上的约束力才能万无一失。
所以,当出现出乎意料的 BUG 时,不要惊慌。
首先是解决问题,之后一定要组织大家开问题复盘会,不断完善流程。这样才能减少 BUG 逃逸的概率。
很久没更新巴哥系列了,之后尽量保持一周一篇