シナジーマーケティングでは検証の目的でスマホの実機を複数台所有しています。 コロナ禍で社員がリモート勤務になったので、スマホにもリモート勤務をしてもらうことにしました。 この記事では、スマホ検証機リモート化の検討から導入までを紹介します。
品質に関わる仕事を10年以上しているせいか、プライベートでもバグを検知します。
愛犬、愛猫に癒される日々を送っています。
最近は運動不足を自覚し、健康のために毎日ラジオ体操を始めました。
出社しなくてもスマホ検証機を使えるようにしたい
新型コロナウイルス感染症の拡大防止対策の一環として勤務体制が変更になり、2020年2月末頃から在宅勤務をすることが増えました。 私の所属しているQAチームは、Synergy! 全般のテストをしています。 業務では頻繁にスマホ検証機を使いますが、検証機はオフィスにあるため、利用する際は出社しなければなりませんでした。 電車に乗って人の多い場所に行くことは、感染のリスクも高くなりますし、移動時間もかかります。 交通費だってかかります。
スマホ検証機をリモートで操作できるようになれば、出社の必要もなくなるんじゃないか? 満員電車に乗る必要もないし、通勤に時間を取られることもなくなります。 これは是非実現させたい!!と思い、スマホ検証機のリモート化を検討し始めました。
スマホ検証機リモート化方法の検討
スマホ検証機をリモートで操作できるクラウドサービスは色々ありますが、やりたいことができるのか、まず調査を始めました。
Synergy!はCRMシステムであり、伝える手段として「メール配信」「LINEへの配信」「Web」など、情報を集める手段として「フォーム」「アンケート」など様々な機能があります。
まず、機能要件を洗い出しました。
- LINEのメッセージが受信できる
- アプリプッシュ通知が確認できる
- キャリアメールが使用できる
- フォームが表示できる
- 開発アプリのインストールができる
リモートでスマホの検証ができるサービスは、Remote TestKit、AWS Device Farm、kobiton、MOBA Cloud など、色々ありました。 しかし、キャリアメールを利用できるサービスを見つけることはできませんでした。
Synergy!には、データベースに入っているメールアドレスに対してメールを配信する機能があります。 データベースには、キャリアメールも存在するため、私たちもキャリアメールの検証が不可欠です。 上記のようなサービスを利用することで便利になるのは間違いないですが、キャリアメールの検証のためには現在契約しているスマホ検証機も維持する必要があります。 それでは単純にコストが高くなってしまうので、他にも調査を進めたところ STF を見つけました。
STF(Smartphone Test Farm)とは
STF はクラウドサービスではなく、オンプレミスにリモートスマホ環境を構築できるOSS(オープンソースソフトウェア)です。 元々は、株式会社サイバーエージェントで開発されたもののようです。
既にある社内のスマホ検証機を活かすことができるので、機能要件は満たせます。 無料で利用できるということだったので、STF を使ってスマホ検証機リモート化をしてみることにしました。
※ 利用する場合は、ライセンス をご確認ください
STF構成図は、下記のようになっています。 ADB(Android Debug Bridge)は、デバイスと通信するための多用途のコマンドラインツールで、adb コマンドを使用してアプリのインストールやデバッグなど、さまざまなデバイス操作を実行できます。 RethinkDBは、リアルタイムWeb向けに設計されたオープンソースのJSONデータベースです。 Docker Image は用意されていたものを使用したため構築に苦労はしませんでした。
工夫した点は、認証です。 STFにログイン画面はありますが、適当なユーザ情報でログインができてしまいます。 そのため、Google OAuth認証を使うことにしました。 誰が利用しているのか明確にわかるようになり、毎回手動でログインする手間をなくすことができました。
スマホ検証機は、物理PC(Linux)にUSBケーブルで接続していきます。 USBケーブルは、充電のみのものとデータ転送できるものがあります。 充電のみのUSBケーブルでは、STFは使えないためUSBケーブルを買い足しました。
スマホ検証機は、スマホ保管庫に入れて管理しています。
現在は11台のスマホ検証機が接続されています。 スマホ保管庫に入れる検証機は、必ずバイブなしのサイレントモードにしましょう。 通知音やリモートで操作される度に音がすると、スマホ保管庫周辺の方の迷惑になります。 (出社している人から、何度も「鳴ってるよ」と連絡をいただきました。ごめんなさい。)
STFの画面は、下記のようになっています。 端末リスト画面では、接続されている検証機がどのような状態か知ることができます。 リモート操作画面は、実際に端末を操作する画面になります。 スマホ画面のタップ、スワイプなど直感的な操作ができます。
リリースの前後ではスマホでの検証が必要になります。 以前は出社して検証をしたり、検証機の持ち帰りや返却のために出社をしていました。 スマホ検証機をリモート化したことにより、QAチームの出社率は下がり、QAチーム以外のメンバーへの貸し出しも容易に行えるようになりました。
利用は他部署にも
無事検証機のリモート化が実現し、これは他部署にも使ってもらえるかもと思い全社に案内してみたところ、利用者が増えてこんな声をもらいました。
「PCのキーボードから入力ができるから、実際のスマホより操作が楽」
「キャプチャを自分のPCに簡単に保存できるので、エビデンスがとりやすい」
「QAチームのつくった検証機のリモート化めっちゃいい!前はこのために出社してたから。ありがとう!」
もともとは自分たちの業務のためにスマホ検証機のリモート化をはじめましたが、結果的に他の部署の方にも喜んでもらうことができました。 現在は、他の部署のスマホ検証機もリモート化しています。 スマホ検証機をリモート化したことで、出社が必要なくなっただけでなく、自宅や他拠点からの利用も可能になりました。 はじめに想定していたより、大きなメリットがありました。
さいごに
スマホ検証機をリモート化したことにより、下記の実現ができました。
- いつでも、どこでも、テスト可能な環境ができた
- (新たなサービスを契約したわけではないので)コストは増加していない
- (スピード感を持ってテストが行えるため)時間短縮になった
品質の仕事をしていると「KAIZEN」という言葉を良く使うのですが、Quallity、Cost、Deliveryという視点から見ても、スマホ検証機リモート化は良い「KAIZEN」だったのではないかと思っています。 QAチームは、仕様レビュー、テスト設計やテスト実施などを主に行っていますが、品質に関わることであれば何でもします。
VUCA(ブーカ)と言われる先の見えない時代、これが正解だ!と最初からわかっているものはないと思います。 時流を読んで時流に乗った新しいことを取り入れたり、挑戦したりすることはとても意味のあることだと考えています。
シナジーマーケティングは、自由にやらせてくれる風土があります。 与えられた仕事だけでなく、「今が最善とは限らない」と常に考え、小さなことでも「KAIZEN」していきたいと思います。
シナジーマーケティングでは一緒に働くエンジニアを募集しています。