2023/5/30
by Rabih Arabi
※本稿はDXC Technologyのグループ企業であるLuxoftの記事を翻訳したものです。出典:From chaos to clarity: How test management streamlines development
ソフトウェア開発の世界では、テストは優れた品質のソフトウェア製品を提供するための極めて重要な要素です。ただし、テスト管理が適切でなければ、テストプロセスは混乱し、効率や効果が低下する可能性があります。ソフトウェアテストにおいて、テスト管理はテスト全体の構造やテストに関わる組織を整え、テスト状況の見通しや調整を可能にするなど、欠かすことのできない役割を担います。
テスト管理がプロジェクトに与えるメリット
効果的なテスト管理は、ソフトウェア開発とテストのプロジェクトに付加価値をもたらします。主に次のようなメリットがあります。
効果的なテスト管理を実施することで、ソフトウェア製品の品質を大幅に向上させることができます。ソフトウェアのあらゆる側面 (パフォーマンスやセキュリティ、ユーザビリティといった機能面および非機能面の特性など) を徹底的にテストする、適切に構築・整理されたテストプロセスにより、効率が向上します。テスト管理により、次の作業がサポートされます。
- 明確なテスト計画の定義
- テストの開始基準と終了基準の特定
- テスト環境の構成
- 優先順位を付けて協調的にテストスケジュールを設定
このようなサポートにより、テストに必要な時間とリソースが最小限に抑えられると同時に、徹底的かつ効果的にテストを実施できます。さらに、効果的なテスト管理により、潜在的な問題を早期に見つけ出して、ソフトウェア製品の不具合や問題のリスクを軽減することで、小さな問題が重大な問題に発展して大規模で高額な修正を必要とする事態になることを防ぎます。
効果的なテスト管理により、テストのプロセスと結果に関する包括的な情報が提供されることで、プロジェクトチームのメンバー間のコミュニケーションとコラボレーションが促進されます。これにより、チームメンバー全員が協力し、不具合のない製品と顧客満足の実現という最終目標の達成を目指して、さまざまな要件をクリアしていくことができるようになります。
成功に向けた3つのフェーズ
効率的なテスト管理のアプローチはISO 29119のテストプロセスに準拠しており、次の3つのフェーズで構成されます。
テスト管理プロセス
図1.テスト管理プロセス — ISO/IEC/IEEE 29119ソフトウェアテスト
各フェーズを詳しく見てみましょう。
テストの戦略と計画
確実なテスト計画を策定するには、プロジェクトとテスト対象のデバイスについての関連情報をすべて収集します。次に、テスト範囲、テストの目的、テストレベルなど、その他の重要な側面を定義します。ISO/IEC/IEEE 29119:2021 Part 3 (テストドキュメント) には、重要な詳細事項の大部分を網羅するテスト計画の推奨テンプレートが示されています。さらに、テスト戦略では、プロジェクトの必須アプローチの概要を示すと同時に、さまざまな環境、たとえばシミュレーション環境、仮想環境、実際のハードウェアなどについても考慮する必要があります。
テストの戦略と計画のプロセス
テストの監視と制御
テストの実施状況、スケジュール、期限を常に監視することは極めて重要です。効果的な方法の1つに、ダッシュボードの作成があります。さらに、追跡すると有益なものとして、対応するテストケースが欠如している内部品質面 (要件など)、要件との関連性がまったくないテストケース、テストケースとのリンクが欠如している不具合、全体的なテスト品質の向上に役立つその他の関連指標が挙げられます。
テストの監視と制御のプロセス
テスト完了
情報共有の徹底は管理者にとって最重要事項です。情報共有によりチームの集中力が維持され、プロジェクトマネージャーや利害関係者がより多くの情報に基づいた意思決定を行えるようになります。ただし、一連の有用なレポートの指標を定義することが重要です。これらの指標をプロジェクトの設定やレポートの受領対象者に合わせて調整すると、効果的なコミュニケーションが可能になります。
テスト完了プロセス
実例
適切なテスト管理が大きな変化をもたらしている、プロジェクトの成功事例を以下に紹介します。
私たちがテストに着手したとき、すべてがかなり混乱していました。すべてのテスト工程にアジャイル手法を導入した初めてのプロジェクトだったことに加えて、開発チームは旧プロセスにすら従っていませんでした。せめて旧プロセスが順守されていれば、テストチームは目的を達成できていたかもしれません。
私たちが抱えていた問題
- プロジェクトが、要件とテストレベルをマッピングするときに、ASPICEフレームワークの要求事項に従っていなかった
- ストーリーとエピックが、機能を完全に実装していなかった
- 機能が完全に実装されてシステムテストの準備が整うよりもかなり前に、ストーリーとエピックが評価のためにシステムテストチームにリリースされていた
- 開発チームがテストチームのための正確または有用な情報を持っていなかった
さらに、開発チームとテストチームが時差のある場所で活動していたため、コミュニケーションが困難になっていました。生産開始にたどり着くことが危機的であることが明らかになり、上級管理職のサポートが入ることになりました。
適切なテスト管理を適用することで、徐々に状況が改善されました。
1年後の状況
- すべての利害関係者間のコミュニケーションが明確かつオープンに
- ストーリーとエピックが正しく利用されている。機能が十分に説明され、準備が整ってからテストチームに渡されている
- 開発チームは従うべきプロセスを明確に理解している
- プロジェクトが自動車規格に準拠している
全体的にチームのテスト効率が向上し、物事が正常に進み始めました。私たちには、リスクの特定方法と状況の改善方法を知っているテストマネージャーがいて、プロセスに従うチームがあります。適切なテスト管理のおかげで、すぐに製品が成功を収め、お客様に満足していただけるでしょう。
ソフトウェア開発の不可欠な部分
お客様の期待に応え、業界標準や規制に準拠する高品質のソフトウェア製品を提供するには、効果的なテスト管理が不可欠です。効果的なテスト管理の実践、ソフトウェア開発、テストプロジェクトにより、ソフトウェア品質、効率性、顧客満足度が向上します。テスト管理を過小評価してはいけません。テスト管理は、ソフトウェア開発の不可欠な要素です。
著者について
Rabih Arabi
CoC CVテスト責任者
Luxoftのコネクテッドビークルシステムテストサービスを主導。同サービスでLuxoftは、テレマティクス、診断、車両ネットワーク、OTA更新、サイバーセキュリティテストなどの包括的なサービスを提供しています。
ソフトウェア/システムテストにおいて豊富な経験を持つテスト専門家として、主にテストプロセス、戦略および運用上のテスト管理、およびテストアドバイザリを中心に担当しています。ISTQB認定のプロフェッショナルでもあり、上級レベルのテストマネージャーの理事、著者、査読者を務めてきました。
テストに対する情熱と、高品質のソリューションを提供したいという熱意により、継続的な学びと新しい挑戦の探求を大切にしています。