みなさんのソフトウェア開発では、トレーサビリティを確保しているでしょうか。そもそも、トレーサビリティとは何でしょうか。ソフトウェア開発におけるトレーサビリティの紹介と、トレーサビリティとテストの関係をソフトウェアテストの指標の1つであるカバレッジを交えて説明します。
CONTENTS
トレーサビリティとは
ソフトウェア開発では、適切に要件の管理を行い、漏れなく設計書やテスト仕様書などのテスト工程の成果物に要件を反映させることが、品質を確保する上で重要と言われています。
要件管理として、要件そのものの管理に加え、要件とテストフェーズの成果物とのトレーサビリティの確保を行います。トレーサビリティとは、要件とテストフェーズの成果物を紐づけることで、要件に関連する設計項目やテストケースやテストエビデンスを追跡できるようにすることです。このことを『トレーサビリティを確保する』といいます。
トレーサビリティを確保することのメリットは、すべての要件に対する設計漏れやテスト漏れがないことを確認できる事。その為、開発作業の手戻りや市場不具合などを防ぐ効果があります。また変更に対する影響が明確になりますので、修正漏れがないか、他機種に影響がないか分かり、変更による別の不具合の混入を防ぐ効果があります。デメリットは、ソフトウェア開発はますます開発が大規模化、複雑化している現在、すべての要件や成果物をもれなく管理するのは、多大な工数増につながる点です。
機能安全規格の対象となる製品など、特に信頼性が高い製品ではトレーサビリティの確保は必須の対応となっています。
カバレッジとは
図. 動的テストツール カバレッジレポート
ソフトウェアテストにおいて、テストケースの網羅をみるために、カバレッジを計測します。カバレッジは、テストの抜け・漏れを見るための大切な指標となり、必要最低限テストされていないコードをなくすことを目的としています。
機能安全規格の対象となる製品などの信頼性が高い製品開発のプロセスにおいては必須で取得する必要があります。構造的カバレッジが、メソッドに従って計測しなければならず、カバレッジが不十分である場合は、追加のテストケースを用意するか、カバレッジが不十分な箇所の説明をしなければなりません。
図. 動的テストツール カバレッジ MC/DCレポート
以前の記事でカバレッジには種類があることを説明しました。命令網羅といわれるステートカバレッジ、分岐網羅のブランチカバレッジ、条件・判定に対する網羅の MC/DC があります。
カバレッジ計測には、ソフトウェアの規模や複雑度に依存しますが、一般的に工数がかかる傾向にあります。コーディングにおける工数の2~4倍ほどかかると言われていますので、工数的に注意が必要です。
トレーサビリティとテストの関係
図. トレーサビリティにおける要件とテストケースの関係
テストに関しては、要件・設計とテストケースとのトレーサビリティが重要です。
テストケースは、要件・設計からテスト仕様・要件を導き出し、すべての要件を漏れなく網羅するように作成する必要があります。トレーサビリティはシステム要件と、ソースコード、それに相当するテストケースまでリンクできることが必要です。そして双方向のトレーサビリティが求められますが、トレーサビリティツールの使用がなくては、その実現は難しいといわれています。トレーサビリティを確保することによって、どのテストケースがどの要件・コードを保証するのかを明確にして、すべての要件が、テストで、もれなく網羅されていることが保証できます。トレーサビリティを確保することで、「テストケースによって何が保証されるか、どの部分のコードが保証されるか」が明確になります。
ソフトウェアテストによって何を満たせるかが明確になり、品質を示す根拠の説明が明確になることで、ユーザーや顧客だけでなく、開発者も根拠のある安心感を得ることができます。
また、テストケースとテスト結果のトレーサビリティも重要になります。
テスト実施結果のトレーサビリティを取ることは、機能安全における「説明責任を果たすためのエビデンスとして」も勿論ですが、「上流工程への改善アプローチとして」という視点も大切になります。トレーサビリティが確保されている状態でテスト実施しカバレッジを計測することで、品質向上のための様々な改善点を見出すことができます。
カバレッジ網羅されていない箇所を解析することで、テスト設計に問題があるのか、実装に問題があるのか、要件・設計段階で過不足があったのか…など、どの工程にどんな問題があったのかを追っていくことができます。
まとめ
トレーサビリティとテストの関係を説明しましたが、いかがだったでしょうか。
両者は品質を確保する上で、重要な関係にあります。また対応するには工数がかかりますので、ツールを活用し、しっかりと計画を立てて実施することをおすすめします。
最後に
ハートランド・データが開発、販売している動的テストシリーズの 機能安全版 DT+FS (Functional Safety)が、2021年 春にリリースします。機能安全規格 ISO 26262 に対応しており、安心してお使いいただけます。最新機能ではトレーサビリティを確保する為の機能を強化しています。是非、ご確認ください。