インテリジェントなタイミングによる柔軟なテスト
テスト実行の自動化では、メンテナンス容易性と状態に関する問題が従来から主要な課題になっていました。メンテナンス容易性は、多くの場合、アプリケーションの進化に合わせてテストの修復や更新が必要かどうかということに関わるものです。自動修復などの手法は、この問題に対処するためのものです。状態の問題は、自動化ツールがアプリケーションを操作する前にアプリケーションが正しい状態になっていることを識別できるかどうかということに関するものです。自動化ツールの動作速度が速すぎる場合や、開発環境と本番環境のリソースの差が大きい場合、アプリケーションの読み込みや操作の処理速度に著しい差が生じることになります。
これまで、テスト担当者は待機ステップを使用してこれらの課題に対処してきましたが、煩雑な手動プロセスであるため、テスト作成の負担が大きく、テスト実行に時間がかかる要因になっています。mablのインテリジェント待機機能を使用すると、アプリケーションの予想されるタイミングを学習し、待機時間をアプリケーションのペースに合わせ、テスト結果の信頼性を向上させることができます。
インテリジェント待機の仕組み
mablでは、最初にクラウドで成功した実行でアプリケーションに関する膨大な情報を収集することで、各ステップで正しいエレメントが確実に選択されるようにします。インテリジェント待機では、過去のデータを追跡してアプリケーションの予想されるタイミングを割り出すことで、正しいエレメントが検出される可能性と実行速度を両立させています。このプロセスには、ページ上にエレメントが表示されるのを待機することだけでなく、エレメントが実行可能な状態になることも含まれます。
mablで新しいテストや新しく記録されたステップを最初に実行する場合は、待機時間の妥当な範囲を特定するため、実行に余分に時間がかかることがあります。アプリケーションの予想されるタイミングを的確に認識できるようになるにつれて、クラウドでのその後の実行では待機時間が短くなっていくと期待されます。
mablはアプリケーションについて学習する際に、クラウドで成功した実行 (最新の実行から最大100件) のデータのみを使用します。mabl Trainerでテストを再生する場合やローカルでテストを実行する場合、mablはクラウド実行の最新のタイミング情報を使用します。
インテリジェント待機のステップレベルのログ
インテリジェント待機の範囲
インテリジェント待機は、mablでアプリケーション内のエレメントの検索および操作を行うための重要なコンポーネントです。したがって、インテリジェント待機は、mablでエレメントを操作する必要がある場合にのみ適用され、静的な待機ステップやその他のアクション (URLへのアクセスなど) には適用されません。テストに設定された検索が含まれている場合、インテリジェント待機によって、これらのステップで指定されたタイムアウトがオーバーライドされることはありません。また、mablで学習される情報は、環境に基づいてセグメント化されます。たとえば、本番環境と開発環境に対して同じテストを実行した場合、それぞれの環境ごとに独立したデータが生成されます。
インテリジェント待機が有効なケースはさまざまです。待機時間が短い (数秒の範囲) 場合は、インテリジェント待機で十分です。しかし、アプリケーションで15~30秒といった長い待機が求められる場合は、設定された検索ステップを使用する方が適しています。
テスト実行のタイミングを改善する方法
テスト実行のタイミングを改善するのは簡単で、クラウドでテストを複数回実行するだけです。タイミングが確実に改善される訳ではありませんが、アプリケーションのパフォーマンスに基づいて高速化と最適化が図られることが期待されます。これらの待機を追加することで、テストの信頼性を向上させることができます。
ローカル実行およびmabl Trainerでの再生のデフォルト動作
mablでアプリケーションのタイミングを的確に認識できるようになると、ローカルでのテスト実行やmabl Trainerでの再生時にこれらの学習結果が適用されるようになります。テストを最初に作成したときや、十分なデータが収集されていない間は、ローカル実行やTrainerでの再生時にデフォルト設定が使用されます。デスクトップアプリケーションの [Preferences] メニューで操作速度を調整すると、これらの設定を変更できます。
デフォルトで、ローカル実行やmabl Trainerでの再生時の速度にはFASTが使用されます。この設定は、クラウドでのデフォルトのページ操作速度であるNORMALに更新したり、必要に応じてSLOWまたはSLOWERに変更したりすることができます。mablでアプリケーションのタイミングを的確に認識できるようになると、クラウド、ローカル、およびTrainerでの再生時に、この速度が使用されるようになります。
ページ操作速度の詳細については、こちらをご覧ください。
操作速度設定
- インテリジェント待機は、カスタム検索ステップには適用されません。