Customer Stories
badge

「CypressやSeleniumと比べ、Autifyは3倍もの時間を節約できた」Q4 Inc.がAutifyを選んだ理由

自動化エンジニア Chastain Marchildon 氏

Industry
BtoB SaaS/CRM
Publish Date
Oct 29, 2021

IR(インベスター・リレーションズ、投資家に対する広報活動)の支援ツールを手掛けるQ4 Inc.(以下、Q4)は、Apple、Netflix、Facebook、Amazonなどをはじめとする様々な大手企業にソリューションを提供している。Q4の中でも最大のプロダクト、「Virtual Events」のテストプロセスの自動化にAutifyが採用されている。実績として、Autifyの導入によってQAの工数・コストを3分の1に削減することに成功した。

ソフトウェアテストの世界では、エンジニアやQA担当者の多くがSeleniumやCypressなどのツールを使ってテストコードを書いている。しかし、ソフトウェアの成長や変更と共にテストコードも増えていくため、メンテナンスに手間が掛かってしまう。結果的に開発に時間が掛かり、「継続的にリリースして開発ライフサイクルの短縮を目指そう」というDevOpsの原則に反してしまうのだ。

このような課題を解決するため、QAチームのリーダーは素早く習得できる使いやすいツールを常に求めている。Q4の自動化エンジニア、チャステインさんも同じジレンマに直面していた。チャステインさんの場合、時間も限られていた。目標は、3か月でテスト自動化計画を実行し、テストカバレッジ85%以上を達成すること。このような目標をチャステインさんはどのように成し遂げたのだろうか。お話を伺った。

IR CRMを手がけるQ4 Inc.が、Autifyを活用したE2EテストでQAの工数・コストを3分の1に削減することに成功 (写真提供: Q4 Inc.)

導入のハードルの低さ、迅速さでAutifyを選んだ

― 御社の事業について教えてください。

「Virtual Events」とは、当社が提供するバーチャル株主総会プラットフォームです。Zoomと似ていますが、金融情報について話し合えるよう、安全性を高めているという特長があります。

— どのようなニーズに応えているのでしょうか?

新型コロナウイルスの流行によりVirtual Eventsはさらに注目を浴びるようになりました。株主と企業を素早くつなぐ、質の高いサービスへのニーズが生まれたのです。

— コロナ以前からこのような製品の開発を予定していたのですか?

いいえ、バーチャル・プラットフォームを開発する予定は全くありませんでした。ですが、安全に大規模な金融会議をネット上で行えるプラットフォームを提供できる競合他社は存在しないと考え、開発に踏み切りました。

— どのくらいの頻度でデプロイしていますか?

毎週です。継続的にデプロイしたいと考えているのですが、それを可能にするには数多くの課題を解決しなければならないというのが現状です。

— QAエンジニアはチームに何名いらっしゃいますか?

Virtual Eventsのチームには6名、社内には合計で15名のQAエンジニアがいます。

— Autifyの導入前、どのような課題に直面していたのでしょうか?

まずはじめに、自動化していくためのしっかりとしたワークフローがありませんでした。私たちはテストにおいて5~6種類ほどの製品を使用しており、それぞれが異なる自動化ツールを使ってました。Java、Selenium、Nightwatch、Cypressなどのツールです。

私たちのQAチームには、コーディングできるメンバーとできないメンバーがいます。もともとは「テストカバレッジ85%」を目標に掲げており、その達成のためには、コーディングができないメンバーでも習得が簡単で、短期間で素早く導入できるツールが必要でした。

当初は、CypressでVirtual Eventsのテストを自動化する予定でした。そのために人を雇ったりもしたのですが、1か月経過しても自動化はほとんど進んでいない状況でした。

このころ、当社のエンジニアリーダーがAutifyのセールスマネージャーから「ノーコードでテスト自動化できるツール」について伺ったのです。そこで私は、PoCを任されました。「QAメンバー全員が習得でき、ゼロから構築する必要がなく、迅速に導入できるツール」を求めていたのですが、Autifyは必要項目をすべて満たしていたのが導入のきっかけでした。

- Cypressで自動化を試みた後、他のテスト自動化ツールを試さなかった理由は?

とにかく時間がなかったんです。素早く導入でき、誰でも使えるツールが必要でした。

そこで、Autifyのレコーディング部分からPoCを始めました。以前、同様のレコーディングツールを試したことがあったのですが、その時の感触はあまり良いものではありませんでした。そういった過去があったため、チームが懐疑的だったのは当然でした。

ところが、PoCは成功したのです! QAメンバー全員が素早く習得でき、問題なくAutifyを使いこなすことができました。特別に研修を行う必要もなく、エンジニアに助けを求める必要もありませんでした。

- QAメンバーはAutifyでうまく行くと納得していましたか?

はい、全員がAutifyを支持していました。技術部長から、プロダクトリード、デベロッパー、QAまで、全員が前向きでした。

チーム全体で導入の手軽さを実感

— 短期間でAutifyを導入できたポイントは?

最大のハードルはスプリントに自動化作業を組み込む時間を確保することだったと思います。

プロダクトマネージャー、開発責任者、QAマネージャーなどとスケジュールを調整するのが大変でしたね。また、QAがプロダクトとAutifyに慣れるまでの間、メンバーを追加して仕事をカバーできるようにしました。彼ら自身が自動化できるようになると、仕事量は元に戻りました。

Autifyの良さは、本当に短期間で導入できることだと思います。1~2回のスプリントサイクルで、メンバーたちだけで自動化できるようになりました。そういう経緯も経ていたので、Autifyに反対する人はいませんでしたね。

— コードを書いて自動化した他のプロジェクトはどうですか? 将来的にAutifyで自動化していく予定ですか?

今のところ、Autifyでテスト自動化を行っているのはVirtual Eventsだけですが、最終的にはほとんどのプロジェクトを移行したいと考えています。しかし、データ量が多いプロジェクトもありますから、そちらはCypressのままでテストしていくつもりです。

— Autifyを導入するうえで、工夫した点はありますか?

一番のアドバイスは、Autifyのサポートチームを活用することです。サポートの方々は知識が豊富で、素早く対応してくれます。有料版に移行する前の段階でも、PoCを実施する上でかなりお世話になりました。

DevOpsチームの方が継続的インテグレーションにも対応できるよう工夫してくれたのも助かりました。デプロイするたびに、Autifyが自動的にテストを実行するようにできたのです。これにより、「あまり操作しなくていい」から「まったく操作しなくていい」に限りなく近い状態になりました。テストシナリオが完成したら、ほとんど触る必要がないのです。Slackにも連携しているので、時々チャンネルを覗く程度です。

継続的インテグレーションのありがたさを実感するのは、ピーク時以外にデプロイするときですね。本当に助かっています。

もう1つアドバイスするとしたら、ステップグループを賢く使うと、時間をかなり節約できるということです。ステップグループを最大限活用できている人は少ないと思います。

ログインステップを記録するとき、1つひとつ手動で操作するQAメンバーが多かったのですが、同じ作業を何度も繰り返すのは時間の無駄です。ステップグループを作れば一発で解決でき、作業効率化に役立っています。

— 本番環境ではどのようにテストしていますか?

本番環境ではリグレッションテストと同じくらい丹念にスモークテストを行っています。安心できるよう、本番環境でのテストは惜しみなく行っています。さらに、Autifyなら、別のURLを指定するだけでシナリオを変更できるのも便利です。

CypressやSeleniumと比べて3倍以上の時間を節約できた

— Autifyを導入して、どのような効果が見られましたか?

Autifyには、ボトルネックとなるようなものはほとんどありません。Virtual Eventsでは、ユーザー間のやり取りをシミュレーションするために、複数のタブを開けなければなりません。Cypressでも対処できますが、そのための時間的余裕はありませんでした。一方、Autifyでは新しいタブを開くのは簡単です。一度Autifyを体験したら、他のツールを使うことは考えられませんね。

また、全体的な作業効率が飛躍的に向上しました。例えば、QAが1人で機能全体のテストを自動化するのに1日しか掛かりません。

NightwatchやSeleniumでVirtual Eventsのテスト自動化を実践するのはかなり非効率ですし、メンテナンスは大きな課題となります。Autifyなら、簡単にステップを削除して、新しいステップを追加でき、GitHubを見るまでもなく、画面操作だけで完了します。

UIが変わったことが何度かあったのですが、Autifyで「要確認」となり、成功とするか、失敗とするか選ぶだけです。これでメンテナンスが完了するなんて、画期的だと思います。

例えば、メニュー上のボタンを移動したところ、Autifyで要確認となり、テストが失敗となったことがありました。そこで、ステップを追加してテストを再実行したところ、成功しました。コードを書き直さずにメンテナンスが完了したのです。以前はXPathで要素を指定する必要がありましたが、Autifyではその必要がないので、そのあたりのストレスもかなり軽減されました。

Autifyならメンテナンスはほとんど必要ないのが最大の魅力だと思います。

— Autifyを導入して、どれくらい時間を節約できましたか?

限られた時間しかありませんでしたが、Autifyを導入することでCypressやSeleniumなどより3倍またはそれ以上の作業をこなせたと思います。最初のメジャーリリースまでに3か月分の業務をこなさなければなりませんでしたし、テストカバレッジ85%を目指していましたから、かなりハードでした。CypressやSeleniumでは「絶対無理!」だったのが、Autifyのおかげで目標を3か月で達成できたのです。

「CypressやSeleniumと比べ、Autifyは3倍もの時間を節約できた。」というのは何よりも大きな成果だと思っています。

(聞き手:オーティファイ株式会社、CEO・共同創業者 近澤良)


14日間のAutify無料トライアルをご案内中

誰でも簡単にテスト自動化をスタートできます。

トライアルのお申込みはこちらから✈️

導入事例

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

デモを申し込む
company illustration