报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

评论

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

音视频学习--弱网对抗技术相关实践

Fenngton

音视频 网络 视频编解码 弱网下的极限实时视频通信 实时视频

C++多线程强制终止

华为云开发者联盟

c++ 安全 线程 多线程 可信

【LeetCode】连续数组Java题解

Albert

算法 LeetCode 6月日更

从一面就被拒到收割字节offer,我花了一年时间,功夫不负有心人

Java架构师迁哥

毕业5年的同学突然告诉我,他已经是年薪50W的Java架构师了

Java架构师迁哥

一周信创舆情观察(5.24~5.30)

统小信uos

🏆【声网Agora】「WebRTC-如何搭建语音认证服务」

码界西柚

WebRTC RTC征文大赛 Agora 6月日更

难忘阿里,4面技术5面HR附加笔试面,走的真艰难真心酸

Java 编程 程序员 面试 架构师

2021年阿里/腾讯/美团/字节1万道Java中高级面试题汇总,新鲜出炉

Java架构师迁哥

【融云技术】超大规模并发下自定义属性的设置与分发

融云 RongCloud

华为云IoT设备接入服务全体验

华为云开发者联盟

物联网 IoT 华为云 智能IoT边缘服务 华为云IoT云服务

anyRTC Web SDK 实现音视频呼叫功能

anyRTC开发者

音视频 WebRTC RTC sdk

和12岁小同志搞创客开发:如何驱动各类型传感器?

不脱发的程序猿

DIY 传感器 如何驱动各类型传感器? 创客

Overbit Flash|5 月加密货币市场风暴抹去了 90% 以上的 NFT 交易量

Overbit学院

比特币 加密货币 NFT Overbit 保证金交易

Qcon全球软件开发大会 融云分享SDK交付质量保障经验

融云 RongCloud

前后端分离浅析以及分离教程

北游学Java

前后

【案例】构建应急指挥体系,实现生产过程实时监控

星环科技

一文回顾 Java 入门知识(中)

逆锋起笔

Java 后端 JAVA开发 java基础 javase

获5项大奖,发布《云计算开放应用架构标准》,阿里云持续领航云原生

阿里巴巴中间件

亮相Google I/O,字节跳动是这样应用Flutter的

字节跳动技术团队

【星环案例】我们用TDH+Sophon把工厂“搬”进高校实验室,推进产学研一体化

星环科技

踩准时钟节拍、玩转时间转换,鸿蒙轻内核时间管理有妙招

华为云开发者联盟

鸿蒙 时间管理 计数器 时间转换 计时

GitHub火到糊!这份阿里内部10W字Java面试总结,让你薪资翻倍

Java架构追梦

Java 架构 面试 跳槽

Java日志的心路历程

程序猿阿星

Java log4j logback log4j2框架 Java日志

☕【JVM技术之旅】全流程化分析Java对象的创建过程

码界西柚

JVM 6月日更 对象布局 内存结构

小树量化机器人系统开发(马丁策略)

薇電13242772558

区块链 数字货币

ETL工程师必看!超实用的任务优化与断点执行方案

敏捷调度TASKCTL

大数据 ETL算法 ETL ETL任务 ETL系统

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

Phoenix

新手小白必须知道的Linux基础:常用命令(1)

学神来啦

Linux linux命令 linux运维 linux 文件权限控制 Linux教程

什么是交叉编译

IT蜗壳-Tango

IT蜗壳教学 6月日更

【Flutter 专题】113 图解自定义 ACEPieWidget 饼状图 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

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