写点什么

如何用数据来提升系统质量

  • 2022-12-21
    北京
  • 本文字数:1310 字

    阅读完需:约 4 分钟

如何用数据来提升系统质量

为了理解系统是如何被用户使用的,我们可以收集指标,并了解这些指标随时间变化的趋势。我们可以用获得的数据和洞见改进软件设计或测试模式,以此来提升系统的质量。

 

Craig Risi 在 2022 年敏捷测试日大会上谈到了如何使用数据来提升系统的质量。

 

Risi 说,专注每一个缺陷和导致缺陷的根源,并试图找到适当的缓解措施,这是不可能的。这些工作所需的时间资源往往是不可接受的。Risi 提到,可行的做法是对根源和问题进行分类,并进行持续的跟踪,找出可以让团队或组织关注的趋势和模式。

 

这对于拥有多个开发团队的公司来说尤其有用,正如 Risi 所说的:

 

团队之间的问题及其根源通常是相似的,可以通过改变公司的工作方式来解决。大多数公司甚至都没有意识到这些问题,因为团队倾向于孤立地关注这些问题,但如果可以在公司层面跟踪这些数据,通常可以找到更大的模式,带来更大的文化或流程变更,从而减少整体的缺陷或问题。

 

要了解用户是如何使用系统的,你需要获得所有的数据。事实证明,这是最大的挑战之一。Risi 提到:

 

你不仅需要有合适的工具,还需要花时间实现和构建合适的监控系统。除了简单地收集数据,还要找到一种合适的方法来可视化它们,让不同的利益相关者能够理解。这可能意味着需要为不同的利益相关者提供不同的仪表盘,向他们显示对他们来说重要的信息。所有这些都需要经过深思熟虑才能做好。

 

Risi 说,让产品所有者、开发人员和测试人员就问题的根源达成一致是很重要的,这样就可以通过开发、测试、需求和过程的所有路径识别出问题的根源。

 

InfoQ 就如何使用数据来提升系统质量的问题采访了 Craig Risi。

 

InfoQ:我们可以使用什么技术来找到问题的根源?

 

Craig Risi:这可能是一个挑战,因为通常情况下,当你第一次发现问题时,问题的表象与真正导致问题的根源是两码事。

 

通常,在解决问题时,我们会问团队几个问题:

 

  • 问题是如何出现的?

  • 是什么导致了问题的发生?

  • 我们是否可以做些什么来尽早发现这个问题?

  • 怎样才能防止这种问题再次发生?

  • 怎样才能防止类似的问题再次发生?

 

这些问题可能看起来无关紧要,但它们确实可以帮助团队意识到缺陷的出现与实际的错误是有区别的。而且,通过关注需要解决的问题而不是问题的出处,有助于防止追责,让团队专注于查找软件的真正问题是什么,并正确地修复它们。

 

最后一个问题特别重要,因为它不仅要求团队解决眼前的问题,还要求他们思考,设计出能够防止未来出现类似问题的软件。最后一个问题通常会让团队找到问题的真正根源,而不是仅仅将其标记为一个简单的编码错误。

 

InfoQ:我们可以使用哪些工具来收集和分析数据?

 

Risi:我发现像 Qlik、Thoughspot、Sisense、Tableau、Grafana 和 New Relic 这样的工具很有用,因为它们可以帮助我们识别使用趋势、系统性能,并正确地可视化它们。所有的大型科技公司,如亚马逊、微软、谷歌和 Oracle,都提供了工具,可以在各自的云环境中帮助我们实现这些。

 

在有了监控和工具之后,就需要进行重大的文化调整,以便更好地利用数据,并构建出正确的警报。这通常只能通过帮助团队看到报告的价值并向他们展示这些如何帮助他们获得解决方案来实现。

 

原文链接

https://www.infoq.com/news/2022/11/data-improve-system-quality/

2022-12-21 08:004258

评论

发布
暂无评论
发现更多内容

React-Hooks源码深度解读

goClient1992

React

【牛客刷题-算法】NC7 买卖股票的最好时机(一)

清风莫追

算法 动态规划 10月月更

React组件复用的发展史

夏天的味道123

React

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

SAP 电商云 Spartacus UI 的响应式 UI 实现细节

汪子熙

前端 前端开发 web开发 10月月更 breakpoint

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

Redis开篇--非关系型数据库

Java学术趴

10月月更

Redis--SpringBoot整合Redis(包含工具类)

Java学术趴

10月月更

什么是虚拟服务器?一共有多少种虚拟服务器?这篇文章带你扫盲!

wljslmz

10月月更 虚拟服务器

读懂React原理之调和与Fiber

xiaofeng

React

一个dubbo和springboot的兼容性问题

xiaoxi666

Collections之 Arraylist源码解读(二)

知识浅谈

ArrayList 10月月更

Spring Lombok 实体类死循环问题

HoneyMoose

【牛客刷题-算法】NC9 二叉树中和为某一值的路径(一)

清风莫追

算法 二叉树 10月月更

【牛客刷题-算法】NC11 将升序数组转化为平衡二叉搜索树

清风莫追

数据结构 算法 二叉树 10月月更

变量使用范围

理想何止三旬

变量

使用 RxJs 实现一个支持 infinite scroll 的 Angular Component

汪子熙

前端开发 angular RXJS web开发 10月月更

细说react源码中的合成事件

flyzz177

React

Vue响应式依赖收集原理分析-vue高级必备

yyds2026

Vue

Vue实战必会的几个技巧

yyds2026

Vue

【LeetCode】检查二进制字符串字段Java题解

Albert

LeetCode 10月月更

Python基础(七) | 文件、异常以及模块详解

timerring

异常 Python Monad 10月月更

JWT 和 JJWT 还傻傻的分不清吗

HoneyMoose

你要的react+ts最佳实践指南

xiaofeng

React

架构师的十八般武艺:业务架构

agnostic

业务架构

能否手写vue3响应式原理-面试进阶

helloworld1024fd

JavaScript

webpack配置完全指南

Geek_02d948

webpack

带你实现react源码的核心功能

goClient1992

React

React源码解读之任务调度

flyzz177

React

React生命周期深度完全解读

夏天的味道123

React

Redis中的数据类型以及常用方法

Java学术趴

10月月更

如何用数据来提升系统质量_研发效能_Ben Linders_InfoQ精选文章