テスト実行時におけるパフォーマンス分析

テスト自動化が運用に乗りテストスイートが大きくなり始めたら、全体的なパフォーマンスと実行時間を確認することをお勧めします。 Ranorexでは、テスト実行時のデータ収集をおこなう パフォーマンス測定 機能を使用することで、テストのボトルネックを特定することができます。

※パフォーマンス測定は、Ranorex v9にて機能追加されています。

開発コードの変更に伴う迅速なフィードバックは、アジャイル開発プロセスの基本の1つです。継続的インテグレーションによるテストを実施している場合は、定期的に結果のフィードバックを得ることができます。これにより、開発者は迅速に発見したバグを改修することができます。

しかし、開発が大きく複雑になり始めると、テストスイートもそれに合わせて複雑化することにより、迅速に結果のフィードバックを得ることが難しくなる可能性があります。この時、テストスイートのパフォーマンスを確認する必要があるポイントに到達した可能性があります。

品質を一定に保つために、定期的に実施される自動化テストを検査します。大規模なテストスイートは、完了するまでに10時間以上かかる場合があります。このテスト時間を減らすには、どのテストが影響しているかを見つけることが重要です。

パフォーマンス測定

パフォーマンス測定 は、テストスイートのどの部分が実行時のパフォーマンスに影響を与えているかを確認するために必要な情報を収集します。 テスト実行時に発生したすべてのアクションに関する詳細なデータを、トレースログとしてレポートします。

パフォーマンス測定は、Ranorexの設定(プラグイン タブ -> Performance Tracing)で使用することができます。この機能はデフォルト設定時に 無効 になっています。

テスト実行時にどのようなデータを収集するかを指定するため、トレーサー を選択することができます。どのトレーサーを選択すべきか分からない場合は、手始めに All を選択しすべてのデータを測定してください。

トレーサーを選択してテストを実行すると、各実行アクションの詳細なデータをCSVファイル形式で出力します。個々のアクションに関するデータだけではなく、テスト全体のパフォーマンスに関するデータも取得できます。また、Ranorex Agent によるリモートテストで使用することもできます。トレースログは通常、%MyDocuments%\Ranorex\TraceLogs フォルダーに出力されますが、任意のフォルダーを指定することもできます。

データの活用

トレースログを開くと、すべての実行アクションのログが確認できます。選択したトレーサーによって取得されるデータが異なります。たとえば、Repository トレーサーでは、使用されたRanoreXPath の概要と、その要素を見つけるための試行回数が確認できます。また、アクションを完了するのにかかった期間(ミリ秒単位)も確認できます。これにより、最も時間が掛かったアクションを特定できます。

また、Microsoft Power BIなどの分析ツールを使用して、データをインポートし、テストパフォーマンスに関するダッシュボードのようなレポートを作成することができます。

まとめ

パフォーマンス測定 を使用することで、テスト実行時のパフォーマンス分析をおこなうために必要なさまざまな情報を収集することができます。この機能を使用して、毎日のテスト実行時間の短縮に役立ててください。

(この記事は、開発元 Ranorex 社 Blog 「Test Execution Performance Analysis」2019年3月23日の翻訳記事です。)