単体テストとは何か、なぜ必要なのか【前編】:はじめての単体テスト(5/5 ページ)
本稿では、「単体テストとは何か?」「なぜ単体テストが必要なのか?」「どのようにすれば効率的に単体テストを行うことができるのか?」といった観点から、近年の組み込み業界の現状や単体テストについての基本的な知識を分かりやすく説明していきます。
組み込みシステムでは、ビルドの自動化システムの構築に手間が掛かったり、単体テストを自動化することが難しかったりといった問題がありました。CI方式のテストを自動化するためには、以下の3点を自動化することが求められます。
- コード変更で影響を受けるテストケースを判別
- それらのテストケースをコード変更に対して実施
- テスト結果のレポートを作成し、コードカバレッジを更新
この工程をツールで自動化することで、コーディング/テストサイクルを数日から数分に短縮することができます。
3.3 CI(継続的インテグレーション)を導入するためには
CI(継続的インテグレーション)を導入するためには、まず現状のテストプロセスがどのような状況かを把握することが重要です。単体テストといえば、カバレッジ100%を達成すればよいと考える方もいらっしゃいますが、カバレッジは分岐条件を満たしているかを把握するだけで、単体機能の不具合がないことを意味するわけではありません。
単体機能の不具合がないことを確認するために、入出力値のテストや要件ベースのテストを行います。
テストは一度行ったら終わりではありません。新しいコードを追加したら、すでにテストが終わっている箇所で不具合が発生していないかを、回帰テストにより確認します。また、新しいコードを追加したかどうかにかかわらず、継続的にテストを繰り返すことで、バグ発生の可能性をさらに減らすことができます。
回帰テスト以降のテスト段階では、過去に行ったテストも再度実行するため、回帰テストに対応したツールを使用してテストを自動化しておくと、効率的に開発を進めることができます。
後編では、ソフトウェアの品質管理や単体テストの手法について解説します。
会社紹介
ベクター・ジャパン株式会社
ベクターは、創立から30年以上にわたり、カーエレクトロニクス開発の頼れるパートナーとしてお客様をサポート。現在、世界各国30拠点以上でベクター社員が、自動車業界および関連する業界のメーカー様とサプライヤー様に、組込システム開発に必要なツール、ソフトウェアコンポーネント、サービスなど、プロフェッショナルな開発プラットフォームを提供している。
▼ベクター・ジャパン
▼VectorCASTページ
https://www.vector.com/jp/ja/products/products-a-z/software/vectorcast/
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- HILSとは何か
最新の高級自動車は200個ものコンピュータを搭載しているといわれる。ECU(電子制御ユニット)と呼ばれるこのコンピュータが、正しく動作するかどうかを試験するテスト装置として注目を集めているのがHILSだ。本連載では、HILSの導入や、HILSを使ってECUのテストを行うための基本的な知識の提供を目指す。連載第1回は「HILSとは何か」だ。 - 次世代の車載ネットワーク「CAN FD」とは
セキュリティ対応や自動運転などの車両の高機能化に伴い、より高速な車載ネットワークが求められている。本稿では次世代の車載ネットワークの1つとして考えられているCAN FD導入の背景やプロトコルの概要ついて紹介する。 - イーサネットがなぜクルマに必要? 期待される役割は
インターネット経由で誰とでもつながる時代。個人が持つ端末はワイヤレス接続が大半を占めていますが、オフィスなどではいまだに有線によるローカルエリアネットワーク(LAN)が使われています。そのLANの基盤技術の1つとして広く使われているイーサネット(およびTCP/IP)が、次世代の車載ネットワーク技術として注目を浴びています。本稿では注目される背景、役割や規格動向から、関連するプロトコルの概要まで、複数回にわたり幅広く解説していきます。 - レッドハットが車載ソフトウェア、車載Linuxの機能安全対応や保守管理を支援
Red Hat(レッドハット)が車載ソフトウェアに参入する。車載情報機器で採用拡大が見込まれる車載Linux向けに、開発ツールやコンポーネントを展開する。車載情報機器向けのOSはGoogle(グーグル)の「Android」と車載Linuxの2つが主流となっており、グーグルへの依存を懸念する自動車メーカーやサプライヤーが車載Linuxに注目している状況だ。 - トヨタデンソーアイシンの車載ソフト会社が新体制に、目指すは「自動車のWindows」
トヨタ自動車グループの自動運転開発体制で先行開発を担ってきたTRI-AD(Toyota Research Institute Advanced Development)は、2021年1月から新体制で動き出した。これまでは車載ソフトウェアの開発会社だったが、スマートシティのように自動車やモビリティを超えた取り組みに挑むため役割分担を明確にする。 - 自動車に「ソフトウェアファースト」がもたらす競争力を考える
今後、ソフトウェアが担う役割を拡大していく要因は、クルマがユーザーの手元に来た後に機能を拡充するアップデートを行おうとしている点です。以前は車両購入後のソフトウェア更新というと、ナビゲーションシステムの地図データのアップデートや、クルマの修理で制御プログラムを修正するのが中心でした。スマートフォンで好みのアプリを追加したり、より良い最新の状態にアップデートしたりするようにクルマが変わっていけば、クルマの使い方や価値も大きく変化します。