単体テストとは何か、なぜ必要なのか【前編】はじめての単体テスト(5/5 ページ)

» 2021年09月21日 06時00分 公開
前のページへ 1|2|3|4|5       

 組み込みシステムでは、ビルドの自動化システムの構築に手間が掛かったり、単体テストを自動化することが難しかったりといった問題がありました。CI方式のテストを自動化するためには、以下の3点を自動化することが求められます。

  1. コード変更で影響を受けるテストケースを判別
  2. それらのテストケースをコード変更に対して実施
  3. テスト結果のレポートを作成し、コードカバレッジを更新

 この工程をツールで自動化することで、コーディング/テストサイクルを数日から数分に短縮することができます。

図7:最初のテストには時間がかかるが、継続的にテストを行うことでテスト時間が大きく短縮可能(クリックして拡大) 出典:ベクター・ジャパン

3.3 CI(継続的インテグレーション)を導入するためには

 CI(継続的インテグレーション)を導入するためには、まず現状のテストプロセスがどのような状況かを把握することが重要です。単体テストといえば、カバレッジ100%を達成すればよいと考える方もいらっしゃいますが、カバレッジは分岐条件を満たしているかを把握するだけで、単体機能の不具合がないことを意味するわけではありません。

図8:現状のテストプロセスの把握(クリックして拡大) 出典:ベクター・ジャパン

 単体機能の不具合がないことを確認するために、入出力値のテストや要件ベースのテストを行います。

 テストは一度行ったら終わりではありません。新しいコードを追加したら、すでにテストが終わっている箇所で不具合が発生していないかを、回帰テストにより確認します。また、新しいコードを追加したかどうかにかかわらず、継続的にテストを繰り返すことで、バグ発生の可能性をさらに減らすことができます。

 回帰テスト以降のテスト段階では、過去に行ったテストも再度実行するため、回帰テストに対応したツールを使用してテストを自動化しておくと、効率的に開発を進めることができます。


 後編では、ソフトウェアの品質管理や単体テストの手法について解説します。

会社紹介

ベクター・ジャパン株式会社

ベクターは、創立から30年以上にわたり、カーエレクトロニクス開発の頼れるパートナーとしてお客様をサポート。現在、世界各国30拠点以上でベクター社員が、自動車業界および関連する業界のメーカー様とサプライヤー様に、組込システム開発に必要なツール、ソフトウェアコンポーネント、サービスなど、プロフェッショナルな開発プラットフォームを提供している。

▼ベクター・ジャパン

https://www.vector.com/jp/ja/

▼VectorCASTページ

https://www.vector.com/jp/ja/products/products-a-z/software/vectorcast/

→連載「はじめての単体テスト」バックナンバー

前のページへ 1|2|3|4|5       

Copyright © ITmedia, Inc. All Rights Reserved.