【金融向け】システム開発の品質向上と効率化を実現するテスト自動化ツール活用ガイド
Sponsored by RGS株式会社
【金融向け】システム開発の品質向上と効率化を実現するテスト自動化ツール活用ガイド » 金融向けテスト自動化のためのFAQ » 組み込みソフトウェアテストを自動化するには?

組み込みソフトウェアテストを自動化するには?

※このサイトは金融向けテスト自動化ツール「ATgo」の開発元・RGS株式会社をスポンサーとして、Zenken株式会社が運営しています。

こちらの記事では、組み込みソフトウェアテストの自動化について解説しています。テスト導入の背景やメリット、テストの進め方やツールの選び方などをまとめています。

組み込みテスト自動化とは?組み込みシステムの品質検証

組み込みソフトウェアテストの特徴

組み込みソフトウェアテストとは、自動車や家電製品、産業機械などに組み込まれるソフトウェアに関するテストです。このテストでは、ソフトウェアとハードウェアが正しく連携して動作するかどうかが確認されるため、ソフトウェア単体での動作確認では完了しないという面があります。

さらに、多くの組み込みソフトウェアはリアルタイムでの動作が求められることから、タイミングやパフォーマンスについての検証も大切な要素といえます。また、組み込みソフトウェアは家庭やオフィスなどユーザー環境で使用されるケースが多いため、セキュリティ面を含めた確認が求められます。

自動テスト導入の背景と目的

近年のIoT市場の拡大に伴い、組み込みソフトウェアにおける自動テスト導入が非常に重要になっています。IoTで利用されるデバイスは多彩な環境で利用されるため、さまざまなテストケースの網羅が必要です。さらに、IoTデバイスは数多くのセンサーやアクチュエーターを搭載していることから、動作の確認が重要ですが、これらのテストを手動で行うことは非常に困難であり、自動化が欠かせない状況になっています。また機能追加やファームウェアのアップデートが頻繁に行われるケースについても、自動化が必要であるといえます。

組み込み自動テストのメリット・必要性

開発サイクル短縮と市場投入の加速

テストの自動化によってテストの工数を削減できます。さらに自動化が行われたテストスクリプトについては繰り返し利用が可能であることから、ソフトウェアに変更があった場合にも迅速にテストが行えます。これらの点から、開発サイクルの短縮ができ、市場への投入スピードが加速されます。

人的ミス削減と信頼性向上

テストを自動化した場合には、手動テストの場合と異なり人的ミスの削減が可能となります。この点から、高い精度でのテストが可能となり品質も向上するため、ユーザーからの信頼性アップも期待できます。

組み込み自動テストの進め方・環境構築

テスト環境(エミュレータ/実機)の準備

まずはテスト環境の準備が必要です。この場合、エミュレーターまたは実機にてテストを行いますが、エミュレーターを使用することによって実際のハードウェアを使用せずに動作検証が可能となり、効率的にテストを進められます。ただし、エミュレーターのみで全てのテストをカバーできるわけではないため、実機でのテストも行う必要があります

自動テストスクリプトの作成とハード連携

環境を用意したら、テストケースをもとに自動テストスクリプトの作成を行います。適切なテストスクリプトの作成によって、ソフトウェアの信頼性と安全性を高めることが可能に。またテストでは、ソフトウェアとハードウェアが連携して動作することを確認する点も大切なポイントとなります。

組み込み自動テストの注意点

ハードウェア依存の問題と対処法

通常、組み込みソフトウェアは特定のハードウェアにおける動作を想定して設計されています。この点から、ハードウェアの特性に強く依存し、ハードウェアの変更やアップデートがソフトウェアの挙動に影響を与えるケースも見られます。この点から、ハードウェアとソフトウェアの関係について十分に考慮した検証が必要となり、実際のハードウェア上でテストを実施する、ハードウェアの動作を再現するシミュレーション環境を準備するといった対応が求められます。

タイミング制約とリアルタイム性の検証

タイミング制約とは、特定のイベントに対してシステムが指定された時間内に処理を完了する必要があるという制約を指します。組み込みシステムでは信頼性や性能の面からリアルタイム性が重視されるため、非常に重要な要素であるといえます。以上の点から、適切なテスト方法を用いてタイミング制約を満たしているかを確認することが重要となります。

具体的なハードウェア・専用端末における自動テスト事例

組み込みシステムは、身近な専用端末から大規模なインフラ機器まで多岐にわたります。ここでは、特定のハードウェアに焦点を当てたテスト自動化のポイントを解説します。

ATMのテスト自動化

金融機関で利用されるATM(現金自動預け払い機)は、極めて高い堅牢性とミスのない処理が求められます。ATM テスト自動化においては、現金の入出金処理をシミュレートするだけでなく、通信エラー発生時の復旧処理や、各種センサー(紙幣詰まり検知など)の異常系テストを網羅的に自動化することが不可欠です。

POSレジのテスト

小売店や飲食店で稼働するPOSレジは、バーコードリーダーやキャッシュドロア、レシートプリンターなど多くの周辺機器と連携します。POSレジ テストでは、これらのハードウェア制御に加え、ポイントシステムやクラウドの在庫管理サーバーとの通信といった、ネットワーク越しの動作を含めたE2E(エンドツーエンド)での自動検証が効果的です。

専用端末の自動化とロボットアームの活用

KIOSK端末や工場の制御盤、医療用機器などの専用端末 自動化においては、タッチパネルなどの物理的なユーザー操作の検証が課題となります。最近では、シミュレーターだけでなく、ロボットアームを用いて実機のディスプレイを物理的にタップ・スワイプさせるテスト手法も導入されています。

組み込み自動テストツールの選び方

対応マイコン/OSや通信プロトコルの確認

組み込みテストを自動化するためのツールを選定する際のポイントの一つが、どのようなマイコンやOS、通信プロトコルに対応しているか、という点です。組み込みテストを行う上では、この部分を十分に確認しておくことが大切です。

シミュレーション機能と拡張性の有無

組み込みソフトウェアのテストは、一般的に実機を使用して行われますが、これをPC上でシミュレーションして検証できれば、不具合の修正が必要になった場合の手戻り工数が削減できるというメリットがあります。また自動テストツール選定にあたっては、拡張性の有無もポイントです。拡張性が高いツールを導入することによって、さまざまな状況に柔軟に対応ができるなどのメリットが期待できます。

組み込みシステムの「Web連携・APIテスト」なら「ATgo」がおすすめ

IoTデバイスの管理画面や、機器から送信されるデータのクラウド連携など、組み込みシステム開発でもWeb・API技術の検証は必須です。しかし、ハードウェアの検証に手一杯で、Web側のテストまで手が回らない現場も少なくありません。そこでおすすめなのが、「ATgo(エーティーゴー)」です。

RGS株式会社のHPキャプチャ画像
引用元:RGS株式会社システム株式会社公式HP
(https://atgo.rgsis.com/function/script-ai/)

1. 機器の「Web管理画面」をローコードで自動テスト

ルーターやIoTゲートウェイなどの組み込み機器には、ブラウザで操作する「設定画面(Web UI)」が搭載されていることが一般的です。

ATgoの「レコーディング機能」を使えば、設定画面の操作を録画するだけでテストスクリプトを自動生成できます。Webテストの専門知識がない組み込みエンジニアでも簡単に扱えるため、ファームウェア更新ごとの画面動作チェック(リグレッションテスト)を大幅に効率化できます。

2. 実機から送信されたデータの「整合性」を自動検証

「センサー等の実機からクラウドへ正しくデータが送信されたか」を確認するには、画面だけでなくデータベースの値も検証する必要があります。

ATgoはUI操作、API実行、DB参照を組み合わせたテストが可能です。「Web管理画面で設定変更」→「API経由でデータ送信」→「DBの値が更新されているか確認」といった、機器とクラウドをまたぐE2E(エンドツーエンド)テストを一気通貫で自動化できます。

3. 開発現場の「閉域網(オフライン)」環境に標準対応

組み込みシステムの開発現場は、機密保持やセキュリティの観点からインターネットに接続できない「閉域網」であることが多く、SaaS型ツールの利用が困難です。

ATgoはインストール不要で、インターネット接続のないオフライン環境でも動作します。セキュリティポリシーの厳しいラボ環境や工場内のネットワークでも、問題なく導入・運用が可能です。

まとめ

こちらの記事では、組み込みソフトウェアテストの自動化について解説してきました。自動化に取り組むことによって開発サイクルの短縮や人的ミスの削減などさまざまなメリットが期待できます。

Sponsored by
   
コストパフォーマンスと
使いやすさを追求し た
国産テスト自動化ツール「ATgo」とは?
ATgoロゴ

ATgoは、インターネット非接続のクローズド環境でスムーズに導入・運用が可能なテスト自動化ツールです。UIテストとAPIテストに対応し、金融系システム開発で重視されるエビデンスや比較レポートの作成も自動化
高精度な画面比較や生成AIによるテスト支援も搭載し、実装コスト・検証コストを大幅に軽減します。テスト自動化サポートプランもあり、導入初期から安心して自動化を進められます。

ATgoが
「費用対効果」に
優れている3つの理由
学習・教育コストを最小化
タップして拡大

専門的なプログラミング知識は不要。
画面を操作するだけでテストスクリプトを自動生成する機能や、日本語でテスト手順を提案する機能を搭載。
初心者でも即戦力として自動化に取り組めるため、属人化を防ぎ、採用・教育コストを抑えます

「エビデンス作成」の
手間をゼロに
タップして拡大

テスト実行結果のスクリーンショットやログ、DB情報を自動で取得し、Excel形式のエビデンスとして自動出力。人が行うと膨大な時間がかかる「結果の記録・比較検証」を自動化することで、テスト工数を劇的に圧縮します。

平均80%の工数削減実績
タップして拡大

ATgoを導入したプロジェクトでは、平均して80%以上の工数削減を達成しています 。
例えば、リグレッションテストの実施時間が25時間から3時間に短縮(約88%減)された事例もあり、導入直後から明確なROI(投資対効果)を実感可能。

セキュアな環境でも、
すぐにトライアル可能
ATgoロゴ

ATgoはインストール不要・インターネット接続不要で動作するため、セキュリティポリシーの厳しい環境でもスムーズに導入可能です。
まずは1か月の無料トライアルで、その操作性と効果をご体感ください。すべての標準機能を制限なくお試しいただけます。