見出し画像

テストエンジニアのお仕事



1. はじめに

 こんにちは!日産自動車のテストエンジニアの磯部です。
 私は、日産に2018年に入社して、現在入社7年目です。入社後5年半の間、商品性実験グル-プで車両の評価ドライバーとして、開発車両の性能評価を行ってきました。その後、2023年10月から社内公募で異動し、NissanConnectサービスのテストエンジニア業務に就いています。今回はそのテストエンジニアの業務について簡単ですが、紹介していきます。

2. テストエンジニアの業務とは?

 なぜNissanConnectサービスにテストエンジニアが必要かご存じですか?
 テストエンジニアの役割は、お客様にNissanConnectサービスを快適に使って頂くため、品質を一定水準に保つ役割を担っています。そのため、主にアプリのリリース前に問題がないか動作テストを行い、問題があった場合は、開発担当にフィードバックを行う、アプリのゲートキーパーの役割を担っています。アプリリリース後に何かしら問題が判明すると、製品や企業の信頼を失う恐れがあるため、事前にサービスの品質を確保するテストエンジニアの役割は重要です。
 特に、NissanConnectサービスをテストする上で、アプリテストがメイン業務ではありますが、アプリから車両へリモート操作機能など、実車を使ったテストも行っています。NissanConnectサービスの部署で1番多く実車に関わっているのがテストエンジニアであり、誰よりも早く新機能を確認できるチームです。個人的な感想ですが、商品性実験出身の車の知識が活かせているチームでもあります。
 次にテスト業務の流れについて説明してきます。テストのステップとして「テスト計画」「テストケース作成」「テスト実行」「報告・管理」の4つに構成され、これらについて説明していきます。

2.1 テスト計画

 テストエンジニアはアプリの開発が終わるまで何もしなくて良いかというと、実はそうではありません。テストの前にもやるべきことは様々で、例えば、「新しくどんな機能が追加されるのか?」、「それはどんな仕様か?」、「どれぐらいの期間でテストするか?」、「問題が起きたらどのように管理するか?」、「その他実装上で見た方がよい懸念などはあるか?」などいろいろと関係者達と詰めていく必要があります。不明点や不安要素などがあった状態で後の工程に進んでいくと、後で出戻りになって時間を浪費されてしまうことがあるので、ここで他チームと協力して潰しこみを行う必要があります。

2.2 テスト設計

 まだ、テストは始まりません。テストの前にテストケースというテストをするにあたっての手順書のようなもの作成します。これは、実際にテストを行う際に、「どのように手順で操作するか?」、「どんな画面遷移か?」、「どんな画面配置か?」、「操作した後どのような挙動が正解か?」「お客様がどういうシーンでそれを使うか?」お客様の使い方を抜け漏れがないようにテストするかを試行錯誤しながら作ります。また、他人が作ったテストケースをレビューし、不足しているケースや観点がないかも確認しています。

2.3 テスト実行

 テストの前に先にテスト環境の準備が必要となってきます。例えば、スマホ端末の準備、アプリの事前インストール、車両の確保、仕様やテストケースの事前確認などです。
 そしてようやくテストを実行しています。テストケースに沿ってテストを実行していく上で、「この操作が足りないんじゃないか?」「これ観点が必要だ」「ここの部分のテストケースがよくわからない」など、実際にやってみてわかる部分が出てくるのもこのタイミングです。ここの部分を先ほど挙げた上流工程で如何に潰しこめるかがこの仕事の最も難しい部分であり、面白い部分でもあります。特に、NissanConnectサービスでは、アプリと車両と連携するため、車両操作によってしか分からないところがあり、そこが他のテストには無い部分であり難しい部分でもありますが、アプリと車の連携を見れるところがこの仕事の面白さだと感じています。

2.4 報告管理

 テストで問題を発見した場合、タイムリーに報告する必要があります。その際、「問題内容」、「再現手順」、「再現環境」、「再現動画」などをまとめたチケットを開発チームに発行します。その問題がソフトウェアの問題であり修正されるべきものだった場合には、開発チームからの修正リリース後、再度テストを行い、問題が解消されてることを確認し、チケットを閉じるという工程を踏んでいます。
 簡潔に書きましたが、この「再現」という部分が意外と難しく、ものによっては、再現手順を見つけることが難しかったり、そもそも再現性がなかったりするので、ここに時間を取られることも多々あります。

3. テスト環境について

 続いて、テスト車両について紹介していきます。上の方でも少し記載しましたが、我々はアプリ開発部署のテストチームではありますが、実車テストも実施しています。現在、コネクティドカーオフボード開発&オペレーション部全体で保有しているテスト車両は5台で以下の内訳になってます。

  • セレナ 1台

  • アリア 2台

  • リーフ 2台

 全車種テストしないのか?って思われるかもしれませんが、NissanConnectは、基本的にこの5台があれば全機能をカバー出来ています。また、開発内のシミュレーター環境も充実しているため、シミュレーター内においては、テストを全車種行っており、保有していない車種でも問題が起きておらず、アプリ品質も高水準に保っています。

テスト車両

4. テストエンジニアに関わる人達

 現在、NissanConnectサービスは、日本チームは5人程でテストが行われています。チーム内には、様々なソフト業界で活躍されてきた人が揃っており、私がこの業務に就く前から担当していたこともあって、非常に頼もしい方々で、さらに頼もしいチームメンバーを増やして行きたい所存です。
 また、業務を進める上で、他チームとの連携も必要で、開発チーム、プロジェクトマネージャー(PM)、プロダクトオーナー(PO)とのやり取りが多いです。さらに最近では、海外仕向けのNissanConnectサービスの品質も担当し始めたこともあり、海外のテストエンジニアとグローバルにコミュニケーションをとれるのも魅力の1つです。

5. 最後に

 テストエンジニアはアプリの品質を保つ上で重要な役割を担っています。私たちはこれからも皆様にNissanConnectサービスから新しい機能やサービスを高い品質でお届けし、皆様の生活を「より快適に」「より便利に」していくべく、尽力していきます。今後のアップデートと共に充実した機能がどんどん追加されていくので楽しみにお待ち下さい。