写点什么

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

  • 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:004345

评论

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

vue项目实战经验汇总

徐小夕

Java 面试 Vue 大前端 Vue3

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

小Q

redis 学习 编程 架构 面试

会装虚拟机,删库不用跑

MySQL从删库到跑路

虚拟机 virtualbox

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

读谱对吉他手来说重要吗?试试它提升你的读谱效率

奈奈的杂社

学习 编曲 打谱

《网络是怎样连接的》PDF下载

计算机与AI

网络

阿里P8以hashmap讲解如何学习jdk源码,还不学习

小Q

Java 学习 源码 jdk mybatis

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

新工业化如何实现?今年的信息化百人会中藏着“懂行”密码

脑极体

【薪火计划】03 - 从错误中认识到管理

码字与律动

管理

什么是低代码(Low-Code)?

移动研发平台EMAS

工具 研发效能 低代码 开发 代码

数字货币引发的金融变革

CECBC

数字化时代

智变的八个瞬间,京东智联云化“?”为“!”

脑极体

甲方日常53

句子

工作 随笔杂谈 日常

国网浙江建设公司推进“信用基建+区块链”建设

CECBC

区块链 国网 基建

Nginx-技术专题-技术介绍

码界西柚

MySQL从库维护经验分享

Simon

MySQL 主从复制

【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

冰河

MySQL 数据库 性能优化 数据安全 分布式数据储存

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

高承实:区块链的工业革命带来了什么?

CECBC

区块链 分布式

MySQL中的锁机制

AI乔治

Java MySQL 架构 线程 锁机制

注册中心原理剖析

石刻掌纹

Redis 持久化之 RDB 与 AOF 详解

AI乔治

Java 架构 redis持久化 redia

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

小傅哥

Java 并发编程 共享锁 Semaphore 信号量

11.11 应对海量访问的网络基石 京东智联云自研交换机发展之路

京东科技开发者

运维 网络 交换机

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

SQL数据库:窗口函数

正向成长

窗口函数

Springboot过滤器和拦截器详解及使用场景

AI乔治

Java spring 架构 Spring Boot

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