产品需求交付质量保证的“七重门”

这篇具有很好参考价值的文章主要介绍了产品需求交付质量保证的“七重门”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

随着互联网红利的逐渐消失,互联网公司获取新客户的难度和成本越来越高,用户增长的运营同学需要不断尝试不同的拉新策略,并根据用户反馈及数据反馈快速调整,同时能够快速跟进市场热点,快速迭代产品功能。我们所在部门承接大量的金融业务(金白条、支付、小金库、基金等)拉新获客的诉求。为了在满足快速交付业务需求不以牺牲产品质量为代价,我们制定了用户增长质量门禁体系,通过规范化的质量活动对需求交付的各个阶段进行质量准入和准出,步步为营,形成用户增长产品需求交付质量保证“七重门”。

一重门:用例前置-未雨绸缪,把缺陷消灭在萌芽阶段

TDD(Test-Driven Development)是敏捷测试的重要实践,它强调在编写代码之前先编写测试代码,以此驱动代码质量的提升以及功能的覆盖。结合当前平台研发部质量保证的现状,测试用例绝大部分都是利用XMind编写的文字描述形式的,若完全按照典型的TDD实践进行落地,编写测试代码的成本较高,短时间内难以看到效果,因此我们第一阶段优先实现了测试用例的前置,即测试用例的编写和评审前置到设计评审或代码开发之前,通过测试用例进一步明确功能需求、性能要求、异常流程、数据需求及验收标准,并弥补需求评审环节可能遗漏的功能点和流程有欠缺的地方,提前预防缺陷,减少了在后期测试阶段的返工和修复成本。通过在用户增长、微电等领域多个项目的试点,各方均给与了正向的反馈,目前正在扩大试点范围,目标是80%的需求实现用例前置。

二重门:单元测试-分而治之,确保每个最小功能单元的正确性

单元测试是对软件中的最小可测试单元(即代码中的函数、方法、类等)进行独立的测试。它的主要目的是验证每个单元是否按照预期正确工作。单元测试具有以下几个好处:

  • 提高代码质量:通过编写单元测试,开发人员可以验证每个单元的行为是否符合预期,这可以帮助发现潜在的错误、边界情况和异常行为。
  • 确保模块间的独立性:单元测试要求每个单元都能够独立地进行测试,有助于构建更加灵活、可扩展和可维护的代码。
  • 支持重构和代码重用:可以帮助开发人员验证重构后的代码是否仍然能够正确工作,确保重用的组件在新环境中的行为符合预期。
  • 减少调试时间:单元测试可以快速发现问题所在,缩小调试的范围,加快问题排查的速度。
  • 建立信心和提供文档:通过编写全面的单元测试,开发人员可以建立对代码行为的信心,并且在代码发生变更时,可以快速运行测试来验证代码是否仍然正常工作。

总之,单元测试是一种有效的软件测试手段,它由开发人员编码实现并执行,充分体现了全民质量保证的理念。在用户增长的项目中,研发较为看中单元测试,在编码的同时写了大量的单测代码,尤其是用户增长研发团队接入了ChatGPT,并联合集团其他部以JoyCoder联合项目组的形式,不断迭代优化,目前已经可以快速自动生成较为规范的单元测试代码,可以大大降低单元测试的工作量。

三重门:冒烟演示-严格把关,确保基本功能正常

冒烟测试在产品质量保障中起到了早期筛选问题、初步评估待交付需求质量的作用。合格的冒烟测试能够快速筛选问题、帮助团队优化资源和工作分配,并实现对产品质量的初步评估,能够促进团队交付效率的提升。在用户增长质量保证的实践中,我们一般通过行一组关键功能和核心流程的基本测试用例来验证系统在最初阶段是否适合进行更深入的测试,一般采用冒烟演示的方式,研发认为具备提测的条件之后,邀请测试同学一起现场进行冒烟用例的演示和走查。在我们的实践中,一般会把总用例中30%左右的用例标记为为冒烟用例,一般都是主流程、核心功能的验证点。不同的需求冒烟用例的比例可能差别较大,与需求的难易程度、涉及核心主流程的多少等有关系,一般情况下,研发和测试很容易就冒烟用例的内容和比例达成共识。

四重门:测试执行-明察秋毫,将缺陷一一捕获

在产品、项目和需求交付流程中,测试的执行是产品质量保障的第四道防线,也是确保软件质量的最关键步骤之一。通过有效的测试执行,能够将产品缺陷尽早发现,缺陷的类型包括且不限于:功能问题、用户体验问题、性能问题、安全漏洞、埋点规范、兼容性、风控防刷等等。测试执行阶段是测试同学工作时长最长的阶段,也是其他角色最为熟悉的测试工作内容。通常在该阶段发现的需求缺陷能达到95%以上,一般情况下,在测试执行阶段的工作量占比总体研发工作的30%~50%,当然,不同的需求,测试工作量占比可能差别较大,尤其是回归测试的比例,以及自动化测试在回归测试中的占比,都直接影响测试执行阶段的工作量和时长。

五重门:产品验证-精益求精,功能、性能、体验一个不能少

产品验证是确保软件质量的第五道防线,包括UAT、UI走查以及体验验收三部分。在需求准备上线之前,我们会邀请产品经理在预发环境或测试环境对待交付功能进行验证,此时,测试人员和产品经理一同参与对产品的系统验证,测试同学进行主流程演示或者产品经理自主验证功能、性能和用户体验是否满足最初的需求和预期,同时验证运营配置是否有问题。产品验证的结果分为两种情况:通过和不通过。对于通过的情况,我们可以开始进行最终的发布和交付工作。对于不通过的情况,我们第一时间反馈给开发团队,以便及时修复和优化问题。在产品验收阶段,基于产品设计和用户视角,产品经理可以提出各种观点和意见,从而进一步完善产品。这种多元化的反馈和意见可以帮助团队在上线前识别和解决潜在问题,虽然此时已经处于需求交付的后期,但因系统还未面客,仍有一定的时间修复问题,这样可以尽量避免问题逃逸到线上产生客诉。

另外,若涉及较多前端交互的需求,在产品验证完需要邀请UI设计师进行UI走查以及用户体验同事进行体验验收。作为上线前用户操作、用户体验方面的验收,若因体验存在缺陷导致验收不通过,用户体验同事有权决定推迟上线,直至完成了优化,或者各方就体验问题达成了共识,可以先上线,并在大范围投放之前完成优化。

六重门:运营验收-结果导向,以用户和运营双视角审视待投放功能

运营验收主要是在需求上线后,邀请运营同学在线上进行最终的验收,运营同学站在业务及用户视角,验证待交付功能是否与最初的预期一致,运营验收阶段是功能面客前的最后一道防线,基于对用户的深刻洞察、敏锐的直觉以及对市场上同类功能的深入研究,运营同学在该阶段经常能发现一些大家容易忽略的问题或缺陷。同时,更重要的是,可以验证后台配置是否有问题、预算是否充足,并决定新旧功能的分流比例、缺陷是否在容忍范围内、是否需要报备客服,并确定投放后的运营策略、运营节奏及后续的产品迭代规划。在该阶段,偶尔会发生运营意见与产品意见、研发测试意见不一致的情况,因此,该阶段也是一个互相说服、拉齐认知的重要阶段。

七重门:容灾演练-防患未然,极端情况下仍能保持业务连续性

随着业务发展、微服务架构、分布式架构和虚拟化容器技术的广泛普及,软件架构的复杂度在不断提升,服务之间的依赖所带来的不确定性也成指数级增长,在这样的服务调用网中,任何一环出现的正常或者异常的变化,都有可能对其他服务造成类似蝴蝶效应一般的影响。随着用户增长线上营销活动、拉新工具、公共组件的不断增加,整体链路增长以及数据流转复杂,对整个系统的可用性、稳定性挑战也越来越大,所以非常有必要主动找出系统中的脆弱环节,然后针对性地进行加固、防范,从而避免故障发生时所带来的严重后果,进一步提升业务系统的高可用,提高业务系统应急保障能力。近几年,国内外已经发生了数次大规模的故障导致对海量用户的服务长时间中断,产生了巨大的负面影响。为有效减少因内外部环境的故障对系统造成的影响,我们在日常工作中模拟各类故障,以检验对系统的影响及研测团队的风险应对能力,我们在用户增长领域进行了两类容灾演练:

  • 一种是应用层面的混沌演练(Chaos Engineering)

混沌演练是一种通过有意引入系统随机性、不稳定性和故障来测试和改进系统可靠性的实践方法,它旨在帮助组织识别和解决潜在的系统缺陷和性能问题,以减少系统故障和提高系统的容错性。混沌演练的关键理念是“通过引入故障来发现故障”。通过有节制地引入不稳定因素和故障场景,例如关闭某个服务、模拟网络延迟、引发硬件故障等,混沌演练可以验证系统的弹性、容错能力和恢复能力。它能够帮助我们发现隐藏的系统弱点,识别性能瓶颈和独立失败点,并提供改进系统稳定性和可靠性的机会。

  • 第二种是数据存储的高可用以及机房网络的断网容灾演练

演练的场景包括运营商网络断网、京东云机房断网、存储设备断网、网络流量抖动、网络流量丢包等,影响范围可能更广,因此需要提前梳理好演练内容和应急方案,具体包括根据不同场景梳理演练SOP、根据SOP设置演练模板、根据模板评估系统是否达到演练要求、根据演练要求升级改造系统、根据演练模板设计演练流程及checklist,确保不会因演练而影响线上系统。通过对演练过程、演练内容、风险事项、应对方案的梳理,做到万一发生类似基础性故障或网络、数据库切换的时候,有序执行SOP操作,系统处于风险可控的状态。截止目前,已经完成了针对用户增长领域挂奖、发奖、资金组件等三个核心应用的数据库、缓存切换演练,达到了预期效果。

总结

本文介绍了用户增长领域在快速交付产品的同时为保证交付质量所设置的七道防线,每道防线都像一道门禁,只有满足了准入要求,才能进入下一个阶段,以此来规范各个阶段的质量活动,并作为质量保证全流程的执行标准。需要指出的是,在实际的质量实践中,不是形而上的、简单粗暴的执行以上质量活动,我们会根据产品和业务需求的实际情况进行一定范围的灵活调整或裁剪,在质量和效率之间达到一个动态的、适度的平衡。

作者:京东科技 王先科

来源:京东云开发者社区 转载请注明来源文章来源地址https://www.toymoban.com/news/detail-710889.html

到了这里,关于产品需求交付质量保证的“七重门”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件项目质量保证措施-word

    一、 质量保障措施 二、 项目质量管理保障措施 (一) 资深的质量经理与质保组 (二) 全程参与的质量经理 (三) 合理的质量控制流程 1. 质量管理规范: 2. 加强协调管理: 3. 严格合同和计划管理: 4. 重视培训: 三、 软件质量保障措施 (一) 对软件产品的测试 软

    2024年02月01日
    浏览(31)
  • 开源项目的测试和质量保证

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(28)
  • 软件测试质量保证与测试

    1.1 软件测试背景 随着计算机技术的迅速发展和越来越广泛深入地应用于国民经济与社会生活的各个方面,软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷与故障造成的各类损失也大大增加,甚至会带来灾难性的后果。软件质量问题已成为所有使用软

    2024年01月23日
    浏览(75)
  • 复习资料:软件质量保证与测试

    试分析如何降低软件质量成本。 软件生产应当投入合理的预防成本和评价成本,提高软件质量,防止软件失败,降低失败成本,从而降低总的软件质量成本。 什么是PE模型,试分析PIE模型对软件测试设计有何指导意义? 如果要通过动态测试观察到错误,满足的三个条件: (1

    2024年01月25日
    浏览(36)
  • 透明拼接屏代工:专业制造与质量保证

    透明拼接屏代工是指专业的代工厂家根据客户的需求,为其生产透明拼接屏产品。随着透明拼接屏市场的不断扩大,越来越多的企业选择通过代工方式快速进入市场。尼伽小编将深入探讨透明拼接屏代工的优势、选择合适的代工厂家以及质量保证等方面的内容。 一、透明拼接

    2024年01月23日
    浏览(38)
  • 前端团队协同工作,如何保证质量

    传统软件的持续集成主要有以下措施。 daily build:每日构建,开发者每天提交代码到代码仓库,构建一个可运行的版本。 build verification test(BVT):构建验证测试,每日构建版本出来后,运行一组自动化的测试用例,保证基本功能可用。 对于前端来说,有一些现实的区别:

    2023年04月18日
    浏览(38)
  • 软件质量保证与测试期末大作业实例二

      软件质量保证与测试 课程大作业 学    院     软件学院     专业班级                 姓    名                 学    号                 完成日期    2022.01.01   目录 1 测试概述. 1 1.1 编写目的... 1 1.2 软件来源... 1 2 软件功能说明. 2 2.1 菜品资

    2024年02月09日
    浏览(29)
  • 基于人工智能的质量保证(QA)流程

    推出准确、可靠、公正的人工智能(AI)模型无疑是一项挑战。设法成功实施AI计划的企业很可能意识到,AI质量保证(QA)流程与传统QA流程迥然不同。 质量保证对于AI模型的准确性至关重要,不容忽视。任何希望部署有效人工智能的公司均必须在其AI模型的整个生命周期中建

    2024年02月19日
    浏览(27)
  • 慕课版软件质量保证与测试(第五章.课后作业)

    1. 软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )   A. 集成测试   B. 单元测试   C. 系统测试   D. 验收测试 参考答案:B 2. 增量式集成测试有3种方式:自顶向下增量测试方法、( )和混合增量测试方式。   A. 自下向顶增量测试方法

    2024年02月05日
    浏览(39)
  • 软件质量保证与测试技术实验报告(四)——JUnit单元测试

    1.实验名称——JUnit单元测试 2.实验目的 (1)利用Junit进行单元测试,理解单元测试的任务、同时理解这类测试工具的实现原理; (2)理解断言的基本概念和断言测试方法; 3.实验内容 题目1:完成课件中Score_List的单元测试。 题目2:这是一个简单的计算器类——Computer,能

    2023年04月23日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包