見出し画像

AIドラレコのQA:機能テスト編

こんにちは。GO株式会社 プロダクトマネジメント本部 クオリティマネジメント部の山口です。
今回は当社がサービス提供している次世代AIドラレコサービス『DRIVE CHART』のAIドラレコQA:機能テスト編について記事にします。
実は過去に「AIドラレコのQAって?」というタイトルで投稿しているのですが、今回はその続きとなります。
前回はAIドラレコのテスト範囲や検証タイプ、初歩的な検証内容について説明していますので興味があればこちらの記事もお読みください。

少しだけおさらいをしておきますと、『DRIVE CHART』とは、通信型ドライブレコーダーを車に取り付けてAIが様々な危険シーンを検知して運転を解析。Web上で安全運転の支援や運行管理等が行える法人向けの交通事故削減支援サービスです。
※『DRIVE CHART』について詳しく知りたい方は当社HPをご覧ください。

当社でのAIドラレコのテスト範囲は、AIドラレコ本体、AIドラレコとサーバー間の通信部分を主に担当しています。

当社AIドラレコのテスト範囲
※WebのQAもやっていますが、本記事ではAIドラレコ側のQAに注目します。

AIドラレコの機材

一般的なドライブレコーダーは前方を撮影する車外向けのカメラが搭載されていますが、『DRIVE CHART』のAIドラレコは外向きカメラと内向きカメラ2台のカメラがあり、車外と車内を撮影します。

他にも、車両信号やBluetooth接続機器なども使用しますが、外向きカメラと内向きカメラを接続してのテストが基本です。

主な機能テスト

次に、どんな機能があってどんなテストをしているのかについて説明をしていきます。
『DRIVE CHART』はAIドラレコになりますので、ただ単に映像を録画しているだけではありません。車外/車内の2つのカメラや本体のセンサーなどから取得した様々なデータをサーバーへ送信しています

以下にて、走行中に発生するAIドラレコの機能について一例を図にしました。

走行状態

エンジンがかかっている状態だと、基本的に外向きカメラと内向きカメラの映像は常時記録されています。車外の映像に加えて内向きカメラの映像からドライバーの顔認証をして各運転データはサーバーへと送信されます。
但し、走行中と停車中で作成される運転データは異なります。

走行中 / 停車 / 走行再開の各状態で必要なデータが指定の場所へ作成されてサーバーへ送信されることをテストする必要があります。

イベント録画

『DRIVE CHART』には、脇見運転や速度超過などの危険運転を検出したり、ドライバーによる操作で手動録画する機能などが備わっています。

QAでは専用のデータをAIドラレコに配置してエミュレーションで検知・データ保存・サーバ送信までを確認します。
発動条件の変更や閾値の変更による挙動も確認する為、イベントの種類も考慮するとテストパターンは多岐に渡ります。

設定

動画を暗号化したり、カメラ映像にぼかしを入れたり音声を非録音にする(プライベートモード)など、運行管理者やドライバーに配慮した設定に変更することができます。

先に述べた走行状態によって挙動が変わる機能もあるので、各設定、走行状態で仕様通りに動作していることを確認します。

サーバーリクエスト

AIドラレコ側でデータを作成してサーバーへ送信する機能が大半を占めますが、『DRIVE CHART』ではサーバーから(運行管理者はWebから)AIドラレコへリクエストを出すことができます。
例えば事故や危険運転が発生した時の映像が欲しい時や、アプリやファームウェアの更新が必要な時などが考えられます。

以下は運行管理者がWeb管理画面で動画をリクエストした場合のフローです。

これらのリクエストをAIドラレコが受信して、指定されたデータをサーバーへ送信したり、ソフトウェアの更新が正しく行われるかも重要な要素となってきます。

サーバー側では送受信のデータを見ることができますが、AIドラレコ側ではリアルタイムで確認できない挙動もあります。
そんな時はログを取得して、AIドラレコ内でリクエストを正しく受信して送信できたかを確認します。

状態異常

全てのデバイスが日々正常に動作しているとは限りません。
内向きカメラの接続不良が発生したり、何かしらの原因でファイルが破損したり、SDカードが認識されないといったトラブルは起こりえます。

状態異常発生時のログ送信、破損ファイル作成時の挙動、SDカード使用不可時は内蔵サブストレージに保存するなどの機能が正しく動いているか確認します。

また、トンネル内や山奥の移動中などを想定して、SIM通信やGPS受信ができないケースも想定します。
ハードウェア検証で問題となるのが、屋内だとGPSが取れなかったり、SIM通信の電波が悪い環境を構築するのが難しかったりします。
デバッグオプションやエミュレーションで意図的に環境を構築することは可能ですが、本番環境に合わせたテストが必要な時もありますので、ポータブル電源にAIドラレコを繋いで屋外を移動したり、アルミホイルで覆って電波強度を調整したりすることもあります。

※画像はイメージです。

テスト観点

AIドラレコ側の主なテスト観点(コマンドプロンプトで確認)

・データの作成保管
・サーバーへのデータ送信
・送信後のファイル削除
・サーバーからのリクエスト受信
・ログの取得

※画像はイメージです。

サーバー側の主なテスト観点

・AIドラレコからのデータ受信
・動画、設定変更、アプリ配信などのリクエスト送信

※画像はイメージです。

『DRIVE CHART』では、画像ファイル、動画ファイル、センサーデータなど、 膨大な数のデータをAIドラレコとサーバー間でやり取りしていますので、これらが正しく動作していることをコマンドプロンプトやサーバーも操作して一つずつ慎重にテストしています。

リグレッションテスト項目の厳選

ここまで説明した機能は一部ですし、全機能や設定値の変更、複合系のテストも含めると総テスト項目は4,000項目近くに達します。新機能もどんどん追加されていく為、毎回のリリーステストで全てを網羅することはできません。
限られたリソースや納期の中で最大限のパフォーマンスを発揮するには、テスト項目の選定もとても重要です。
我々のチームでは、開発チームと密に連携を取り、改修内容や影響範囲を十分に考慮した上で、リリース毎に全項目からテスト項目を厳選してリグレッションテストを実施しています。

最後に

いかがでしたでしょうか?今回は『DRIVE CHART』のAIドラレコに備わった機能とQA内容について少し掘り下げて説明してみました。
ここで紹介している機能はほんの一部ではありますが、『DRIVE CHART』は日々進化を遂げており新機能も順次リリースされ続けています。

同時に、膨大な量のテストを如何に効率良く効果的に実施してリリースコミットしていくかも課題であり、我々QAチームも日々工夫を凝らしながら成長しています。

まだまだAIドラレコのQAはあまり知られていないジャンルでもありますので、本記事をきっかけに少しでも興味を持ってくれたら幸いです。

また、この記事を読んでGOのQAエンジニアに興味を持たれた方は、以下のページでQA関連の情報について定期的に発信していますので、是非とも併せてお読みください。

最後になりますが、GO株式会社では私達と一緒にチャレンジしてくれる仲間を募集しています。
ご興味のある方は採用ページからご連絡くださいませ!

■GO株式会社 採用情報
https://goinc.jp/career/

この記事が気に入ったらサポートをしてみませんか?