組込みソフトウェアの統合テスト
個別に検証されたソフトウェアユニットが、より大規模なコンポーネントやサブシステムに統合されると、新たな種類の不具合が現れます。インターフェースの不整合、共有データに関する誤った仮定、モジュール間の意図しない結合などが、この段階で明らかになります。統合テストでは、システムレベルのテストが始まる前に、こうした問題を特定し、解決します。
統合テストのテスト範囲
統合テストは、ソフトウェアユニットやコンポーネント間の境界に焦点を当てています。主な検証目的には、以下のものが挙げられます:
- モジュール間のインターフェイスの適切な実装
- 複合的な条件下で複数のユニットが相互作用する際の正しい動作
- データ結合:共有データに対する読み取りおよび書き込みアクセスの順序と正確性
- 制御結合:コンポーネント間でやり取りされる制御信号が、仕様通りに動作することを保証すること
DO-178Cおよび関連標準では、データ結合およびコントロール結合を明示的に特定し、テストを行い、完全であることを実証する必要があります。これには、コンポーネント間の意図しない結合が存在しないことを実証することも含まれます。
統合レベルにおける適用範囲
カバレッジ測定は統合レベルでも継続されますが、多くの場合、ユニットレベルとは異なる計測手法が用いられます。VectorCAST/QAは、コンパイラとは独立してソースコードに計測機能を組み込むため、さまざまなビルド構成や、ユニットテストのセットアップを変更することが現実的でない環境でも使用可能です。
インスツルメンテーションが施された実行ファイルは、既存のテスト環境で実行され、実行中にカバレッジデータが収集されます。これにより、テスト設定を変更することなく、ホワイトボックスのカバレッジ測定をブラックボックスの統合テストやシステムテストに適用することが可能になります。
データとコントロールの結合
VectorCASTのコンポーネントおよびカップリングカバレッジレポートは、DO-178Cおよび類似の標準で要求されるデータおよびコントロールのカップリングに関する証拠を提供します。VectorCAST/Couplingは、データカップリングの読み取りおよび書き込み動作を検出し、コントロールカップリングの呼び出しを捕捉することで、監査人が求めるカップリングカバレッジレポートを作成します。
統合からシステムへ
VectorCASTは、ユニットテスト、統合テスト、システムレベルのテストを、これら3つすべてにおいて共通のテストインフラストラクチャ、カバレッジ測定、トレーサビリティレコード、およびレポート機能を使用してサポートしています。ユニットレベルで構築されたテストスイートは、テストの範囲が統合テストやシステムテストに移行しても、再構築する必要はありません。