来自公众号:
CSDN程序人生
作者 | Laurentiu.Raducu
翻译 | 郑丽媛
软件
的重要性愈发
凸显的如今,本文作者指出如今的软件质量远不如十年前,并解释了这种现象背后的原因。
原文链接:https://bitheap.tech/why-is-software-quality-worse-than-a-decado-ago/
自互联网诞生之初,软件的作用就变得越来越重要,以至于我们的世界现在严重依赖软件。从发射卫星到轨道,到管理庞大的供应链网络,软件在各种运作中都不可或缺。在我们的日常活动中,不论是开车、坐飞机还是购物支付,也都离不开软件。
然而,随着软件解决方案不断增长,由软件错误引发的事故也会相应增加。如果你在科技公司工作,或者日常工作中依赖软件,那你可能经常会遇到性能和可用性方面的问题。
为什么会出现这种情况呢?尽管已经设立了用户体验专家和质量保证工程师等专业角色,他们也努力将软件中的错误数量降到最低,但现代软件的复杂性仍然不容忽视。即使做出了这些努力,软件行业依旧面临着重大挑战。为此,本文将探讨这一持续质量危机的根本原因,并揭示为什么明明取得了这些进步,软件质量仍然是一个关键问题。
1、我所说的软件质量是什么?
谈到软件质量,有许多不同的定义。就我个人而言,我会从以下几个方面来考虑:功能性、可靠性、易用性和安全性。
就功能性而言,我们要考虑:软件是否提供了用户实现目标所需的所有功能?是否需要依赖其他软件?举个例子,我认为在消费者软件方面, Facebook 就是一个不符合功能性要求的糟糕应用。你需要一个应用来使用平台的动态消息功能,还需要另一个应用来使用聊天功能——不过在网页应用中,Facebook 在同一个 URL 下提供了这两个功能。另一个例子,仍然适用于消费者软件,那就是视频游戏行业。我在大学时代玩电子游戏时,从未听说过一款游戏需要打 20 个补丁才能玩。但现在,游戏公司推出产品后,给人的感觉像是测试版。他们通常会在推出后的头两天发布 2 个补丁,我们更新了才能玩游戏。这个行业似乎已经完全崩溃了,价格也在不断上涨。
在可靠性方面,软件必须是可靠的,要几乎没有停机时间或错误,这包括了从故障中恢复的能力和保持数据完整性的能力。有很多报告显示,云服务或其他关键软件的可靠性还不够。例如 2023 年,谷歌支持论坛上充斥着用户投诉数据从 Google 云端硬盘中丢失的报告。虽然我个人认为,将数据存储在云端比存储在移动硬盘上更安全,但事实并非如此!
从易用性的角度来看,软件必须方便用户使用,不能过于复杂,而且性能要好。在我生活的地方,金融业在经济中占据了很大的比重,银行和投资公司在这里拥有巨大的权力和几乎无限的资源。尽管如此,他们的移动银行平台简直是一个笑话!卡顿、复杂和不直观的用户界面,我每次用它们时都很烦,甚至他们的反馈表也没法用,每次我试图提交时就会出现 500 错误。
最后,还有最重要的一点:安全性。现代软件有许多依赖项,我们都知道管理它们并使其保持最新版本有多难。即使有 Renovate 或 Dependabot 这样的自动工具,各种库的提供商也无法确保其新的主要版本能向后兼容。这就给开发人员的工作增加了难度,他们不得不手动处理这些依赖关系的升级。然而,在他们设法做到这一点之前,攻击者可能已经利用旧依赖项的漏洞来窃取用户数据了。这些数据泄露不仅给公司带来了麻烦,还可能会面临用户的法律诉讼,而且对最终用户来说也是一种危险。每天都有成千上万 GB 的用户数据,如电子邮件、密码甚至电话号码,被倾倒在暗网论坛上,这也是世界各地垃圾电话激增的主要原因。