Bosch は、シミュレートされた車ではなく、実際の車を使って自動回帰テストとユーザテストを行っている。目的は、テストエンジニアとユーザの両方の観点で、ソフトウェアを可能な限り迅速にテストすることだ。車にはリモートでアクセスが可能で、チームメンバは乗車せずに行うことができる。
Bosch Bulgaria のシニアテストエンジニアである Pavel Hubenov 氏は、QA Challenge Accepted 2021 で自動運転車のリモート実証と妥当性確認の経験を共有した。
継続的インテグレーションのテストプロセスは、毎晩ソフトウェアが構築され、テストを実行し、リグレッションを監視する自動システムがベースにある。次のように Hubenov 氏は説明している:
最後に変更された実装に基づいて、毎晩部分的な妥当性確認が行われます。詳細には、事前定義された優先順位に基づいて、夜間に影響を受ける機能の回帰をテストしていることを意味します。毎晩のテストセットの構成が異なる可能性があります。結果は、分析のための数十のレポートです。読み取り、フィルタリング、分析を行う非常に複雑な基準を備えた別の完全に自動化されたシステムは、最終的にテスト実行全体の結論を生成し、午前中にすべてのチームメンバに通知されます。
Bosch は、テストの最後の2つのウォータフォールレベルに実車を含めることを除いて、従来の V サイクルに従っている:
デバイスが実車と Hardware-In-The-Loop ベンチで同じように機能することを確認するためには、継続的テストプロセスに実際の車を含める必要があることに気付きました。
さらに、日中はユーザの観点で追加のテストセッションを開催する。Hubenov 氏は、すべてのモデルの変更が同じように機能することを保証するために、商業的な観点から異なる機器レベルの車両を使用していると述べた。そのうちの1つは、自動化されたプロセスを代表する「今日のヒーロー」であると Hubenov 氏は述べた。
この車は特別なプロトタイプカーだ。公道での運転は許可されていないが、特別に承認された駐車場でのみ使用されると、Hubenov 氏は述べている。通信全体を監視するために必要なすべての端末を持っている。
車両をテストベンチに改造したことで、Hubenov 氏が指摘するように、Covid-19 の世界的パンデミックがもたらした課題に向き合うことができた:
このユニークなベンチを持つことで、仕事を止めずに、お客様にふさわしい優れた品質を提供し続ける柔軟性が得られました。簡単に述べると、アクセスは Bosch の内部ネットワークからのみであり、十分に訓練されたプロジェクトチームの人々にのみに与えられました。
InfoQ は、リモート自動運転車を使ったテストについて Pavel Hubenov 氏にインタビューした。
InfoQ: 自動運転車の実証と妥当性確認で向き合った課題は何ですか?
Pavel Hubenov 氏: 私たちが直面している課題は、自動運転車だけに関係しているわけではありません。起こりうる間違いを避けることは人命を救う可能性があり、自動車の非常に敏感な領域です。機能と車載ソフトウェア自体の複雑さが増すにつれ、テストエンジニアが製品の優れた品質と安全性を担保できます。
Bosch Engineering Center Sofia では、高度なスキルを持つテストエンジニアが必須であると認識していますが、それだけでは不十分です。また、テストエンジニアのマインドセットにも取り組んでいます – 標準と会社のプロセスに従った v サイクルの各レベルで最高の品質を達成するために最善を尽くし、あらゆる面で品質が必須であることを忘れないことです。
InfoQ: シミュレートされた車ではなく実装された実車を使用したテストを、どのように自動化およびアップグレードしたのでしょうか?
Hubenov 氏: シミュレーションテストをベースに車両のテストを再利用することにしました。よく知られている結果を期待して、車内で実行するようにテストの再設計と適合させました。たとえば、Hardware-In-The-Loop シミュレーションのセットアップは、実際のゲートウェイデバイスで構成され、車両の実際のECUを表すシミュレートされた仮想ノードで囲まれています。HIL のテストコンセプトは、デバイスに要求を送信し、指定された時間間隔で応答を待つことです。しかし、車内の実際の状況では、実際のデバイスがこれらと同じ要求を送信し、関連する応答を待っています。したがって、テストはこれらの実際の要求に基づいて監視し、トリガされた応答を待機します。こちらからシステム内の変化を切り替えるイベントは使いません。
結論は、この種のテストでは、テスト自体は直接のアクションメーカではなく、送信されたイベントと同期し、応答の予想時間間隔を測定する単なるイベントハンドラになります。システム全体を制御したり、システムの通信に影響を与えたりするために、私たちは車の物理的なボタンと、特別に開発および実装されたハードウェア機器を備えたキーレスリモコンのみを使用しています。
InfoQ: リモートテストはどのように行われますか?
Hubenov 氏: 自動車分野では、納品ごとに膨大な量のテストを実行するため、自動化テストに大きく依存しています。手動テストは、主に欠陥の再現と、より良い品質を提供するための追加のアクティビティとして使用されます。安定性と非回帰性を保証するために、夜間のテストは自動化されたシステムに依存しています。自動車でのテストは 24/7 (24時間365日) のアクティビティであり、人は疲れてしまいます。彼らには休息が必要ですが、テストベンチは常に人の代わりに働くことができます。
リモートアクセスは、場所に関係なく、チームメンバにのみ許可されています。すべてのチームメンバは、車の使用のためのスロットを予約し、手動テストまたは自動テストを実行する権限を持っています。場合によっては、重大な問題をできるだけ早く再現して修正する必要がある場合は、アジェンダが一時停止され、チームリーダが意思決定者になります。このようなケースは、開発者と検証メンバのコラボレーションによって処理されます。彼らは、私たちのプロトタイプ車両に適合した、ロボット産業向けに設計された特別な専用の PC とハードウェアを使用して車両を制御することができます。
InfoQ: テスト自動化ジャーニーで何を学びましたか?
Hubenov 氏: 自動化にチームが懸命になれば、すべてが可能であることを理解しています。旅の途中で、私の後ろに自分のチームと他の部門の同僚がいて共有できたことはうれしいことです。Bosch Engineering Center Sofia には約 450 人の高度なスキルを持つエンジニアがいます。助けやアドバイスが必要な時に頼りになることを知っています。
私たちの経営陣は、この友好的で前向きな環境を大いにサポートし、私たち全員がワンチームであることを知っています。私の夢の1つが実現するのを見たことを共有できます。まったく不可能や非現実的に思える新しい課題を探し始めることができます。私たちはチームとして、一見クレイジーに見えても、すべてのアイデアの技術的な解決策を見つけることができると信じています。すべての積極的な提案は、プロジェクトの優先順位とニーズに基づいて、経営陣によって議論、推定、承認、または延期されます。プロセスは動的なため、私たちの新しい人生のアイデアを与えるために迅速なフィードバックが必要であり、彼らはそれを完全に知っています。すべてのレベルのメンバとリーダー間のコミュニケーションは刺激的で前向きです。家族全員が私たちの目標を達成する上で同じ未来的なビジョンを持っています。