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