概要

開発生産性Conference2024の参加レポートです。
今回は参加したセッションの中から「高品質と高スピードを両立させるソフトウェアテストアプローチ」の講演について紹介します。
本講演では、高品質と高スピードを両立を実現するためのアプローチとして以下4つの観点で解説されました。

  • テストアーキテクチャ設計の工夫
  • アーキテクチャのテスト容易性確保
  • テスト品質の作りこみ
  • 妥当なテストを導くプロセス構築


※資料はこちらで公開されております

テストアーキテクチャ設計の工夫

テストアーキテクチャ設計の工夫では、テスト活動全体の構造の考え方や、その中で生産性を高めるために必要な観点について解説されました。
設計のアプローチとしては、テストの責務を具体化/細分化していき、各責務に対して適切なテスト手法を検討することが必要となります。そのうえで設計の工夫として、自動テストなどの生産性の高いテストでより広い範囲の責務を確認できるように設計していくことでスピードを高めることができます。
テスト活動を分解し、各テストの重みづけをしていく考え方はとても参考になりました。


アーキテクチャのテスト容易性確保

アーキテクチャのテスト容易性確保では、テストを容易にするための工夫について解説されました。
テストしやすいように成果物を作りこむことはテストの品質・スピードの向上につながります。特に、各コンポーネントのリスクに応じてテスト容易性を作りこむ考え方が重要となります。
重要な機能については自動化しやすいように作る/網羅性を確認しやすいように作るなど、開発の段階からテストのことを考えていくことが重要だと感じました。

テスト品質の作りこみ

テスト品質の作りこみでは、テスト品質を高めるため事例としてフレーキーテストの対策について解説されました。
フレーキーテストは結果が不安定なテストのことで、テストの信頼性不足の原因となり、自動テストで課題となります。原因を解決し、信頼性を高めることができればテストの品質・スピード向上につながります。
解決方法は原因により様々ですが、実装レベルの対策も多くあり、開発者のスキルを高めることも重要だと感じました。また、枯れた技術を使うことも対策として挙げられており、重要な機能については安定性の高い技術を選定するなど、アーキテクチャ設計でも工夫する観点がありました。

妥当なテストを導くプロセス構築

妥当なテストを導くプロセス構築では、テスト設計をする上での考え方について解説されました。
テスト設計では、顧客のビジネス観点で妥当なテスト設計をする必要があります。また、定期的にフィードバックを行い、テスト内容を改善していくプロセスを構築することも重要です。


まとめ

今回解説された4観点を通して、テストの品質/速度を高める様々な考え方を学ぶことができました。これらを取り入れ、組み合わせていくことで開発生産性の向上を目指したいと思います。
特にテストアーキテクチャの設計については興味深い考え方でした。今後の開発ではどのようなテストを行うべきか、テストの全体構成から考えてみたいと思います。