• 【效能提升】上线前漏了SQL脚本,漏加上某个配置项了?


    背景

    一个版本从开始开发到上线,可能经历10多天,甚至更
    由于这个过程的时间较长,难免出现某些需要执行的SQL脚本、需要配置的配置项,到了上线前,却被遗漏了,最后导致出现线上问题才发现。

    我们团队也出这种情况发生,我们想了个比较笨的办法,虽然笨,但终究还是有些作用。

    开发人员提测前登记「除代码外的改动项」,由测试人员执行「除代码外的改动项」

    之前:

    1. 开发人员开发完毕
    2. 开发人员完成好测试环境的所有配置,准备完善测试环境
    3. 请测试人员直接进入测试

    现在:

    1. 开发人员完成代码开发,在开发过程中用「我们约定的文档」登记「除代码外的改动项」
    2. 提测前,请测试人员执行「除代码外的改动项」(这个动作有两个目的:1、避免开发人员直接执行配置,然后上线却遗漏了;2、「除代码外的改动项」通过测试人员执行,也属于验证「除代码外的改动项」有效性的一部分;)
    3. 然后,开发人员在测试环境对特性进行验证
    4. 提测给测试人员

    「除代码外的改动项」一般有哪些?

    • 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/
    本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
    如果本文对您有用,点赞评论哦;如果您喜欢我的文章,请点击关注我哦~
  • 相关阅读:
    LeetCode105 从前序遍历和中序遍历构造二叉树
    LeetCode61 扑克牌中的顺子
    LeetCode141 环形链表
    LeetCode103 二叉树的锯齿形层次遍历
    509 斐波那契数
    剑指29 顺时针打印矩阵
    malloc分配内存2种方式:brk和mmap
    Python学习第139天(Django的分页器(paginator))
    Python学习第138天(Django的用户认真组件)
    Python学习第137天(admin部分参数补充)
  • 原文地址:https://www.cnblogs.com/nick-huang/p/15400137.html
Copyright © 2020-2023  润新知