株式会社GA technologies(以下、GAテクノロジーズ)は、ネット不動産のRENOSY(リノシー)というサービスを展開している不動産テックの会社です。不動産業界はまだまだ紙と、電話とFAXというアナログな業務スタイルが残っている業界ですが、同社はテクノロジーを駆使して不動産業界のデジタルトランスフォーメーションを進めています。
柿崎憲氏は、GAテクノロジーズGROUP 経営統括本部 Engineering/QAというチームで部長を務めています。組織横断で品質保証にまつわるあらゆるオペレーションを行っているチームなので、QAのほかセキュリティ関連のチェックや、開発全体のプロセスチェックもしています。柿崎氏は、20年近くウェブのQAに携わってきた経歴があり、GAテクノロジーズのQA部門を支えるつもりで入社しました。
2018年に柿崎氏が入社した当初、GAテクノロジーズのQAチームは5名ほどでした。現在、柿崎氏がQAの責任者を引き継いでから3年ほどが経過し、RENOSYブランド全てのプロダクトを11名のQAメンバーで担当しています。RENOSYでは投資用不動産を中心に扱っていますが、高級賃貸のサービスを展開をしていたり、RENOSYマガジンという投資系のメディアもあります。RENOSYの裏側では複数のシステムが複雑に連携して動いていて、これら全般のQAを柿崎氏のチームが担当しています。
GAテクノロジーズの開発プロセスは部分的に自動化を進めています。プロダクトの開発サイクルがとにかく速いので、自動化する部分というのはある程度安定して動いている部分を見極めつつ、他はマニュアル作業で補っているスタイルです。
ウェブのRENOSYの動作チェックや、(これはmablではないのですが)OWNR by RENOSYというスマートフォンのクライアントアプリの基本動作の確認を自動化しています。また、コードベースではほぼ全てのプロダクトである程度ユニットテストが書かれていたり、APIテストも主要な部分や安定的に動く部分を自動化しています。
DevOpsを採用し、SREのチームでも一般的なCI/CDを導入して、”デプロイを走らせるとユニットテストが動いてビルドされて配信される”というようなシステムが整えられています。
30種類ものプロダクトが存在しているので、各プロダクトチームにもよりますが、新規機能は週一ペースでリリース、日に5回くらい本番デプロイをしています。「リアルとテクノロジー」がキーワードとして挙げられるように、業務部門のリアルなオペレーションに影響を与えないように、業務部門の休みに合わせて機能リリースをしています。
現場ではリリースサイクルは速まっているようにも感じています。プロダクトの数が多く、QAチームの人数も11名いるとはいえ少数で回しているので、一般ユーザーにクリティカルなダメージを与えないように、プロジェクトに常に並走してQAを行っているイメージです。
GAテクノロジーズでのmablの活用方法と、導入のきっかけ
GAテクノロジーズの開発体制では、プロジェクトの序盤からリリースまでドキュメントのレビューや、コードレビューなど様々なテストを行っていて、積極的に自動化を進めています。現在は、主にブラウザの自動テストの場面でmablを活用していますが、APIのテストにもゆくゆくは活用していきたいと考えています。
mablの導入前は他のテスト自動化サービスを使っていました。そのサービスを使う前は、オープンソースのSeleniumやCypressを使っていました。オープンソースのテストツールを使っていた時の課題は、安定して稼働させるためのコストがかかるという点でしたが、自動化ツールを導入した際に、安定した環境構築を整備することができました。
mablを導入したきっかけは、チームのメンバーから「mablも試してみたい」という声があがったのと、もともと特定のツールだけの利用にこだわっていたわけではなかったので、まずはトライアルを試してみました。
ツール選考のプロセスは、トライアルを利用してメリットとデメリットを比較して決めました。決め手はコストパフォーマンスの部分でした。同じコストであれば、より多機能なツールを導入したいと考えました。元々自動化のツールは導入していたので、mablの導入を決めた後はチームメンバーが自発的に自己学習をしていましたが、mablが提供するオンライントレーニングではJavaScriptを使用してテストデータを生成するのにより便利なスクリプトの書き方などを教わることができ、実務に生かすことができました。
mablは多くの機能がありますが、特にダッシュボードでページのパフォーマンスが可視化されている点を評価しています。ウェブサイトの表示スピードやJavaScriptのエラー検出もできるので、ウェブのフロントに特化した見せ方をしてくれている点がとてもよかったです。
全てのステータスコードが見れるダッシュボード機能というのがチームで高評価だったのは、「特定のページのレスポンスが遅い」だとか、「出力に時間がかかっていそうだ」という課題感があったことが背景にあります。実際にページスピードを計測してみると、確かに遅かったり、感覚的に遅いという感触はあっても、定点観測することが出来ていなかったので、mablで継続的にレスポンスを評価することができるようになったことでサイトのコンディションも継続的に可視化できるようになったことに価値を感じています。
また、ビジュアルリグレッション機能を使っています。URLの指定だけで、画面の見た目を常に自動テストできることはありがたく、フル活用しています。
GAテクノロジーズでは、お客様からのお問い合わせをいただくランディングページが重要な役割を果たしているので、その画面表示が崩れていないことに確証をもてていることも安心感に繋がっています。CIの中にmablを組み込んでいて、デプロイの度に自動的にビジュアル確認テストが動作するようになっています。デプロイのたびに確認できるのは、定時実行でテストを動かすよりも確実なので、今後このようなCIに組み込むような使い方の範囲も拡大していきたいと思っています。
ダッシュボードで画面のカバレッジが測れる機能も便利でした。高級賃貸のサービスでは、初め50%だったテストカバレッジが1ヶ月程度で90%まで拡大しました。画面のテンプレート数はそこまで多くはないものの、検索結果のパターンが数千、数万という膨大なボリュームだったので、mablではワイルドカードを使って検証しています。投資用サービスのテストカバレッジはまだ80%ですが、これから90%くらいまでは増やせるのではないかと思います。
テスト自動化ツールを導入する前と比較すると、80%くらい時間が削減できるようになりました。前のツールからmablに乗り換えた後、さらに20%くらい削減できています。
以前のツールでは、メールのテストが失敗しやすかったのですが、mablは安定して動いてくれるので今は快適にテスト運用ができています。
チームのワークフロー自体には大きな変更はありませんでしたが、CIに組み込むということができたのは大きな前進でした。また、リグレッションテストによる恩恵を感じています。基本的にはリグレッションテストで、常にmablで動作保証がされているので、今後リリースの頻度が上がった場合でも対応できる安心感があります。
また、フロントエンジニアからも「mablを使ってみたい」というフィードバックがありました。ランディングページのテストをCIに組み込んだ時も、制作を担当しているフロントエンドのエンジニアからの申し出があって実現した形です。
また、コマンドラインでヘッドレスにテスト実行できるローカルCLIランの機能がいいなと思っています。HTTPアーカイブが保存されている(HARファイル)のもいいと思います。不具合が起きた時にログを検証できるので、重宝しています。
mablは、E2Eテストの標準だと思います
mablを使うと、複雑な操作でも動作してくれるので、テスト自動化ツールが全てを行えるというイメージを抱いている方もいると思うのですが、テスト自動化のコツは「マニュアルだと一回3秒くらいのことで手動でもいいよね」ということを自動化しておくこと。何万回もやらないといけない単純な作業こそ、自動化したほうがいいと思います。まずは環境構築が面倒なのでそこから解放されること、そして、最初から複雑な操作を全部自動化するのではなく、いわゆるビジュアルリグレッションなど簡単なテストから自動化を始めるといいと思います。簡単なテストから自動化してみるとmablのトライアル期間でもメリットを感じやすいと思います。
mablを使いたいと考えている方は、GAテクノロジーズのQAチームに来ていただくのも手ですよ!現在採用を積極的に行っています。柿崎 憲