シンセティックテストとは?
Olivia Novak
Dev Intern · Leapcell

「シンセティックテストとは何か?」という言葉を何度も耳にしたことがあるでしょう。特に、監視プラットフォームを販売するSaaS企業と取引したことがある場合はそうでしょう。
しかし、問題はここにあります。あらゆる話題にもかかわらず、すべてのベンダーによるシンセティックテストの説明は、意図的に曖昧に感じられます。まるで彼らはあなたの混乱から利益を得ようとしているかのようです(正直に言って、おそらく本当でしょう)。
たとえば、Datadogを見てください。彼らはこう言っています。
シンセティックテスト(シンセティックモニタリングまたはプロアクティブモニタリングとも呼ばれます)は、実際のエンドユーザーのトラフィックをシミュレートすることにより、主要なユーザー体験におけるパフォーマンスの問題を特定する方法です。企業は、シンセティックテストを活用して、サービスの可用性、アプリケーションの応答時間、顧客トランザクションの機能を事前に監視できます。
なるほど、良い紹介ですね、Datadog。しかし、そもそもシンセティックテストとは何ですか?
(まるで自分たちが販売しているものを本当に理解しているかのように装う)マーケティング担当者による混乱を招く説明に別れを告げましょう。この記事は、シンセティックテストへの直接的なガイドです。
シンセティックテストの核心:自動化
シンセティックテストの中心は、自動化です。
これを想像してみてください。ブラウザが特定のWebページを際限なく訪問し、特定のアクションを実行し、すべてが期待どおりに動作することを確認します。それがシンセティックテストの本質であり、ブラウザの自動化テストと変わりません。
簡単に言うと、シンセティックテストは、いくつかの追加機能を備えたブラウザの自動化テストです。
Playwright、Puppeteer、Seleniumなどのツールは、通常、自動化テストに使用されます。これらのツールについては、別の記事で比較しています。
したがって、すでに自動化テストを少しでも試したことがある場合は、半分到達しています。しかし、シンセティックテストは単なるテストでは終わりません。「シンセティック」であるためです。
シンセティックテストの「シンセティック」な部分
さて、「シンセティック」とは一体何でしょうか?一体何が合成されているのでしょうか?
-
**アクセスコンテキスト:**シンセティックテストは通常、世界中の異なる地域のマシンから1日に複数回テストを実行します。アプリが東京とニューヨークでどのように動作するか疑問に思ったことはありませんか?シンセティックテストがそれを解決します。
-
**ネットワークデータ:**タスクが完了するかどうかを確認するだけではありません。シンセティックテストは、主要なネットワークパフォーマンスメトリックも記録します。遅延、リクエストエラーなどを考えてください。問題が発生した場合は、わかります。
-
**フロントエンドのパフォーマンス:**ページの読み込み速度、リソースの読み込み時間、レンダリング時間 - シンセティックテストはこれらを測定します。ウェブサイトが遅い場合、顧客は製品が不要であることに気づき、ページを閉じるのに十分な時間があります。
シンセティックテストは、単に「これは機能するか?」ということを超えています。むしろ、「これは、あらゆる場所で、すべての条件下で、うまく機能するか?」ということです。
シンセティックテストの利点:包括的な問題の発見
シンセティックテストを際立たせているのは、包括的に問題を検出する能力です。ブラウザの自動化テストと合成された監視データを組み合わせることで、潜在的な問題の全範囲を把握できます。それを分解してみましょう。
-
**タスクの完了:**シンセティックテストは、ログイン、購入、フォームの送信などのトランザクションまたはタスクが正常に完了できることを保証します。
-
**パフォーマンスの洞察:**何かが機能するかどうかだけでなく、_どの程度_機能するかをチェックします。ある地域では3秒で読み込まれるページが、別の地域では30秒かかる?それがシンセティックテストが提供する洞察の種類です。
-
**早期の問題検出:**シンセティックであるため、実際のエンドユーザーが遭遇する前にシナリオを事前にテストしています。
-
**スケーラビリティ:**シンセティックテストは、人間のQAチームが匹敵できない規模で、グローバルな場所で24時間365日テストを実行できます。
結論として
シンセティックテストは、ブラウザの自動化テストの拡張版であり、合成された監視データの先見性により、アプリケーションが常にどこでも確実に動作するという確信が得られます。
したがって、次に誰かが「シンセティックテスト」という言葉を投げかけてきたら、それが何であるかを正確に知っているでしょう…そして、曖昧な説明にだまされない方法も! 😉
ブラウザの自動化テストをクラウドでホストする方法をお探しの場合は、Leapcellをお試しください!
Leapcellは、分散アプリケーション向けに設計された最新のクラウドコンピューティングプラットフォームであり、PythonおよびNode.jsコードをサーバーレスでホストできます。従量課金制モデルを採用しており、アイドルコストは発生せず、使用したリソースに対してのみ料金が発生します。
Playwrightのデプロイ例については、ドキュメントをご覧ください。