【效能提升】上线前漏了SQL脚本,漏加上某个配置项了?
背景
一个版本从开始开发到上线,可能经历10多天,甚至更久。
由于这个过程的时间较长,难免出现某些需要执行的SQL脚本、需要配置的配置项,到了上线前,却被遗漏了,最后导致出现线上问题才发现。
我们团队也出这种情况发生,我们想了个比较笨的办法,虽然笨,但终究还是有些作用。
开发人员提测前登记「除代码外的改动项」,由测试人员执行「除代码外的改动项」
之前:
- 开发人员开发完毕
- 开发人员完成好测试环境的所有配置,准备完善测试环境
- 请测试人员直接进入测试
现在:
- 开发人员完成代码开发,在开发过程中用「我们约定的文档」登记「除代码外的改动项」
- 提测前,请测试人员执行「除代码外的改动项」(这个动作有两个目的:1、避免开发人员直接执行配置,然后上线却遗漏了;2、「除代码外的改动项」通过测试人员执行,也属于验证「除代码外的改动项」有效性的一部分;)
- 然后,开发人员在测试环境对特性进行验证
- 提测给测试人员
「除代码外的改动项」一般有哪些?
- SQL脚本,比如建表语句、添加字段语句、初始化数据语句(注意:如果是SQL,使用
Flyway
也可帮助我们避免遗漏脚本) - 配置中心的配置项,比如添加、修改、删除配置
- 申请某些权限,比如调用某个第三方服务,而该第三方服务调用前需进行权限申请,申请的一系列都需要记录下来
- 五八花门
我们运行中遇到的问题?
提测后,「除代码外的改动项」出现变更,会需要额外的沟通成本
比如:提测时,我登记了一条SQL,需要给T_USER表添加一个INT类型的字段AGE:
ALTER TABLE T_USER ADD COLUMN AGE INT;
提测后,测试人员测出若干个Bug,为了修复这些Bug,我需要将AGE这个字段修改为DATE类型的字段BIRTHDAY:
ALTER TABLE T_USER DROP COLUMN AGE;
ALTER TABLE T_USER ADD COLUMN BIRTHDAY DATE;
上述这些执行的过程,因为需要测试人员理解并执行,所以需要花一些沟通成本使其知悉。
作者:Nick Huang 博客:http://www.cnblogs.com/nick-huang/
本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
如果本文对您有用,点赞或评论哦;如果您喜欢我的文章,请点击关注我哦~
本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
如果本文对您有用,点赞或评论哦;如果您喜欢我的文章,请点击关注我哦~