株式会社IVRyのDatadogを活用した自動テストの導入事例
株式会社IVRy / rymsk-21
メンバー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
Synthetic | 10名以下 | 2022年 | B to B |
利用機能 | Synthetic |
---|---|
ツールの利用規模 | 10名以下 |
ツールの利用開始時期 | 2022年 |
事業形態 | B to B |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
サービスの成長に伴い、開発チームでは毎週のようにリリースが行われていました。 QAエンジニアがリリース物を全て手動で実行していたため、テストリソースが不足し、リリースが遅れそうになることが多々ありました。 今後のメンバー増員やリリース頻度の向上を考えると、QA段階でボトルネックになることが課題でした。
どのような状態を目指していたか
まずは、毎週リリースを安定的に実現できる状態を目指しました。 その際、QA段階のリソースがボトルネックにならないことを重視し、具体的には、テスト工数を削減するためにリグレッションテストの7~8割を自動化することを目標としました。さらに、自動テストをQAエンジニアだけでなく、開発者も実行できるような状態を目指していました。
比較検討したサービス
- Autify
- MagicPod
- mabl
- Selenium
比較した軸
- テストケースで実現したいことが8割以上可能であること
- コスト面
- ノーコード・ローコードの選択(開発者に依存しない体制を考慮)
選定理由
- シンプルで使いやすい
- 実施したいテストケースが実行できること
- コストが安い
- すでにインフラ監視でDatadogを導入しており、知見を持つメンバーがいた
導入の成果
改善したかった課題はどれくらい解決されたか
導入したことで、リグレッションテストの実行工数を約7割削減でき、新機能や機能追加があった場合のテストの実行工数も約4~5割削減することに成功しました。
どのような成果が得られたか
自動テストを導入し、QA段階で実行することで、効率的に事前に問題を検知できるようになり、リリースが安定しています。元々は毎週リリースを行なっていましたが、Datadog Synthetic導入によりテスト工数を削減できた影響もあり、毎日リリースも可能となっています。
また、軽微なリリースに関しては、QAエンジニアだけでなく開発者もテストを行なっており、その際に自動テストが活用されています。
導入時の苦労・悩み
たくさんのSaaSサービスやライブラリなどがあり、どれが自社のプロダクトに最適かを調査・検討するのに苦労しました。そもそも、テスト自動化に対する解像度が荒く、漠然と自動化したいという思いがありましたが、プロダクトの性質や優先事項を絞ることで徐々に方向性が見えてきました。特に電話機能やUIの特性を踏まえ、まずは電話機能をスコープから外し、UIのリグレッションテストに適したツールを試していきました。
導入に向けた社内への説明
上長・チームへの説明
自動テストの導入に関しては、チーム内に賛成派の人が多かったこと、そしてメンバーの経験則から、ノーコードのツールを導入することに対しても、その時のメンバー数や環境で自動テストのライブラリを入れるよりもメンテしやすく、誰でも簡単に操作できるということで良いとフィードバックをもらっていました。
唯一の懸念点はコストでしたが、機能比較の中で他のツールとできることの差分があまりなく、価格も圧倒的に低コストだったため、大きな論点にはなりませんでした。
活用方法
QAエンジニア、開発チームで利用しており、リリース前に対象機能に変更がある場合、GitHub Actionsを経由してシナリオ実行を行なっています。 メンテナンスに関しては、主にQAエンジニアが担当しており、自動テストで失敗したケースや新機能リリース後に時間をとって対応しています。また、本番環境の検知目的で、毎朝スケジュール実行を利用しています。
よく使う機能
主に Browser Test を利用してテストシナリオの作成から実行までを行っています。 特定のシナリオのみ実行したい場合は、手動で実行することもありますが、CI/CDを活用して複数のシナリオを一括で実行できるようにしています。
また、本番環境での検知目的のテストに関してはスケジュール実行を行っています。 さらに、Syntheticと自社で開発している電話の自動テストを組み合わせてより広範囲なテストも実現しています。
ツールの良い点
- シンプルな操作性
- 低コスト、ライトに導入することができる
ツールの課題点
大きな課題感があるかというとそこまでありませんが、Synthetic側の制約で、並列実行数を4つまでとなっており、この並列実行数を増やせるようにしたいというのはあります。テストケース数が増えた際に、一度に複数のテストを走らせることで、時間の効率を図りたいと考えています。
また、メンテナンスの観点から、Autifyのように機能リリース後に発生する変更差分を検知して、それが意図したものであるかを提案してくれる仕組みがあると、メンテナンスが容易になると感じています。
ツールを検討されている方へ
シンプルな操作性と低コストで導入できるため、自動テストの導入経験がなく効果を実感できるか不安な方や、すでに監視目的でDatadogを導入している方にも手軽に導入できるツールです。
プロダクトの性質に応じて、導入できるできないがあると思いますが、全てを自動化するのではなく、一部を自動化することも可能なので、まずは導入して自動テストの効果を試してみても良いかと思います。
導入を通じて多くの改善を実現できましたし、自動テストの導入を考えている方のお力になれれば幸いです。
株式会社IVRy / rymsk-21
メンバー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
教育業界の新規事業立ち上げ、パーソナルトレーナー、建築業など、多様な業界にて経験を経て、2022年1月から株式会社IVRyのQAエンジニアとしてJOIN。
よく見られているレビュー
株式会社IVRy / rymsk-21
メンバー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
教育業界の新規事業立ち上げ、パーソナルト...