開発プロセスを見直すとき

ソフトウェア開発に関わる人なら誰でも、要求の複雑化や度重なる仕様変更に悩まされていることでしょう。とりわけ組み込みソフトの開発においては、不具合の発生が致命的問題となるにも関わらず、仕様変更が生じたからといって十分な開発期間が与えられることはほとんどありません。与えられる選択肢は、優秀な開発者を疲弊させるか、品質を低下させるか、より良い製品のための仕様変更を諦めるか。それともリリース計画を見直して、製品の市場投入を遅らせるのか。このような判断を迫られた経験があるなら、開発プロセス自体を改善するべきステージに来たということです。

これはいわば、ソフトウェア開発における永遠の課題と言えるでしょう。組織の数だけ課題と解決方法があります。とはいえ多くの組織におそらく改善をもたらすことのできるソリューションもあります。それこそが「テストの自動化」です。

テストの自動化がもたらすもの

テストの自動化に取り組むと、どのようなメリットがあるのでしょう。テストの自動化くらいで状況は改善するのでしょうか。

・開発工数そのものが軽減される

テストが自動化されるということは、テスト工数の軽減に直結します。開発者がラクになること、すなわち開発工数全体としても工期が圧縮できるということです。あらゆるリリースが早まり、コスト軽減されるとしたら、経営者としては採用しない理由はありません。

・ソフトウェア品質が向上する

テストツールが膨大なテストパターンを生成し自動的に処理する。手動では実現できないレベルでのテストによってこそ、ソフトウェアの品質が担保されます。オートモーティブ、航空・宇宙、医療機器等、ミッションクリティカルな世界ではそもそも厳密なテストが要求され、適切なカバレッジが得られなければ認証を得ることすらできないのです。

・仕様変更に柔軟に対応できる

仕様変更は無闇な要求ではなく、最終的な製品が市場価値を得られるように生まれたアイデアの結晶です。仕様変更の及ぼすインパクトを軽減することができれば、例えばひとつのコード変更が影響する箇所をテストツールが追いかけて自動的にテストしてくれるなら、開発者が眉を潜めることはありません。「よりよい製品」を作るために、皆が一致団結することができるのです。

テストツールに求められるもの

「テスト自動化なんてうまくいかない」という開発者もいます。話を聞いてみると、多くの場合「以前テスト自動化ツールを使ってみたが、役に立たなかった」というのです。確かに中途半端な自動化ツールでは、その効果は限定的であり、開発プロセスの改善が思うようには進まないこともあるでしょう。テスト自動化に求められること、あるべき姿とはどのようなものでしょうか。

1. 自動テスト生成機能が「使える」ものであること

テスト自動化ツールに最も期待する機能でありながら、使ってみなければわからないのが「どのように自動でテストを生成してくれるのか」ということでしょう。この機能が期待はずれであれば、そもそも導入の意味がありません。高度なソース解析機能があり、優れた自動化機能を有しているからこそテスト工数の削減が実現されるのです。

VectorCASTは、強力な自動テスト生成機能を持っています。(一例)

2. 多くのターゲット、コンパイラをサポートしていること

組み込みソフトウェアの開発におけるテストツールは、サードパーティのコンパイラ、デバッガ、シミュレータと連携して多くのターゲットをサポートしていることが重要です。実機ターゲットでのテストまで実現できることが望ましく、本当にやりたいことができなければ意味がないのです。

VectorCASTは、パートナーと連携し多数のターゲットをサポートしています。

3. 変更ベーステストにより効率的な回帰テストを実現できること

仕様変更に柔軟に対応するには、コードに変更を加えた時にテストツールが何をしてくれるかが重要です。関連するテストケースを自動的に検出し、影響が出ると考えられるテストを実行できるなら、仕様変更はもう恐れるものではないはずです。

VectorCASTは、コード変更に伴うテストの検出や選択実行が可能です。

4. グループで使うテストケース管理機能が充実していること

開発は一人の人間が行うものではありませんから、テスト状況もグループで共有する必要があります。どこまでテストが進行しているのか、パスできていない部分はどの程度あるのか、チームのメンバーが把握できる機能があるべきでしょう。

VectorCASTには、ウェブベースのテスト状況把握アプリケーションが用意されています。

5. テストツール自体が信頼性を担保されていること

そもそも、テストツールの動作は信頼できるものでしょうか。厳しい認証をパスするための条件には、使用するテストツール自体が規格に準拠して信頼性を確認されているという前提があります。テストツールがどのような規格認証取得に対応しているかを確認すれば、その信頼性はある程度評価できるはずです。

VectorCASTは、TUV SUDの IEC61508[産業用機器] / ISO26262[自動車] 規格認証取得ツールです。

テストツールの選定・評価には、実際にトライアルを行ってみることが一番です。
VectorCASTが高度なテスト自動化を実現し、皆さまの開発プロセスを改善できるかどうか、ぜひ一度お試しいただきたいと思います。
導入のご相談やコンサルティング、製品トライアルのお申込みなど、気軽にお問い合わせください。

トライアルのお申込み・お問い合わせはこちらから