14.07.2025

第5章:なぜソフトウェアの欠陥は後を絶たないのか

OEMが積極的でなく消極的なままである。

反応型のQAアプローチでは、問題が発見されるのが遅すぎ、多くの場合顧客によって発見されます。
  • 修正にコストとリスクがかかる、後期段階のバグ発見
  • 現場からの苦情をトリアージするために結成された、その場限りのタスクフォース
  • 断片的な検証で、長期的な安定性や稀な問題パターンに関する洞察が限定される。

100%の機能性は長期的な安定性を意味しない

  • 自動化された機能テストは、機能がテスト中に一度だけ動作するかどうかをチェックするが、長期的にどのように動作するかについては何も語らない。
  • 手作業によるテストは大規模なチームを必要とするが、テストウィンドウは通常、長期的な安定性の問題を明らかにするには短すぎる。また、人間が主導するプロセスであるため、重大な問題が抜け落ちる可能性もある。
  • かつては機械的な耐久性をテストするために設計された路上走行試験が、現在ではソフトウェアのテストにも使用されている。しかし、このような試験は、隠れたソフトウェアの欠陥を捕捉するのに十分な期間実施されなかったり、エンジニアが問題を理解するのに役立つ十分なデータが収集されなかったりすることが多い。

「それはティア1の問題だ」というのは、危険なほど時代遅れの考え方だ。

自社製ツールではギャップを埋められない

  • ソフトウェアの品質は、一般的なエンジニアリングの問題ではなく、製品に特化した深い専門知識が要求される。
  • 社内チームには、ベンダーが提供するコードと社内のコンポーネントを横断して根本原因を診断するのに必要な、部門横断的な可視性が欠けていることが多い。アンドロイドだけでも、OEMではなくグーグルが開発した非常に複雑なソフトウェアシステムであり、その内部構造に関する理解は限られている。
  • インフォテインメント・システムの場合、実世界の複雑な挙動をモデル化するのは、その分野に特化した知識がなければ難しい

要点

  • 品質保証が依然として消極的である。多くのOEMは、不具合がすでに現場に届いてから本格的なQAに着手しているため、パッチや高コストの修正が急がれる。
  • 従来のテストは長期的な問題を見逃す。機能テストや手動テストでは、短期的なパフォーマンスしか検証しないことが多く、実際に使用される数週間にわたってシステムがどのように動作するかは検証されない。
  • OEMとティア1の力学がずれている。インフォテインメント・システムは、深いコラボレーションと責任分担を必要とするが、ティア1の関係のほとんどは、まだ2005年のように動いている。
  • ドメインの専門知識が不足している。OEMの社内QAツールは、Android Automotive OSのような複雑なインフォテインメント・システムに対応できないことが多い。