为什么向苹果报告错误可能会损害软件质量

2021-02-21 07:55:33

近年来,我与许多人一样对macOS发行版中的明显错误越来越多感到担忧。在过去一周左右的时间里,我遇到了一些真正的问题:无法导入RTF文档内容的Rich Text Spotlight导入器,首次检查时从未更新的Bluetooth状态以及最近的Big无法在连接到M1 Mac的外部SSD上运行的Sur安装程序和更新程序。

每次,我都问苹果是否在发布之前对其软件进行了测试,因为我看到的证据表明,只有在该版本的macOS发布之后,许多更改才由用户进行测试。

当然,这只是Apple工程师创建的新代码和更改代码的一小部分。当我检查macOS的更新以获取递增的内部版本和版本号时,通常有数百个(如果不是数千个),其中大多数按预期运行。是那些不常用的工具,通常是诸如磁盘实用程序之类的关键工具,这些工具被明显的错误所破坏。

软件开发有一个传统的周期,在这个周期中,工程师反复进行编码和测试,直到他们确信更改的功能正确且健壮,并且所有其他功能仍按预期运行为止。然后更新文档,并发布产品或组件。所有这一切都必须在紧迫的期限内进行:在所有年度主要macOS发布周期内,六个或六个以上的计划更新(例如macOS 11.2)不会在一切都达到成熟时发生,而是由日历驱动。在这两者之间是过去称为补充更新的范围,现在必须添加诸如11.2.1之类的补丁程序以解决意外情况。

去年夏天,Dave(我将其称为)对Catalina 10.15.6的Rich Text Spotlight导入器进行了一些更改。这些足以将其内部版本号从319提高到319.60.100,但其版本号保持不变。压力不断,发布日期定为7月15日。尽管Dave测试了自己所做的更改,但他没有时间测试mdimporter是否仍然为RTF文件的内容编制了索引。他当时没有意识到的是,他改变了代码中的逻辑,以至于RTF文件不再将其内容编入索引。

2020年7月15日,数百万的Mac用户更新至10.15.6,Dave的Spotlight导入程序停止了其RTF文件的工作。为了准备发行Big Sur,进行了更多更改,使其内部版本号达到326。仍然没有针对RTF文件进行过测试,并且该错误一直存在到今天,在Rich Text导入器中无法使用。富文本文件。

苹果依赖于通过其反馈系统报告的错误。由于此Spotlight错误难以识别,因此用户和第三方开发人员现在才意识到Dave的简单编码错误的后果。如果没有全面的测试,Apple几乎完全依赖于反馈来检测和诊断错误。

任何质量管理专家都会告诉您,该系统既有缺陷,又效率很低。这就像让没有窗户的汽车驶下生产线,然后等待客户将它们带回去进行安装。到目前为止,最好的选择是第一次正确构建,或者次之,在发货之前检测并纠正缺陷。只要运输更新的价格仍然相对便宜,并且您的客户很乐意报告所有您未修复的缺陷,它至少在短期内似乎可以正常工作。

我现在已经到了根本没有时间报告所有这些错误的阶段,也不必这样做。确实,我已经意识到,这样做只会使Apple有缺陷的工程实践永存。

开发软件既费时又费力。代码通常相对较快地编写,但是测试,调试和记录则慢得多。苹果通过减少测试和调试,以及(几乎总是)通过不记录文档来偷工减料并节省金钱。我们通过投入时间为Apple进行测试和编写文档,从而使Apple摆脱了这一困境。如果您随后帮助Apple继续执行其不良做法,则无需抱怨macOS和其他Apple软件的质量低下。

有些错误并不明显,对于这些错误,用户错误报告仍然很重要。如果您发现仅在特定型号的Mac上每月仅在该月的第一个星期二发生一次不可思议的恐慌,请务必进行报告,这一点仍然很重要。 Apple可以测试的东西是有限制的,而且无论何时发现不那么明显的错误或其他问题,“反馈”都是报告它们的绝佳方法。

但是,苹果公司利用其现有系统来发挥自己的优势。它始终处于控制之中:您的“反馈”报告可能会在没有任何确认的情况下通过,可以被完全忽略,或者会被告知某些明显被破坏的行为“符合预期”。 Apple甚至要求提供大型的sysdiagnose报告,以建立障碍,使整个过程更加麻烦,尽管这可能没有相关性:如果您曾经尝试发送没有反馈的报告,那么您会理解我的意思。

最重要的是威胁。如果我们没有完成“反馈”,那么Apple将不会知道该错误,也不会修复该错误。这是一种微妙的勒索形式,几乎没有一家世界领先的公司对待其客户的态度。如果Apple确实在乎其产品的质量,那么它应该自己进行改进以确保其发行,并确保macOS的发布具有绝对最小的缺陷。相反,当其他行业都竭尽全力确保客户的产品没有问题时,它会准备一个永久的借口,即它没有发现问题是因为我们没有报告问题。

如果错误非常明显,以至于永远不应该发布,则我将在此处的文章中继续提供详细信息,并将其链接到macOS Howlers的新页面。如果您是Apple工程师,请不要个人使用。我认为当前的系统也不会对您有好处,但是目前,Apple似乎只是在回应公众的批评。如果我有什么可以帮助您或您的团队解决这些问题的方法,请与我联系,我会尽力而为。