测试如何构建快速反馈的能力

简介: 测试如何构建快速反馈的能力

640.jpg

在团队活动中,反馈是一项非常重要的活动,只有收到反馈,大家才知道事情做到哪里了,做得怎么样了。在敏捷软件开发的核心价值观中,反馈也是核心之一。


01



反馈指的是:在信息的传播中,接受者对传播者发出信息的反映。反馈得很重要一个属性就是时间滞延。在测试活动中,笔者经常会团队的测试人员一个问题:开发提交了一段代码后,多久能收到质量反馈?是按天?按小时?还是按分钟?再往前一步,产品提供了一个Story,多久能看到功能实现?3天?1周?还是2周?

 

在测试活动中,如何构建快速反馈的能力,让团队感知到质量的现状,是非常重要的。也是测试Leader应该去思考和建设的。笔者总结了4个字:短、快、准、改


02


短,指的是反馈路径要短,在研发的每个环节都可以尝试去做反馈。


一般情况下,研发活动主要包含需求确认、研发过程、测试过程、部署上线几个核心的阶段。当一个需求的价值等到上线后,才得到不好的反馈,修复的成本是非常大的。因为反馈的链路越长,过程的浪费就越多,成本自然就高了(是不是很熟悉,我们经常讲的是缺陷发现得越早,修复成本越低。)。


所以,我们的反馈路径要短。于是测试就开始左移了,从需求侧就开始介入,快速反馈。具体做法可参考之前的文章,这里不展开说。(可参考从测试看需求需求端到端交付管理


03


快:自动化是必须的,可以和流水线结合起来。


就如前文提到的。开发提交一段代码,多久能得到反馈,如果需要1天后才知道,那就太慢了,这样的反馈也是比较浪费的。这时候就需要自动化手段的介入,不管是代码扫描还是自动化测试,又或者是质量门禁,都是快速反馈的体现。


以前开发吐槽的会是编译慢,现在吐槽的是测试慢,这么晚才发现问题。所以需要我们在代码被编译后,快速验证(不论是回归测试,还是新特性验证,不论是代码规范还是接口测试)。如果有问题,可以快速修复,避免流入到测试环境。


提到自动化测试,多提一个点。现在很多测试的小伙伴在做接口自动化的时候,需要自己手动去抓包,了解接口参数,然后再去做自动化。从学习的角度看,这个是没问题的。但是从团队的角度上看,这么做是很浪费时间的,ROI也会很低,因为接口什么时候变成了你都不知道。


自动化的前提是标准化。当自动化需要做很多兼容性来兼顾不标准的东西时,就没有必要自动化了,因为因果关系搞反了。


04


准:不要经常性地误报,增加不必要的成本。


快速反馈是好事,但如果反馈的问题是经常性误报,那还不如不报。这就需要我们更好地去建设我们的自动化机制,不要总是喊“狼来了”。


对于代码扫描,我们要结合团队现状,对部分规范进行取舍,或者对优先级进行重新评估,而不是从网上拿一份通用的规范直接就扫了,对于结果不做分析,可能很多严重的问题当下无法解决,或者因为项目的特性,某些规范并不适用等。要减少这些误报。


而针对自动化测试执行失败,需要做好分析,是什么问题引起的失败,是真的缺陷,还是因为环境问题、数据问题引起的误报?测试脚本的准确性和兼容性,也是非常重要的一项内容。需要测试人员持续去改进。


05


改:持续改进,螺旋上升,而不是停留在发现问题上。


所有的反馈都是为了解决问题,如果反馈的问题得不到解决,那么反馈就会变得毫无意义。要警惕杀虫剂效应,不能让反馈变成形式。当同样的问题多次重复出现时,我们就需要停下来,寻找根因并尝试去解决掉,而不是让问题一直存在,直到大家都麻木了。持续改进,螺旋上升,行动起来。


06


在某些情况下,我们需要跳出测试,从更高的视角来看待反馈。从单纯的测试角度来看,你只是解决了测试这个单点问题。从研发过程来看,你解决的是研发流程问题。从需求交付的角度来看,你解决的可能是公司业务问题。其中的差距,会让你的价值更大化,让你的护城河更加深厚,也就自我成长了。



往期推荐:

我建星球啦,你想加入么

从测试看需求

研发活动的降本与增效

测试报告别踩坑

敏捷测试系列文章合集


相关文章
|
2月前
|
监控 jenkins 测试技术
自动化测试框架的构建与实践
【10月更文挑战第40天】在软件开发周期中,测试环节扮演着至关重要的角色。本文将引导你了解如何构建一个高效的自动化测试框架,并深入探讨其设计原则、实现方法及维护策略。通过实际代码示例和清晰的步骤说明,我们将一起探索如何确保软件质量,同时提升开发效率。
53 1
|
2月前
|
测试技术 开发者 Python
自动化测试之美:从零构建你的软件质量防线
【10月更文挑战第34天】在数字化时代的浪潮中,软件成为我们生活和工作不可或缺的一部分。然而,随着软件复杂性的增加,如何保证其质量和稳定性成为开发者面临的一大挑战。自动化测试,作为现代软件开发过程中的关键实践,不仅提高了测试效率,还确保了软件产品的质量。本文将深入浅出地介绍自动化测试的概念、重要性以及实施步骤,带领读者从零基础开始,一步步构建起属于自己的软件质量防线。通过具体实例,我们将探索如何有效地设计和执行自动化测试脚本,最终实现软件开发流程的优化和产品质量的提升。无论你是软件开发新手,还是希望提高项目质量的资深开发者,这篇文章都将为你提供宝贵的指导和启示。
|
3月前
|
缓存 Devops jenkins
专家视角:构建可维护的测试架构与持续集成
【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
59 3
|
4月前
|
人工智能 数据可视化 API
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
126 2
|
2月前
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
2月前
|
敏捷开发 监控 测试技术
探索自动化测试框架的构建与优化####
在软件开发周期中,自动化测试扮演着至关重要的角色。本文旨在深入探讨如何构建高效的自动化测试框架,并分享一系列实用策略以提升测试效率和质量。我们将从框架选型、结构设计、工具集成、持续集成/持续部署(CI/CD)、以及最佳实践等多个维度进行阐述,为软件测试人员提供一套系统化的实施指南。 ####
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
150 1
|
2月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
71 0
|
3月前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
86 1
|
3月前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
95 1