製品情報

「テストの効率化」が組込みソフト開発の鍵〜テスト設計もモデルベースでスピードアップ〜

机上でのテスト設計はもう限界

背景

  • 近年、組込みシステムの高機能化・大規模化が進んでいます。品質を落とすことなく、短期開発を実現するためには、テストフェーズの効率化が鍵となります。

課題

  • ソースコードへの依存過多
    ソースコード至上主義的な設計手法では、独自の試験環境を構築しなければならないことがあり、非常に非効率です。
  • 頻繁に発生する手戻り
    従来の要求分析・設計・実装・試験と続く開発工程の中で、不具合(バグ)の発見は試験工程に集中します。この試験工程で、仕様上の不具合が発見され、 要求分析まで戻る手戻りが発生し、試験・不具合修正・試験の作業が多発し、延いては試験工程が長くなってしまいます。
  • 試験ケースの品質と網羅性
    要求仕様に基づいて、適切な試験ケースを手作業で選択・作成することは非常に手間がかかり、またそれらのケースで十分であるか判断するのも困難です。たとえば、下図のモータ制御では、イベント発生順列を考えて全4129 の試験経路が抽出されます。このような小さな状態遷移モデルでさえ、すでに人手では全ての試験経路を抽出することはできません。

解法

  • ソースコードへの依存過多
    設計書をモデル(=実行可能な設計書)で表現すること(モデルベース開発)によって、要求分析から設計・実装・試験に至るまで、ソースコードに依存しない高品質の設計環境を構築します。
  • 頻繁に発生する手戻り
    モデルベース開発では、各工程から次の工程に渡る前に試験をし、不具合を低減します。これにより、手戻りの削減だけでなく、最終試験工程も劇的に短縮します。
  • 試験ケースの選択と網羅性
    グラフ行列理論を利用することで、テスト・パターンの量を削減しながらも、テスト品質を落とさずに試験します。

概要

特長

PerfectPassは、状態遷移モデルから試験項目を自動抽出するツールです。

  • 経路の検出
    - テスト対象の状態遷移モデルからシステムの振舞いを走査し、イベントと状態の遷移を「経路」として抽出します。経路の抽出法は用途に応じて、以下が選択できます:
    ・遷移網羅
    状態遷移表にあるすべての遷移セルを通る最小の経路を抽出します。これはプログラムのコードカバレッジに相当し、記述内容の妥当性をチェックするのに使います。
    ・経路網羅(組合せ網羅)
    指定した条件の下ですべての経路を抽出します。条件には経由する状態や遷移・ループの回数などを指定します。これは要求仕様から機能を検証するために使います。
  • 状態遷移表の読み込み
    - 設計・開発に使うZIPCの状態遷移表モデルをテスト対象にできます。
    - ZIPCのインポート機能を使えばEXCELで作成した表を、State-Model Converterを使えばStateflowのチャート(状態遷移図)をテスト対象にすることもできます。
  • テストデータ・シミュレーション実行
    - 抽出した経路からテストデータ(入力シーケンス)を作成します。
    - 作成したテストデータはZIPCでシミュレーション実行できます。
    - ZIPCのGUI画面・ログ機能を使って動作を確認できます。
  • アサーションエラー検出
    - ZIPC V10のASSERT機能を活用すれば、シミュレーション実行時に不具合を自動的に検出できます。

効果

    PerfectPassが開発環境にもたらす主な効果は以下の通りです。

  • モデルベース試験の実現
  • 試験工数の低減
  • 設計品質の向上
  • 各仕様設計段階でモデルベース試験を行うことにより、開発効率を4倍に向上させることができます。

ツール構成/オプション

  • PerfectPass(ツール本体)
  • ZIPC V10
    - 状態遷移表のエディタ
    - 試験ケースのシミュレータ

開発の流れ

  • STEP1  ZIPCのエディタ機能で状態遷移表のモデルを設計します。
  • STEP2  PerfectPassでテストデータを自動生成します。
  • STEP3  再びZIPCのシミュレーション機能でテストを実行します。

詳細

機能詳細

  • 状態遷移試験仕様抽出条件設定機能
    - 試験経路の抽出方法として、全試験シーケンスを抽出する方法と、状態モデルを網羅的に試験するためのシーケンスを抽出する方法の2通りを選択することが可能です。
    - 経路抽出開始条件、経路抽出終了条件、経路経由条件、経路除外条件を設定できます。
  • 試験仕様抽出機能
    - 設定された条件に従って、状態遷移経路(シーケンス)を抽出します。
  • 試験仕様表示機能
    - 抽出された状態遷移経路(シーケンス)を状態遷移表上に表示します。
    - また、試験シーケンスを図面で表すことも可能です。
  • ZIPC と連携した自動試験・検証機能
    - 抽出された状態遷移経路をもとに、ZIPC上で自動試験、自動検証(ATV)を行うことが可能です。

システム要件

PerfectPassは次の環境で動作します。

OS 日本語 Windows 2000 SP4 以降、Windows XP SP1 以降
CPU Pentium III 800MHz 以上
メモリ 256MB 以上
ディスク容量 5MB 以上の空き容量 (インストール時)
ビデオカード 1024×768 24bit Color 以上の解像度持つビデオカード
実行言語 Sun Microsystems JDK 1.4.2_03

↑ページTOPへ