見出し画像

Showcase Gigプロダクトの品質の要。SETエンジニアが思う「テスト自動化」の価値とは

株式会社Showcase Gig

こんにちは!人事の深井です。
Showcase Gigで働く社員を知っていただくために、社員インタビューを実施しています。

今回はSETエンジニア坂口さんのインタビューです。
時折小粋なジョークを盛り込んで、社内を盛り上げている坂口さん。先日のQAのイベントでは、初めてのファシリテーターにも果敢に挑戦されている姿が印象的でした。
「社外イベントで初ファシリテーター!成功させる為にやった事を紹介します」

そんな坂口さんに、どのような思いでShowcase Gigのプロダクトの品質を高めるための取り組みを行っているのかを語っていただきました。

Ryota Sakaguchi @kuluna 
新卒で大手SIにSEとして入社。その後ベンチャー企業でチャットボットの開発や飲食店向けのシフト管理アプリの開発に携わり、2020年10月Showcase Gig入社。
SETエンジニアとして、プロダクト横断でテスト自動化の支援を行っている。
MagicPodが大好き。技術書典にて技術本の執筆もしている。

最先端の技術に触れる中で興味を持ったSETというポジション

– 坂口さんがエンジニアを志したのは小学校5年生の時だとお伺いしました…!

そうですね。その頃からPCに興味を持ち始めて、将来はITの仕事に就くことを決めていました。なので、高校も大学も情報系の学校にいって、その後新卒でシステムエンジニア(以下、SE)になりました。

– そんなに小さい時からですか。PCに興味を持ったきっかけは何だったんですか?

親戚から古いPCを貰ったのですが、古すぎて思うように動かなかったんです。
WindowsMeがインストールされていて、何かするたびにフリーズするPCでした。Windowsのゲームをどうしても遊びたくて、PCをフリーズさせずにゲームをするにはどうしたら良いのか試行錯誤していたらPCに詳しくなっちゃったんです(笑)。
それがきっかけでしたね。

– 小学校5年生の時からの夢を叶えているのがすごいです!元々はQAやSETではなく、SEをされていたんですね。

はい。新卒で大手SIerに入社し、6年ほどSEをやっていました。プロジェクトの進行管理がメインでしたが実際にプログラムを書いたりテストをしたりと、プロジェクトの一通りの流れを経験しました。

プロジェクトの上流から下流まで携われたのでとても良い経験だったのですが、大体のプロジェクトで採用される技術がとても古く、新しい技術に触れられないことが悩みでした。
そこで、新技術を扱うようなプロジェクトに混ぜてもらったり、新しいビジネスの創出に特化した部署のあるグループ会社に出向もしました。

出向先では、今では当たり前のように使われているアジャイル開発で新規事業を創出するプロジェクトに参画しました。
HoloLensというARデバイスがあるのですが、それを使って何かビジネスができないか模索するプロジェクトが楽しかったことを覚えています。

その後、元の会社に戻ってきたのですが、やはりお客さんの要望としては「先進」よりは「安定」だったんです。医療分野のシステムを作っているような部署もあったので、「新しいけどちょっと不安定」よりは「古いけれども動くことが保証されている」方が大事で、せっかく身につけた新しい技術を活かせる機会がなく、転職することを決めました。

– QAやSETの領域に興味を持ったきっかけは何だったんですか?

転職先のベンチャー企業ではチャットボットの開発を行っていました。
私は英語が喋れないのですが、この先チャットボットが言語の壁を取っ払ってくれると思っていました。外国の方とお互いの母国語で自由に話し合える日を夢見て、入社を決めました。

ただ、入社して数ヶ月後に他言語をリアルタイムで翻訳してくれるプロダクトが他社から発売されて、なんと夢が叶ってしまったんです(笑)。

そこから飲食店向けのアルバイトのシフト管理をするアプリの開発に一から携わりました。そのプロジェクトでは、iOSとAndroidの開発を両方とも一人で行っていたのですが、そこで自分の中に変化がありました。

このアプリはアルバイトの方が自分のスマホにアプリをインストールして、自分が出られるシフトを提出し、店長も同じアプリを使いシフトを作るというものでした。ここでバグが起こってしまうと、飲食店のシフト管理が滞ってしまうので、バグを出さないように、且つ使いやすいようにということを意識して開発をしていました。

そのうちに、品質に強い興味を持つようになり、そこで初めてQAあるいはSETという品質に関する専門の人がいることを知り、目指したいと思うようになりました。

– Showcase Gigへの入社の決め手を教えてください。

きっかけとしては、SI時代の同僚からの紹介でした。

話を聞き、モバイルオーダーというのはとても便利でかつ身近なものだと感じました。自分も使いたいと感じるプロダクトに関わりたいと思い転職を決意しました。

実際に入社してからは、まずはQAチームのメンバーとして品質に関する知識を身につけていきました。その後は吉野家さんのプロジェクトに入り、自動テストを組む仕事から始まりました。

ソフトウェアだけで完結しないから難しい「自動テスト」

– 現在の業務内容を教えてください。

「O:der ToGo(オーダートゥーゴー)」と「O:der Table(オーダーテーブル)」、「The Label Fruit(ラベルフルーツ)」の自動テストを作っています。
具体的には、ブラウザを操作するテストツールがあるのですが、そのツールを経由してボタンを押したり画面をスクロールさせたりして、表示されているテキストが合っているかどうかの確認をプログラムで書いています。

工夫ポイントとしては、なかなか目視では難しいテストを自動化していることです。例えば画面のデザインの微妙な表示崩れを人の目で見つけるのには限界がありますが、自動テストだと1ピクセル程の表示崩れも検知できるんです。また、テストそのものがちゃんと実行されているのかどうかを確認できるように、テストしている最中の画面を動画で撮影しています。

SETエンジニアは現在私一人なのですが、マンパワーには限界があるので、ある程度自動テストを作ったら、開発チームがメンテナンスできるようにしたり、プログラミングの知識がなくても自動テストを組めるようにしたいと思っています。

そのための取り組みとして、少し前にQAチームリーダーの横田さんと、テスト自動化ツール「MagicPod」を導入しました。例えば「ボタンをクリックして次の画面に遷移する」という操作をプログラムで書くとなると、慣れていても10分ぐらいかかるんですが、MagicPodだと2分ぐらいで作れちゃうんです。しかもプログラムがわからない人でも作れるので、これは革命だなと思いました。

– SETエンジニアとしてやりがいを感じる瞬間はどんな時ですか?

ちょっと不謹慎ではありますが、テストが落ちた時ですね。
テストが落ちたということは、変更が加わったということです。
この変更が、開発チームが意図したバージョンアップによる変更だったら良いのですが、開発チームは変えたつもりがなかったのに落ちたということは、そこにバグがあって、開発チームでは気づけなかったバグを自動テストで見つけられたということなんですね。

なので、テストが落ちて、落ちたログを見て「開発チームが作っていない画面でテスト落ちたということはバグかもしれない」と発見できた時は、SETエンジニアとしての真価が発揮された気がしてやりがいを感じます。

開発チームには申し訳ないですが(笑)。

– そこでバグを発見できていなかったら、お客さんがそのバグを踏んでしまうことになりますもんね。では、逆に難しいなと感じる場面はありますか?

特殊なテストケースが多いなと感じています。サービスがBtoBtoCのモデルになっているので、toBもtoCもテストをしないといけないですし、その領域が分かれていないものもテストしないといけないケースがあります。

代表的なものでいうと「O:der Hub(オーダーハブ)」という、飲食店の方がメニュー管理などを行う管理画面がありますが、そこで変更したものが一般ユーザーのスマホの画面でもちゃんと反映されるのかどうかをテストしないといけないんです。O:der Hubで「変更が成功した」と表示されたから良しではないんですよね。

また決済面でいうと、O:der Tableでは会計時に一般ユーザーが自分のスマホで会計ボタンを押しますが、同じテーブルに入っている人であれば誰でも押せちゃうんです。なので、二人同時に押すと二重会計になってしまう可能性があるのですが、それを防ぐためのプログラムが動作しているかテストを行う必要があります。

これらを自動テストで書くのはすごく難しいんです。

– 具体的にどういうところが難しいですか?

普通のアプリであれば、基本的に一つの端末で完結できることが多いです。その端末で表示されている一つの画面内で、テキストが合っているか、ボタンを押した時に正常に反応するかのテストで完結できます。

ただ、モバイルオーダーは飲食店が注文を管理するキッチンディスプレイなどの複数の端末・アプリと繋がっていて、何か一つを操作すると別の部分にも影響が出てしまうんです。
一つの画面だけを確認していてもバグがないかどうか、正常に動いているのかどうかの判断ができないので、難しいなと思います。

– 坂口さんがSETの領域に専門的に携わられたのは、Showcase Gigが初めてだと思いますが、難しいモバイルオーダーのテスト業務をどのようにキャッチアップされたんですか?

QAの皆さんが持っている観点と同じ目線でアプリを見ることを意識していました。

個人的には、SETはQAとそんなに変わらないと思っています。やろうとしていることは一緒で、どちらも品質を上げるための仕事ですが、手段としてSETはプログラムでプログラムをテストしています。アプローチが違うだけなんですよね。

なので、私は「SETではあるがQAでもある」という意識を持って、QAの皆さんがどういうテストをしているのか、テストのテクニックや観点を学びました。

ー 普段、QAチームや開発チームとはどのような関わり方をしていますか?

Showcase GIgではSETエンジニアはQAチームに属しています。そしてQAチームは一つのチームになっており、開発チームとは独立しています。
開発の進捗確認のために開発チームの朝会に参加してテスト計画を組んでいます。

現状は、リリーススケジュール調整のための関わりにとどまっています。こういった現状から、「物」ができてから初めて品質に対して議論を行うのではなく、「物」ができる前からいろいろなパターンを洗い出せると良いのではないかという話をしています。

そのための取り組みとして、開発チームが書いたDesign DocをQAがレビューする取り組みを始めています。実際に始めて見ると気になる点は数点出てきますね。曖昧だった部分やケース漏れをこの時点で防ぐことができれば品質もよりよくなるはずだと考えています。

「誰かにとって価値のある品質」を作り上げていくために

– SETエンジニアの魅力は何だと思いますか?

自分の心構えの話ですが、世の中に出しても恥ずかしくないアプリを出したいと思っています。それができるのは品質に対して強い関心を持つ人だと思います。主役ではないですが、SETエンジニアはエンジニア寄りでありながら品質についてとても考えることができる、それが魅力かなと感じました。

– 坂口さんにとって「品質」とは何ですか。

誰かにとって価値のある物だと思います。

顧客満足度と品質の関係を考えるうえで広く知られている「狩野モデル」というものがあります。狩野モデルでは品質は大きく「当たり前品質」と「魅力的品質」に分けられます。当たり前品質は、バグがないこと、物が動いて当たり前、O:derであれば注文ができて当たり前ということです。一方、魅力的品質はO:derを使いたいと思う品質のことを指します。例えば料理が美味しそうに見える注文画面とか、同じものを注文したい時にすぐに注文ができるとか、そういった品質レベルのことです。

魅力的品質はあってもいいけど、無くてもそのサービスは使えるよねと言う部類だと思います。ただ、今の時代その中に消えちゃいけない機能や品質が存在しているので、それを当たり前品質に持っていかないと、淘汰されちゃうんだろうなと思っています。

バグがないといったような当たり前品質を完璧に守りつつ、魅力的品質をどれだけ上げていけるか、さらに魅力的品質を切り取って当たり前品質に持っていけるか。SETが自動テストで当たり前品質をチェックし、QAがより魅力的品質を追求できるようにしていきたいですね。

– 坂口さんが今後Showcase Gigで成し遂げたいことを教えてください。

単純にマンパワーが足りてないので、自動テストを書ける人を増やしていきたいなと思っています。

また、現状はプロダクトのフロントエンドを中心にテストをしていますが、ゆくゆくはプラットフォームの中心基盤に対しても自動テストをしたいと思います。
ここにはブラウザに表示するような画面がないので、今までとは違うアプローチをしないといけないです。画面がないとQAも難しいので、「SETの出番だ!」と思っています。

そのために、プラットフォームの開発チームと協力して、良い自動テストツールがないか探しています。なるべく多くのQAやエンジニアがメンテナンスできたり、テストそのものが面倒にならないようにする、といった複数の基準を持って、ツールを探しています。

加えて、今はソフトウェアを中心としたテストをやっていますが、私たちが提供しているプロダクトはソフトウェアだけではないので、ハードウェアも絡めた自動テストをやっていきたいと考えています。
例えば、モバイルオーダーで注文するとキッチンにある注文内容を印字するプリンターから紙が出てきて、キッチンスタッフがその紙で注文内容を確認し、料理を作り始めます。その紙に書かれている内容がモバイルオーダーで注文した内容と一致しているのか、という一連の流れを自動でテストできるようにしたいです。

おそらくピタゴラ装置を作らないといけないんだろうなと想像しているのですが、これからチャレンジしていきたいですね。

– 中長期的にはどのようなキャリアを描いていますか?

SETに限らず、世の中にエンジニアを増やしていきたいと考えています。エンジニアがすごく好きなんです。エンジニアになりたいと思っている人をエンジニアにしたいと思っています。

そのために、今QAチームの中でSETのスキルを身につけようという勉強会を開催しています。
あとは、インターン生のメンターにも自ら手を挙げて挑戦しました。
「インターン生のメンターをした話」

– 最後にShowcase Gigの選考を受ける方へのメッセージをお願いします!

Showcase Gigならではでいうと、やはりプラットフォームというものに求められる高い品質をどう保証するか、そしてソフトウェアに収まらない領域がたくさんあることだと思います。そういった領域に興味を持っていただける方はとても面白いのではないでしょうか。

– 坂口さん、素敵なお話をありがとうございました!

Showcase GigではSETエンジニア、QAエンジニアを募集中です。
社員とカジュアルにお話ししてみたい方は、ぜひ以下のリンクからお気軽にお申し込みください!

募集要項
■QA TEAM Profile

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!