Customer Stories
badge

「Autifyを導入しない選択肢がなくなった」クロスブラウザのテスト自動化88%実現までのプロセスとは?

VP of Engineering 下司 宜治氏、QAE 佐藤 瞳氏

single page image
Company
株式会社アンドパッド
https://andpad.co.jp/
Industry
バーティカルSaaS / 建築・建設業
Publish Date
Oct 4, 2021

4人のメンバーで動き出したテスト自動化プロジェクト、その全貌

組織のDXやバックオフィス系など、海外のファンド・投資家からも注目されているスタートアップが日本のB2B、SaaS企業だ。そんな中、業界に特化したバーティカル領域のSaaSも続々増えている。例えば高齢化や生産性向上などさまざまな課題を抱える建築業界で、テクノロジーにより解決を目指しているのが株式会社アンドパッド。

「ANDPAD」は、建設現場の業務効率化や経営改善を一元管理できるシェアNo1(※) のクラウド型のプロジェクト管理サービス。国土交通省が運営するNETIS(新技術情報提供システム)にも登録され、新築、リフォーム、商業施設の建築など、現在10万社を超える企業が利用している。

※「クラウド型施工管理サービスの市場動向とベンダーシェア」(デロイト トーマツ ミック経済研究所調べ)

ANDPADを提供する株式会社アンドパッドのVP of Engineering 下司 宜治さん、QAE 佐藤 瞳さんのお二人に、品質向上の取り組みや、E2Eテストの自動化について話を聞いた。

事業内容とお二人の業務について教えてください。

下司さん: 株式会社アンドパッドは、建築業界向けに特化したクラウドサービスANDPADを運営しております。

建築業界にはDX促進などの課題がありますが、それを一つひとつ丁寧に解決していくことを目的としたサービスです。弊社は現在従業員が4~500人くらいのスタートアップですが、シリーズCの調達まで完了しています。

今後サービスを幅広く使っていただけるよう、いろんなアプリケーションを組み合わせて展開できるような形にしていきたいなと考えています。建築業界に関わるすべての方のプラットフォームのような事業展開を考えています。

私は2019年にアンドパッドに入社して、採用や品質面などを含めた開発組織全般を見ています。社内ではとくに「品質を高めていこうよ」と伝えています。

佐藤さん: 私は2020年2月にアンドパッドに入社し、プロダクトの品質向上に取り組んでいます。

工数削減のため、メンテナンスフリーで拡張性のあるツールを探していた

– Autifyを導入いただいていますが、導入以前にはどのような課題がありましたか?

佐藤さん: 以前はリリース前の動作確認を週に1回くらい手動でテストをしていました。それに工数が掛かっていたので、みんなのリソースを使ってしまうことが課題でした。

そもそもQAエンジニアが少なく人手が足りなかったため、実際はエンジニアやPMもテストを手動で行う状況で、その辺りを改善したいと思っていました。テストを自動化することによって、浮いた時間で開発ができる、毎回同じテストを手動でしなくてもいいように、時間の効率化も図りたいと考えていました。

– Autifyをご導入いただく前は、他のサービスで自動化を試みたことはありましたか?

下司さん: 個人的にはSeleniumを触ったことがありますが、メンテナンスを含めて考えた時、直感的に触れないとメンテナンスがやりにく印象でした。テストがすぐに壊れるし、コードを書ける人が限定されてしまう。Seleniumのメンテナンスに掛ける時間が、手動テストやっている時間と同じぐらいじゃないか、みたいな。何のために僕らはこれ使っているんだ?と感じることが、昔はよくありました。

そういう経験もふまえて、メンテナンスフリーで拡張性があるいい自動化サービス、何かないかな?という話はメンバー同士でもよくしていました。

目標を定め、4人でスクラムを組むように自動化を進める

– Autifyの導入をどのように進めていったのか、気を付けたポイントやつまづいたポイントなどあれば教えてください。

佐藤さん: まず自動化に取り組むメンバーを4人くらい集め、小さいチームを作りました。下司さんと私と開発メンバーで進めていくことにしました。週1回の定例ミーティングを設けて、その場で今週やることや進め方を相談して決めました。進行案件の開発をしながらテスト自動化も平行して進めました。

事前にどんな課題があるかを洗い出しておくこと、毎週やることを明確にすることなどを決めて、スクラムを組むように進めていきました。

– 役割の異なるメンバーで編成することで、進めやすかった点は何かありますか?

佐藤さん: 契約前の判断は、ほぼ下司さんにお願いしていました。開発メンバー二人と私で、「3カ月のトライアル期間中にここまでやる」と目標を定めて、それに向けてできることを常に下司さんに相談しつつ、ガンガン使い倒していくという形です。

ケースごとにマイルストーンを置いて「今月はここまでやっていこう」「来月はここまで」「3カ月後に導入するかどうかのラインはこう」という感じで進めていきました。もし一人でやっていたら、ここまで実現できていなかったと思います。

– 進め方は、どのように決めたんですか?

佐藤さん: たくさんテストケースがある中で、「この辺から自動化していこう」という優先順位にしたがって、毎月徐々に広げていきました。作りやすいシナリオと作るのが大変なシナリオがありますが、まずは簡単なものから着手してどんどん作っていきました。

最初は「分からないことは問い合わせよう!」と声を掛け合っていたので、いろいろと質問させていただき、その場で解決していきながら進めることができました。

Autifyを試してみたら、使わない選択肢がなくなった

– 3カ月後のマイルストーンが、具体的にどういうものだったかお聞きしてもいいですか?

佐藤さん: 3カ月後のマイルストーンとして、その先も使っていけるような運用で回せるかどうかの判断に注視していました。1カ月くらいやると、もうなくてはならない感じにはなってきていたんですけど、3カ月で、どのくらい自動テストを増やせて、運用にのせられそうかをマイルストーンにしました。

最初は、テスト環境としてChromeだけを作っていきました。でも徐々にシナリオが増えていくと「クロスブラウザでみたい」と思うようになったんです。そしたら「IEでも回したいよね」「Edgeでも回したいよね」とどんどん増えていったので、自然と「Autify使わない」という選択肢はなくなりました。

下司さん: 当初は「3カ月くらい検討します」という話をしたと思いますが、トライアルから申し込みまで、実際は1カ月くらいだったと思います。

– 導入の決め手になったポイントはなんですか?

佐藤さん: Autifyはコードが書けなくてもポチポチやれば誰でもテストが作れる点は大きかったです。エンジニアじゃなくてもシナリオさえわかれば作れます。

そしてテストを作り切れば、実行ボタンを押すだけなので、実行することに関しては、テスト自動化のメンバーではなかったとしても誰でもできる。メンテナンスもそれほど手間ではないので誰でも運用することができます。

下司さん: リグレッションテストのテストケースの欄に「ここはAutify」「ここはAutify」と書いてありました。「ここはAutifyで回すんだ」「じゃあAutifyがなかったらどうするんだ」という感じになっていて、必然的にQAのプロセスの中にAutifyが組み込まれました。

– テストケースの中でも、自動化しにくい箇所や、手動のほうが早いという部分もあると思います。自動化するにあたってテストケースを再設計した部分もありますか?

佐藤さん: 一部見直しながらやってはいます。もともとテストシナリオ自体の完成度が高かったかと言うと、まだまだ改善の余地はありました。そこも含めて見直して、変える必要があるところは変えていきました。今はいろんなプロダクトのテストをAutifyに置き換えていく作業を進めています。

88%自動化を実現。成功の鍵はメンバーのモチベーション?

– 全体の88%をAutifyで自動化したという話を聞き、かなり高い数値だと思いました。秘訣を教えてください。

佐藤さん: 最初は、クロスブラウザは考えずとりあえずChromeだけ作り始めました。毎週の定例ミーティングでは担当を決めて、1個ずつでもシナリオを増やしていくようにしました。ブラウザごとに動く/動かないというものもあるので、そのうちクロスブラウザを意識するようになりました。

都度「自動化していくか/していかないか」を判断しつつ、自動化する項目を決めていきました。その積み重ねで今は、88%にまで持っていけたと思っています。

– 自動化推進とシナリオ作成は、佐藤さんだけではなく、エンジニアチームの皆さんも巻き込んでいったと思うのですが、エンジニアは日々忙しいからテスト自動化にも「時間が割けない」という声もよく聞きます。協力体制はどう得られたんですか?

下司さん: リーダーシップの工夫ではなく、エンジニア自ら「やりたい」と言っていました。やるんだったら本気でやろうぜ!という雰囲気で始まったところが大きかったのかなと思います。

佐藤さん: 私から「やっていきましょう」と広めているというより、エンジニアから「Autify入れたいんですけど」と相談されることが多いです。 たぶん、エンジニアたちの「手動テストをしたくない」という気持ちから、自動化へのモチベーションが高いと思いますね。

横のつながりも意識して、他部署ともナレッジを共有

– 他チームへの導入支援は佐藤さんが担当されているんですか?

佐藤さん: そうですね。隔週でミーティングしながら進め方を一緒に考えています。シナリオ作成は基本的にエンジニアかPMにお願いしています。私のほうでは、最近はレビューとアドバイスをメインでやっています。どこから作っていくのがいいかを選定したり、エンジニアが作成したテストを見直しながら進めています。

– QAはテストを実行する人ではなく「品質のエバンジェリスト」のようになっていくのではないかと感じています。 佐藤さんはまさしく、そういう動きをされているんですね。運用上の工夫などがもしあれば教えてください。

佐藤さん: 自動化のメンバーが当初は4名でしたが、現在は8名まで増えました。各プロジェクトごとに自動化したい人がメンバーに加わった形です。メンバー全員に、シナリオ作成やその他のタスクをネクストアクションとして割り当て、全員がそれぞれ作業にあたることで、誰かを置き去りにせず進捗するようにしています。

またエンジニアは社内のネットワークも広いため「あのチームの〇〇さんに聞いてみたらその問題、解決するかもしれません」とお伝えして、横の繋がりも作りながらナレッジを共有できるようにしています。開発の定例でもAutifyの話題が出るので、そこでキャッチアップしているパターンもあるみたいです。

テストにかかる時間を6分の1程度に削減

– Autify導入後はどのような変化がありましたか?

佐藤さん: 当初はリリース前の動作確認を自動テストにすることが目的でした。

ですが、Autifyを導入して自動化がどんどん進むにつれて「他のプロダクトでも使いたい」という声もあがってきました。そしてリリース前の動作確認だけでなく「開発環境での定時実行も自動テストに」という風潮になりました。今は、開発環境でのリグレッションテストにまで拡充しています。

当初はそこまで考えていなかったので、期待以上に広まって私としては嬉しいです。

– 導入後、具体的にどのような効果を感じますか?

佐藤さん: 今や誰でも「私がやります、ポチッとします」と積極的に言ってくださる人も増えて、浸透してきているのがわかります。テスト結果も、みんなが見てくれるようになり、だいぶ助かっています。

下司さん: 導入した効果は、かなり大きいと思います。Autifyのおかげで障害が未然に防げます。人手でのテストだと、どうしても目が濁る部分もありますから、障害に気付けたかもしれないし、気付けなかったかもしれない。結果的に信頼性を担保できていると感じます。

そしてみんなが複数のブラウザを開きながらカチカチやってた時代に比べると、テストの時間が減りました。1ブラウザに30分ほど時間を掛けていましたが、今は5分くらいにまで短縮されたと思います。 手動テストの時間が減ったぶん、他のいろいろなことに時間を割けるので助かります。

– テストの時間を削減したことによって、どんなことができるようになりましたか。

下司さん: 新機能を作りやすくなったというのはあると思います。また心理的な安全性は、かなり良くなりましたね。テスト結果がSlackに通知されるようになっているのですが、赤い×印がくるとSlackのスレッドが盛り上がります。ちゃんと不具合を見つけてくれた、ということなのでAutifyへの信頼感が高くなります。

「 コードが書けなくても自動化できる」を伝えたい

– 今後どのように進化していきたいか、展望をお聞かせください。

下司さん: 現在はPC版のアプリケーションをメインにAutifyを使っているので、スマートフォンアプリも導入を進めていきたいです。試しに1つのプロダクトで導入してみたものを、各プロダクトにどんどん反映していく。そのための道筋を作っていけたらと思っています。

佐藤さん: テストケースとしては、まだ未完成の部分もあります。それらも徐々に対応して、品質の向上をしていきたいです。

– 最後に、これからテスト自動化に取り組む人へのメッセージをお願いします。

下司さん: 今日お話ししましたが、まずはできることから進めていくことが、重要だと思っています。僕らは当初4人で始めましたが、一人だとなかなか大変だと思うので、一緒に取り組める仲間がいるといいと思います。また導入時はAutifyのカスタマーサクセスの方に、いろいろ相談に乗ってもらえて大変ありがたかったです。ぜひ、Autifyを検討している際には活用したほうがいいかなと思います。

佐藤さん: 私はQAとしてテスト自動化に取り組むのは、ANDPADが初めてでした。初めてのツールがAutifyだったので、コードが書けなくても自動化できるという成功体験を得られました。まだ未経験の方にも、Autifyならコードが書けなくても自動化できるということを伝えたいです。QAチームが少なかったり、一人でやらなければならず心細いという人もいらっしゃると思いますが、今は相談できる場やコミュニティもあるので、一緒にがんばりましょう。

– 何かお知らせがあれば、どうぞ。

下司さん: アンドパッドは、QAエンジニアとSoftware Engineer in Test(SET)を募集しています。QAエンジニアは、E2Eテストの拡充や各種自動化や要件設計レベルから入って品質を高めていく仕事です。SETは、自動テストの分類からエンジニアの開発体験を良くしていくことがミッションです。もしご興味があれば、こちらからご応募いただければと思います。もしくはTwitterでDMをください

(聞き手: オーティファイ株式会社 CEO&Co-Founder 近澤 良)

導入事例

Autifyのデモをご希望ですか。 こちらのフォームよりご連絡ください。

デモを申し込む
company illustration