LoginSignup
3
2

リモートワークでテストを行うためのヒント

Last updated at Posted at 2020-04-08

1. はじめに

リモートワーク(在宅勤務、テレワーク)が推奨されるこのご時世1ですが、リモートワークでテストを行うにあたり以下のようなハードルが考えられます2

  1. 実機の持ち出し
  2. 勤務時間外の自動テストの実行

これらを解決しようとするとオフィスに実機を置いたままリモートから操作やモニタリング、自動実行を行うシステムが欲しくなります3。そこで、これまでに筆者が書いた記事からリモートワークに使えそうなものをピックアップしました。

リモートテストシステム例4
embedded_ci6.png

2. 基本的なアプローチ

実機に近い側から上流に向かってアプローチを列挙します。

  1. 実機のスイッチをソレノイドで押したりスイッチから線材を飛ばしてリレーでON/OFFする
  2. 実機の操作子の電圧出力の代わりにDACで所定の電圧を出力し実機のA/Dに入力する
  3. 実機のアナログ電圧出力をマイコンのA/Dで測定する
  4. コマンド制御のマイコン治具でソレノイドやリレー、DAC、ロボットアームを操作する
  5. Webカメラで実機を撮影したりHDMIビデオキャプチャでGUIをキャプチャする
  6. VISA対応の測定器で信号を測定する
  7. テストランナーで自動化する

3. テストランナー

VPN経由でリモートからExcelを操作したりPythonのスクリプトをJenkinsでキックする方法があります。

3.1 Python版テストランナー

「Lチカで始めるテスト自動化」シリーズ1~11、13~14、17、19~28を編集し技術書典で頒布しています。

  1. Lチカで始めるテスト自動化
  2. Lチカで始めるテスト自動化(2)テストスクリプトの保守性向上
  3. Lチカで始めるテスト自動化(3)オシロスコープの組込み
  4. Lチカで始めるテスト自動化(4)テストスクリプトの保守性向上(2)
  5. Lチカで始めるテスト自動化(5)WebカメラおよびOCRの組込み
  6. Lチカで始めるテスト自動化(6)AI(機械学習)を用いたPass/Fail判定
  7. Lチカで始めるテスト自動化(7)タイムスタンプの保存
  8. Lチカで始めるテスト自動化(8)HDMIビデオキャプチャデバイスの組込み
  9. Lチカで始めるテスト自動化(9)6DoFロボットアームの組込み
  10. Lチカで始めるテスト自動化(10)6DoFロボットアームの制御スクリプトの保守性向上
  11. Lチカで始めるテスト自動化(11)ロボットアームのコントローラ製作
  12. Lチカで始めるテスト自動化(12)書籍化の作業メモ
  13. Lチカで始めるテスト自動化(13)外部プログラムの呼出し
  14. Lチカで始めるテスト自動化(14)sleepの時間をランダムに設定する
  15. Lチカで始めるテスト自動化(17)コマンド制御のBLE Keyboard & MouseをM5Stackで製作しiOSアプリをテストスクリプトで操作する
  16. Lチカで始めるテスト自動化(19)Webカメラの映像を録画しながらテストスクリプトを実行する
  17. Lチカで始めるテスト自動化(20)複数のカメラ映像の同時録画
  18. Lチカで始めるテスト自動化(21)キーボード入力待ちの実装
  19. Lチカで始めるテスト自動化(22)DACをコマンドで制御してLチカする
  20. Lチカで始めるテスト自動化(23)ブレッドボード互換のユニバーサル基板
  21. Lチカで始めるテスト自動化(24)コマンドの実行結果を任意のCSVファイルへ出力する
  22. Lチカで始めるテスト自動化(25)Windowsでもテスト終了時にpass/failに応じてメロディを流す
  23. Lチカで始めるテスト自動化(26)テストランナーのモジュール化
  24. Lチカで始めるテスト自動化(27)矩形の画像を動画のフレームから切り出してファイルに保存する
  25. Lチカで始めるテスト自動化(28)Webカメラの映像にフレームの情報を重畳する

3.2 Raspberry Pi Zero WHとIoT学習HATキットで動かすPython版テストランナー

PDF化したものを技術書典で頒布しています。
※Raspberry Pi OSはBusterをご利用ください。BullseyeはWiring Piが非推奨となりGPIOコマンドが動作しなくなりました(参考)。

  1. Lチカで始めるテスト自動化(15)Raspberry Pi Zero WHでテストランナーを動かして秋月のIoT学習HATキットに進捗を表示する
  2. Lチカで始めるテスト自動化(16)秋月のIoT学習HATキットにBME280を接続してテスト実行環境の温度・湿度・気圧を取得する
  3. Lチカで始めるテスト自動化(18)秋月のIoT学習HATキットの圧電ブザーでテスト終了時にpass/failに応じてメロディを流す
  4. Raspberry Pi OS Bullseyeで圧電ブザーでメロディを鳴らす

3.3 電源オンオフの自動化

書き下ろしを追加しPDF化したものを技術書典で頒布しています。

3.4 JenkinsによるPython版テストランナーの自動実行

3.5 Excel版テストランナー

4. テスト治具

5. 番外編:組込みシステムの参考書

組込みシステムの構築が初めてなら「Arduinoで学ぶ組込みシステム入門」をテストエンジニアやQAにおススメする3つの理由もどうぞ。

6. おわりに

リモートテストシステムという切り口で筆者の記事を整理しました。ご参考になれば幸いです。

  1. 2020年4月7日に新型コロナウイルスの感染拡大を抑え込むため緊急事態宣言が出されました。

  2. このほかボール盤などテストツールを製作するための工作機器や評価機材の設置なども考えられますがひとまず脇に置きます。

  3. クラウドに実機を置くわけにもいかないので…

  4. 記事に書いていないものも入っています

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2