loader image

モデルベース開発向けのテストソリューション

Blog

モデルベース開発者のためのシームレスなテスト:Simulinkから直接実行

Spruha Pingale

Oldenburg, Germany

1. 早期検査の必要性

・アジャイルソフトウェア開発 アジャイル手法は、テストを開発作業にできるだけ近づける「シフトレフト(Shift Left)」という概念により、ソフトウェア開発に革命をもたらしました。このアプローチは、開発サイクルの早い段階で問題を発見することを重視し、「早期に失敗し、安価に対処する(Fail Early – Fail Cheap)」という原則に従っています。ある調査によると、早期のテストにより欠陥対応コストを最大30%削減し、開発期間を20%短縮できるとされています。 ・ソフトウェア定義車両(SDV) 車両へのソフトウェア統合が進み、継続的な開発やOTA(Over-the-Air)アップデートが一般化する中で、アジャイルプロセスの重要性はさらに高まっています。これにより、ソフトウェアの信頼性が確保され、シームレスなアップデートが可能になります。 ・モデルベーステストの課題 統合や運用段階で欠陥が発見されると、修正コストが高くなるという大きな課題があります。これにより、開発コストの増加やプロジェクトの遅延が発生する可能性があります。

2. テスト駆動開発

テスト駆動開発 (TDD)は、ソフトウェアの機能を実装する前にテストを書くことを重視する開発手法です。このアプローチは、コードの品質を確保し、バグを減らし、保守性を高めることを目的としています。

テスト駆動開発の主要な原則

  • できるだけ早くテストを書く テストケースは、実装段階よりも要求仕様から容易に導き出すことができます。
  • 反復的なプロセス 機能は小さなサイクルで段階的に開発され、継続的な改善と洗練が可能になります。
  • 動作に焦点を当てる テストが成功することで、機能が事前に定義された要求に対して正しく動作していることが確認されます。

結論

テスト駆動開発(TDD)は、コードが要求された基準を満たし、期待通りに動作することを保証するため、機能を開発する際の達成感を高めてくれます。

3. BTC EmbeddedPlatformでテスト駆動開発を実装する方法

モデルベース開発におけるTDDの課題

要求のトレーサビリティの欠如:トレーサビリティがないと、すべての要求がテストされていることを保証するのが難しくなり、ギャップや欠陥の見落としにつながる可能性があります。

自動判定の不在:テスト結果の手動レビューは時間がかかり、ミスが発生しやすいです。自動判定を導入することで、迅速かつ信頼性の高い合否判定が可能になります。

テスト自動化の欠如:手動テストは遅く、信頼性も低くなりがちです。自動化により、迅速で再現性のあるテストが可能となり、結果も一貫性を保てます。

ISO 26262認証の未取得:認証がないと、特に自動車業界において、ソフトウェアの安全性と信頼性を保証するのが困難になります。

一般的なテスト環境:モデルベース開発者が一般的に使用するテスト駆動開発(TDD)のセットアップでは、ディスプレイポートや定数ブロックが使われますが、これらには適切なテスト定義やテストケースの判定が存在しません。以下にその一例を示します。

Seamless Testing for Model-Based Developers: Directly from Simulink

BTC Embedded Systems が提案する TDD MBD ベストプラクティス

上記の課題を克服するために、以下のベストプラクティスを検討してください:

  • テストケースはできるだけ早く作成する:要件を理解したうえで早期にテストケースを作成することで、テストが最初から要件に沿ったものになります。
  • テストケースの判定結果(Verdict)を明確に定義・管理する:明確な判定結果により、迅速かつ信頼性の高い合否判定が可能となり、手動でのレビュー時間を削減できます。
  • テストケースと要件のトレーサビリティを確保する:トレーサビリティを確保することで、すべての要件がテストされていることを保証し、ギャップや欠陥の見落としを防ぎます。
  • すべてのテスト実行を自動化し、リグレッションテストを有効にする:自動化により、迅速で再現性のあるテストが可能となり、継続的インテグレーションをサポートします。
  • テストケースを後のコードテストプロジェクトでも再利用する:テストケースを再利用することで、時間とリソースを節約し、異なるテストフェーズ間での一貫性を確保できます。

Simulinkから直接TDD:BTC EmbeddedPlatformによる最適なソリューション

Simulink 2022b以降、BTC EmbeddedPlatformはMATLABに組み込まれた統合ソリューションを提供しており、Simulink内で直接テストケースの作成、管理、実行が可能です。

Simulink内でモデルの開発とテストを行うことができ、出力を確認するためにスコープやディスプレイポートを追加する必要はありません。

テストケースは、BTCプロファイルにアップロードすることで後のテストプロジェクトに転送でき、要件とのリンクを通じてトレーサビリティを高めることができます。

このアプローチにより、できるだけ早期にテストケースを作成し、テストケースの判定結果(Verdict)を効果的に定義・管理することが可能になります。

Seamless Testing for Model-Based Developers: Directly from Simulink

結論

これらのツールとベストプラクティスを活用することで、モデルベース開発者はSimulinkから直接シームレスなテストを実現でき、高品質なソフトウェア開発を可能にし、欠陥の特定と修正にかかる時間とコストを削減することができます。

Spruha Pingale

Oldenburg, Germany

Application Engineer

Spruha Pingale studied her Masters in Electrical and Information Technology in Darmstadt University and joined BTC in March 2024 as a Application Engineer. She has done few automation tasks within BTC, to make CRM process faster. She has joined the team with a focus on supporting our customers in their process of Model based development and handcode C/C++ development, be it testing, requirements engineering, or both. Her technical expertise lies in the C/C++ software development for embedded systems. She also has 2 years of experience in Automotive industry as a Software Engineer for CAN development, while working at Bosch India.

Connect on LinkedIn

良く見られている動画

動画再生
動画再生

評価用ライセンスの申し込み

私たちの製品を試してみたいと思っていただけたのであれば、喜んで無償の評価用ライセンスを発行致します。御希望であれば評価に無償のツールトレーニングもお付けします。ツールトレーニングは他社と合同ではなく、あなた専用で行います。

ミーティングを予約する

質問をしてみたかったり、ツールが動いているところを見てみたいという方は下のリンクからミーティングをご予約ください。セールスエンジニアリングチームのメンバーが喜んでご対応致します。

ニュースレターに登録する

お客様のEメールアドレスは、プライバシー認証済みのニュースレターソフトウェアCleverReachに送信され、技術的に配信されます。詳しくはプライバシーポリシーをご覧ください。

Videos

Discover some of the main features of our products in these short videos.