首页 > 其他分享 >聊聊发版提测和发布评审

聊聊发版提测和发布评审

时间:2024-04-10 13:55:48浏览次数:29  
标签:聊聊 是否 准出 评审 发布 测试 提测 发版

看到有同学提问关于测试准入准出标准的问题,说自己公司研发测试流程混乱,线上发布后问题比较多,不知道如何优化解决。

其实这个问题一般在初创公司或者新项目出现的比较多,优化的方向和方法业内也比较成熟了,这篇文章谈谈我对于准入准出的理解。

 

从软件工程的角度来说,一个软件产品从无到有要经历如下几个阶段:

研发阶段主要包括编码实现、测试验证和运维发布。严格来说,为了控制风险,保障最终交付的软件产品达到需求预期的质量标准,在整个生命周期的每个阶段都应该有对应的准入准出标准。

对应到测试环节,则是我们所说的质量门禁。在质量门禁这一定义中,我个人认为最重要的有两个环节:发版提测和发布评审。

 

发版提测,是软件从编码实现环节转移到测试验证环节的入口。我们都听过这样一句话:质量是设计和实现出来的,不是测试出来的。

同理,提测阶段做的如何,对后续的测试工作开展有很大的影响。如果没有提测这一门禁,有很大可能测试刚开始就会遇到很多问题,比如表结构未同步,接口请求失败,主流程阻塞,影响整体的进度和测试效率,随之就会导致加班、多次的返工。

发版提测环节的准入标准,一般要从如下几个角度去考虑:

  • 功能是否实现:这一点除了开发本地自测以外,很重要的一点是测试用例评审。通过测试用例评审,开发和测试双方对于本版本要实现的需求功能和准出标准达成一致。
  • 流程是否顺畅:一般的做法是测试提供本版本的P0测试用例(主流程直接相关)让开发进行冒烟测试,测试同学负责验收,如果冒烟测试不通过,则打回重新提测。
  • 变更是否完成:这里的变更主要指的是对应的表结构是否同步到测试环境,对应的基准测试数据是否铺底完成,内外部的调用依赖是否通畅(如果是否,则考虑配置mock),以及新服务部署和白名单等配置项。

当然,除了上述几点强制项之外,还有如下几点补充项,适度评估是否作为准入标准。

  • 单元测试:确保每个功能模块都经过充分的单元测试,以发现潜在的缺陷(不强制)。
  • 联调测试:将各个功能模块进行端到端的联调,确保整个系统的协同工作正常(开发自行组织)。
  • 变更确认:提测前,与开发和产品团队确认需求是否有所变更,并修改相应的需求文档(建议项)。
  • 接口文档:确保开发团队准备了完善的接口文档,以便测试团队进行接口测试(建议项)。
  • 提测范围:开发需要罗列提测版本、范围及相关风险清单,确保测试了解测试的重点和潜在问题(测试跟进)。
  • 环境准备:在提测前,确保测试环境准备就绪,可以正常跑通(对应上述的变更部分)。
  • 版本控制:使用版本控制系统(如Git)来跟踪代码变更,确保团队成员都能获取到最新的代码。

除了这些内容,提测时还可能会遇到这些问题:

  • 是否自动化跑主流程用例:根据团队基础技术建设和能力以及资源富余成都决定。
  • 多分支多环境,如何解决:做好代码版本管理、请求打标染色、测试环境治理。

 

经过充分测试验证后,如果认为软件质量已经满足了预期的质量标准(也可能到了发布时间),就需要考虑线上发布事项。

线上发布是软件生命周期的最后一个环节(一个版本迭代周期内),发布一般就意味着交付用户使用,一切成为定局。

因此在线上发布前,需要通过发布评审来充分评估整个软件,确保发布质量满足预期要求和质量标准。

发布评审可以视为测试阶段的准出节点,在发布评审环节,需要考虑如下几个方面:

  • 功能完整性:所有需求是否都已实现,是否存在遗漏。
  • 安全和兼容性:是否存在安全漏洞,是否能兼容不同操作系统和设备。
  • 缺陷修复状态:已发现BUG是否都已修复并验证通过,异常场景是否有足够冗余。
  • 性能和扩展能力:性能指标是否达标,服务是否可以水平扩容,能否支撑线上业务正常运行。
  • 文档完整和准确性:用户手册、运维操作指南和相关技术文档是否准备完毕且准确无误。
  • 发布计划和风险预案:线上发布的详细计划,可能出现的问题和对应的解决策略,是否有过演练。

在发布计划中,需要包括发布时间、发布渠道、发布方式等内容。重点需要考虑这些因素:

  • 发布优先级:应用依赖关系,先发布哪个应用,后发布哪个应用。
  • 相关配置变更:包括数据库的表结构变更、数据变更、应用白名单是否添加。
  • 数据准备和线上验证:缓存数据是否已经预热、线上验证的脚本&用例&测试数据是否准备完毕。
  • 风险管理和应急预案:发布过程出现问题的应对策略,是否回滚、是否限流、是否灰度以及沟通协调策略。

综合考虑以上各个方面,通过发布评审这一测试准出标准,可以在最大范围内保障软件在发布时达到预期的质量和业务目标。

标签:聊聊,是否,准出,评审,发布,测试,提测,发版
From: https://www.cnblogs.com/imyalost/p/18125883

相关文章

  • 聊聊消息中间件
    消息中间件,广泛应用于分布式系统的架构设计之中。一提到业务解耦、流量削峰的技术选型,很容易就想到,是时候该消息中间件上场了。我想聊聊两个问题。消息中间件从设计来讲,应该有哪些组件?消息中间件的使用中,常碰到的问题有哪些?又该如何解决?消息中间件的设计架构消息中间件的架构......
  • 聊聊ChatGLM3多用户并发API调用的问题
    转载请备注出处:https://www.cnblogs.com/zhiyong-ITNote背景目前在公司内部4张A10的GPU服务器上部署了ChatGLM3开源模型;然后部署了官方默认的web_demo、api_demo两种模式;重新设计了前端,支持H5和安卓两个客户端调用。但却发现了不能并发访问的问题。问题现象在安卓与H5同时调......
  • 聊聊公众号最让我不爽的两个痛点
    本文首发于Python猫微信公众号最让我不爽的地方有两个,而且有很多人虽然也不爽,却不知道原因。本文想聊聊公众号的两个痛点,因为我经常收到私信问这两个问题,本文算是一次集中的回复吧。第一个不爽的点是公众号会屏蔽外链,导致无法正常跳转文字链接。这是什么意思呢?其实就是说在公......
  • 发布版本?构建版本?聊聊持续交付中的版本号的设计和管理
    在研发过程中,大家都知道"版本",但是不同的人对"版本"的理解是不同的。大家都知道很重要,但是往往容易被忽视,特别是在持续交付过程中,笔者认为相当重要。因为只要有变更,就会有版本控制,随之而来就是版本号设计,以及不同阶段如何使用版本号。不同角色对“版本”的理解产品经理、客户......
  • JetBrains IDE 2024.1 (macOS, Linux, Windows) 发版 - 开发者工具
    JetBrainsIDE2024.1(macOS,Linux,Windows)-开发者工具CLion,DataGrip,DataSpell,Fleet,GoLand,IntelliJIDEA,PhpStorm,PyCharm,Rider,RubyMine,WebStorm请访问原文链接:JetBrainsIDE2024.1(macOS,Linux,Windows)-开发者工具,查看最新版。原创作品,转载请......
  • 万字长文,聊聊我在京东锦礼成长的这一年
    “学而不思则罔,思而不学则殆”,本文记录了作者在京东锦礼侧工作1年间遇到的思考与成长、挑战与困难,也是对过去工作的总结与反思,分享出来,希望对大家有所帮助。后续作者还将分享在京东做技术的详细经历,可持续关注。1.引言光阴似箭,来到锦礼产品线已满一年了,这期间深刻地了解到......
  • 聊聊测试计划
    测试计划的定义:特意度娘了一下,测试计划的注释:测试计划Testingplan,描述了要进行的测试活动的范围、方法、资源和进度的文档;是对整个信息系统应用软件组装测试和确认测试。 它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。测试计划可以有效预防计划的风险,保......
  • 聊聊vue中的vue中的slot与slot-scope
    前言:vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项使用频率、使用先后上的差别,这就有可能造成初次接触插槽的开发者容易产生“算了吧,回头再学,反正已经可以写基础组件了”,于是就关闭了vue说明文档。实际上,插槽的概念很简单,下面......
  • 聊聊 Java GC
    [1]序GC是每一个Java程序员不可绕过的话题。GC是在某些时候对内存的垃圾对象数据进行搜寻定位,然后进行内存空间回收。根据这个定义,则学习GC相关知识,需要关注:对JVM整个内存结构中哪些区域进行垃圾回收;在这些内存区域中的类数据或者实例数据等数据结构是什么样子的;然后想想如......
  • 【Web】随便聊聊应用ASM CoreAPI修改字节码那些事
    目录前言ASM概念Java字节码&ClassFile核心理念:拆分修改重组修改字节码最简化模型代码示例ASM修改类的基本信息ASM修改类的字段ASM修改类的方法常规实现AdviceAdapter实现前言本文速通下ASM最最萌新直观的部分,理解浅薄,纯小白文pom依赖<dependencies><depe......