🐕

Datadogの自動テストを導入した話

2022/12/18に公開

自己紹介

株式会社IVRy QAエンジニアの関です。
本記事では、自動化ツールの導入から、導入してみて良かった点などをまとめています。
自動テストの導入を検討している方や、さまざまなサービスがある中で、どの自動化ツールにしようか迷っている方におすすめできる記事となっています。

QAEの取り組みについては、こちらの記事をご覧ください。
https://note.com/ryomaseki/n/nd6debe0590f0

https://note.com/ryomaseki/n/nd8f6366aba44

Datadog Syntheticsとは

Datadog Syntheticsは、APIテストやブラウザテストに対応した自動化ツールです。
▼ 詳しくは、こちらをご覧ください。
https://docs.datadoghq.com/ja/synthetics/

IVRyのQAの課題

IVRyでは、新機能や機能改善に伴い、QAリソースが逼迫されつつあります。そのため、QAやテストを見直し、テストの大半を占めていたデグレーションテストの自動化を検討しました。

検討フェーズ

検討フェーズでは、自動化をどのように行うか、どのツールを採用するかを検討する前に、なぜ自動化したいかを洗い出し、目的を定めました。
最終的に、デグレーションテストのテスト実行工数を7~8割削減することをメインの目的とし、広範囲なテストを実現することをサブの目的としました。

ツール選定では、外部サービスだけではなく、seleniumやcypressなども実際にコードを書いて検証しましたが、自動化スクリプトの作成や定期的に更新する必要がありメンテナンスコストが掛かってしまいます。
さらに、自動化スクリプトを作成する人がいない、作成した人がいなくなった時にスクリプトの実行や定期的な更新ができなくなり属人化してしまう可能性があるため、今回のデグレーションテスト自動化には向いてないと判断しました。
そのため、価格とIVRyとしてやりたいことが実現できそうなDatadog Syntheticsを選択しました。
Datadog Syntheticsの導入を決めた点は、以下の3点になります。

  • 価格がお手頃である
  • シナリオ作成が直感的にできる
  • クロスブラウザに対応していた

※ IVRyでは、システムモニタリングを行うため、Datadogのinfrastructureやlog-managementを導入していました。
▼ 詳しくは、こちらをご覧ください。
https://note.com/good_peony927/n/nb13cc3428e00

Datadoig Syntheticsを導入してみて

改善されたポイント

  • デグレーションテストのテスト実施工数が7割削減された
    テスト実施工数が削減されたことで、リリースまでのQA期間も2日から1日に短縮されました。
    QAの空いたリソースは、QA項目書やテスト項目の改善、デグレーション以外の自動化に取り組む、ドキュメントの整備など今まで取り組めていなかった部分に取り組めるようになりました。

  • 広範囲なテストを実現できるようになった
    Syntheticsでは「Chrome、Firefox、Edge」に対応しています。
    また、デバイスについても 「Laptop Large、Tablet、Mobile Small」 の3種類を検証することができ、導入前より広範囲なテストを実現できるようになりました。

良かったポイント

  • テストシナリオ作成を簡単に作成することができる

    クリック操作で、簡単にテストシナリオを作成することができます。
  • 実行結果は、ステップごとにスクリーンショットが取られているので、分かりやすい

    エラー時には、どのステップでエラーが発生したかもわかるため、再現の検証なども安易に行えます。

まとめ

Datadog Syntheticsを導入したことで、デグレーションテストのテスト実行工数は、7割ほど削減でき、QA工数は4~5割ほど削減することに成功しました。それだけではなく、今まで向き合えていなかったクロスブラウザのテストもできるようになりました。
また、この活動を機に自動化テストは、Webブラウザやメールの操作で完結する範囲を飛び出し、電話をかける・受けるといったIVRyならではの機能についても自動化に取り組んでいます。
今後も、積極的に取り組み安心安全、かつ爆速開発できる環境を作っていきたいと考えています!

テスト自動化や、開発環境など気になった方は、ぜひご連絡ください!
https://ivry-jp.notion.site/IVRy-e1d47e4a79ba4f9d8a891fc938e02271

https://meety.net/matches/rlyTkXmkXQCm

IVRyテックブログ

Discussion