前回、エンジニア職種マップ の記事にてセンシンロボティクスの各エンジニアがどのように開発に関わっているかを説明しました。

今回は、当社が2022年7月にリリースした建物・施設管理アプリケーション『ゲンコネ』のQA業務について、実際にQA業務に携わったメンバーの声を交え、詳しく解説していきます。

QAエンジニアの担当範囲は企業によって異なるため、当社での役割、その魅力を本記事でお伝えします。

 

建物・施設管理アプリケーション『ゲンコネ』とは?

『現場をコネクトする(GEMBA Connect、ゲンバコネクト)』という意味を込めて開発された建物・施設管理アプリケーションです。『人と現場がつながる、人と情報がつながる、人と人がつながる』をコンセプトに、建物・施設の管理者と現場の方の業務効率化を推進します。

どんな課題を解決してくれるのか?

私たちの日々の生活は「建物・施設維持管理」の現場の方々によって守られています。その現場ではまだまだ電話やメール、紙などアナログなやり取りが多く残り、非効率な業務や属人化が課題です。
社会インフラの老朽化に伴い、建物・施設維持管理業務の重要性が高まる一方で、施設維持管理を担う人材、技術者の減少により、業務の効率化・変革化が必要となっています。

これらの課題を解決していくプロダクトが『ゲンコネ』です。

どんな価値を提供してくれるのか?

『ゲンコネ』では施設・建物ごとに施設情報やタスクを管理・共有することができます。アプリケーション内のタスクに紐づいたチャットツールを通し、関連各所とのやり取りを履歴で残すことや、360°パノラマ上でタスクを管理することが可能です。その結果、「トラブル解決のスピードアップ」、「業務の標準化」、「現場の往訪を最小限に」することに寄与しています。※詳しくはサービスページをご覧ください。

 

『ゲンコネ』QAチームのご紹介

『ゲンコネ』は、PdM(プロダクトマネージャー)チーム、開発チーム、QAチームで開発を進め、2022年7月にリリースしました。QAチームでは、以下の3名体制で業務に取り組みました。

プロフィール

高橋 和也(たかはし かずや)
サービスクオリティーディレクター
2017年からセンシンロボティクスのプロダクト開発に従事
現在はプロダクト全体の品質管理やQA方針を策定

高橋さん写真

河口 真貴子(かわぐち まきこ)
QAエンジニア
外資系IT企業にてWeb開発に従事し、2022年4月にQAエンジニアとして入社
現在はテスト計画~設計~実施~分析、仕様改善提案、テスト自動化を担当

IMG_makikoKwg (1)

塚本 慎一(つかもと しんいち)
QAエンジニア
組込機器、Webシステム、スマホアプリなど経験豊富なQAエンジニア
2022年5月から業務委託として参画し、テスト計画~設計~実施~分析、継続的な改善を担当

塚本さん写真

 

『ゲンコネ』開発におけるQA業務

ここから具体的に、QAチームの業務を説明していきます。

QAチームの業務

以下の図のように、PdMチームと開発チームと連携し、QA観点で企画・開発を支えています。実装後のテスト工程を中心に担当するQAと異なり、企画・開発の上流工程からQAチームが参画していく業務の幅の広さが当社のQA業務の特徴です。

ゲンコネ開発体制修正

<実装前のPdMチーム、開発チームとの早期連携>

どの企業の開発においても、テストフェーズで重大な仕様の欠陥を発見し、その修正のために開発が遅延するという問題があると思います。『ゲンコネ』開発でも同様に、上記の問題をどのように回避するのか?という議論が上がっていました。

実装後の企画・開発修正を最小限にするため、仕様策定〜技術設計の段階からQAチームに参画して貰うことで、以下の工程でQA業務に取り組みました。

 前提:PdMチームが企画、仕様の大枠を策定
   ↓
 QAチーム:企画、仕様の詳細をPdMチームに確認
   ↓
 PdMチーム:企画、仕様観点から上記の点をQAチームに回答
   ↓
 QAチーム:上記の点に紐づく設計、実装リスクを開発チームに調査依頼
   ↓
 開発チーム:開発チームが上記の回答をPdMチーム、QAチームに回答
   ↓
 QAチーム:上記の回答を踏まえ、QA観点からPdMチームにフィードバック
   ↓
 PdMチーム:上記の回答に基づき企画・仕様を早期修正


異なる役割を持つ3つのチームが「One Team」として、上記のプロセスに取り組みました。詳細設計の段階でも、上記に近いプロセスを回し、早期のリスク回避・軌道修正ができ、開発プロセスの生産性向上に大きく繋げています。

<実装後のテスト実施~分析~改善>

作成したテスト計画に基づき、実装できた箇所・機能から順次テストを以下の工程で進めました。

 機能テスト
   ↓
 システムテスト
   ↓
 リグレッションテスト*¹
   ↓
 シナリオテスト

開発初期は機能テストの網羅率を上げるために、探索的テスト*²に頼っていましたが、現在は上記のテスト運用フローに落ち着いています。また、テスト効率化のために、実装前に作成したテストケースに基づいた検証も実施していました。

「One Team」としての意識も強かったため、時にはPdMメンバーにもテスト実務に参加してもらい、ユースケースのシナリオテストを網羅し、効率的にバグを解消しました。QAチーム、PdMメンバーで率先してバグ出しに取り組み、バグ修正依頼を開発メンバーに戻していきました。

上記のプロセスを通じて、企画・開発の上流から下流までQAチームが広く参画していくことで、プロダクトの品質担保、開発期間の短縮に貢献しています。

テスト事例

QA業務の具体的なイメージを持っていただけるように、ここからテスト事例について具体的に説明していきます。
Webアプリケーション開発で一般的に行われる「機能テスト」「システムテスト」「リグレッションテスト」「シナリオテスト」は『ゲンコネ』でも実施しています。
それに加え『ゲンコネ』では、360°カメラとアプリを連携させるといった一般的なWebアプリケーションのテスト項目には存在しない「外部デバイス連携」に関する検証が必要となります。



テスト範囲

【事例】
360°カメラとモバイルアプリ連携によるパノラマ画像撮影〜パノラマ画像表示の確認

『ゲンコネ』の特徴的な機能の一つに図面上にパノラマ画像を配置(場所と情報の紐付け)する機能があります。その機能部分に関する検証の流れは、以下となります。

<検証の流れ>
 ①360°カメラと『ゲンコネ』アプリの接続状況を確認
   ↓
 ②『ゲンコネ』アプリから、撮影時のオプション設定が操作可能か確認
   ↓
 ③『ゲンコネ』アプリから、360°カメラ側の撮影操作が出来るか確認
   ↓
 ④撮影したパノラマ画像が360°カメラからモバイルに転送されるか確認
   ↓
 ⑤モバイルに転送されたパノラマ画像がクラウドサーバーへアップロードされるか確認
   ↓
 ⑥クラウドサーバーで処理されたパノラマ画像がアプリ上で閲覧できるか確認
   ↓
 ⑦パノラマ画像がアプリケーション画面にて上下左右動かすことができるか動作検証

各種検証項目に対して、テスト項目に記載されている期待結果と相違ないか確認します。
また「通信環境による影響を加味した検証」「パノラマ撮影時のオプション設定組み合わせ検証」「権限が異なるユーザー毎による検証」などの動作検証も網羅的に行います。

上記はテストの一部紹介となりますが、テストを網羅的に実施することにより、高品質なプロダクトのリリースが実現され、ユーザーにより良いものをお届けすることができるようになっています。

 

『ゲンコネ』QAの醍醐味とは?

河口さん:企画・開発の上流から参画できる

開発の当初は、PdMチーム、開発チーム、QAチームの間に距離がある状況でした。その際、プロダクトリリースという共通目的を意識し、QAチームとして仕様改善や詳細設計の改善提案を出してきました。

当初、改善提案の受け入れに時間がかかりましたが、後工程を考慮した粘り強い説明を通じて、チーム間の認識合わせができました。その結果、QAチームの提案を早期に反映し、手戻り作業を回避できたことで、PdMチーム、開発チームの信頼を積み上げていきました。今では、『ゲンコネ』開発をともにしたメンバーとは『戦友』と呼び合う関係です。

QAという観点からPdMや開発メンバーを動かしていく面白さは、他社のQA業務で感じられない部分ではないでしょうか?企画・開発の上流から、ともにプロダクトをつくっていけることが醍醐味と感じています。

塚本さん:複雑な技術課題の検証、解決経験を積める

『ゲンコネ』開発では、複雑な権限処理やAuth0の導入が必須であり、その周辺技術の課題解決が難しい部分でした。特に、上記の環境下でのモバイル側でセッション処理のバグ解消は、開発チームとともに試行錯誤しました。

QAエンジニアとして、開発メンバーへの細かいヒアリング〜検証のプロセスを通じて、バグを解消した瞬間は、大きな達成感とともに、開発スピードアップに大きく貢献できたと考えております。無事にリリース日を迎え、安堵とともに、QAエンジニアとしての技術的な知見が広がったと感じています。

 

QAエンジニアとしてスキルアップできるポイント

シフトレフトの取り組みを通じた上流工程のQA経験

世の中のQAのトレンドとしてシフトレフトがあります。

シフトレフトとは?
開発サイクルの中でQAの工程を前倒しで行う体制です。具体的には、仕様検討からQAが入って仕様テスト(レビュー)、設計テスト(レビュー)を行い、実装と並行してテストケースを作成して、実装後すぐにテストを行います。テストが早期に実施されるため、設計者が発見することが難しい要件や設計の矛盾、異常系や非機能要件の漏れなどを早期に発見できます。そして、上記の課題を早期に解決することで、開発工期の遅延回避、期限内のデリバリー、コスト削減に繋がります。 
(参考 SHIFT ASIA ブログ 「シフトレフト・ライトのテストアプローチで何ができる?」)


当社では、QA業務のシフトレフトに取り組んでおります。シフトレフトを通じた開発プロセス改善を目指しており、QAエンジニアとして、モダンなQA環境にてスキルアップいただくことが可能です。また、上流からプロダクト開発に携わっていただき、プロダクト企画、開発の知見獲得や貢献実感を持てます。

リアルサービスに対するQA知見の獲得

当社では、Web上に留まらず、リアルな現場の課題解決に取り組んでいます。そのため、外部デバイス連携では想定しづらい不具合も度々発生し、その解決が求められます。通信や外部デバイス連携等の技術的課題を解決していくことで、QAエンジニアとしての知見を広く深く伸ばすことが可能です。

オフショアを活用したQA体制への挑戦

今回説明した仕様策定、設計段階におけるQA業務は、自社内で対応していく予定ですが、実装後の各種テスト対応はオフショアを活用する体制作りを検討しています。海外オフショアを活用した取組みは、当社で初めてであり、大きなチャレンジと考えています。社内外の関係者を巻き込み、複雑な技術や仕様を正確に伝達し、プロダクト品質の担保・向上に挑戦いただけます。QAエンジニアとして、実務対応力のみならず、関係者を動かすプロジェクトマネジメント力が鍛えられると考えています。

上記のような取り組みに興味を持っていただける方と一緒に働きたいと考えています。
現職の環境に物足りなさを感じているQAエンジニアの方や品質をとことん追求しつつ、QAの新しい取り組みに挑戦したいWebアプリエンジニアの方からのご応募をお待ちしております。

 

最後に・まとめ

今回は、建物・施設管理アプリケーション『ゲンコネ』のQA業務について解説しました。当社のQA業務の理解が深まりましたら、非常に嬉しく思います。

当社では、人々の生活基盤を支える不動産、インフラ業界向けのプロダクトを提供しているからこそ、プロダクト品質管理を非常に重視しております。当社の取り組みや考え方に共感いただけましたら、QAエンジニアや他のポジションにご応募いただけると幸いです。各ポジションの募集要項はこちらに掲載しております。まずはカジュアル面談からのスタートも大歓迎です。皆様からのエントリーを心からお待ちしております。

採用募集ページ

 

*¹リグレッションテスト‥‥機能の追加や変更、不具合の改修などに伴うプログラムの変更によって、その他のプログラムに意図しない影響が発生していないかどうかを確認するテスト (引用元 SHIFT ASIA ブログ 「リグレッションテスト(回帰テスト)とは|目的や重要性、実施のポイント 」)
*²探索的テスト‥‥テスト担当者がテスト対象のプロダクトおよび欠陥の学習・テストの計画・テスト内容の設計実行を並行して行う、ソフトウェアテストの1つのスタイル (引用元 SHIFT ASIA ブログ 「探索的テストとは|スピード×コストに優れるテストスタイル」)