テストの分析
特定のパイプラインの実行で、テストタブを使用して、実行の一部であった自動テストの詳細を確認します。次のセクションでは、テスト分析ツールを使用して、テストの失敗の原因を特定する方法について説明します。
概要
パイプライン >テストタブで、正常に実行されたテストの数、スキップまたは不安定なテストの数、失敗したテストの数を確認できます。
[失敗分析] タブでは、失敗の詳細、その失敗の原因の候補、およびその失敗が影響を与えるアプリケーションモジュールについて細かく確認できます。
失敗の分析後、自動テストの編集、コミット済みの変更のロールバック、アプリケーションの特定領域に関する不具合の作成、プロジェクトのタイムラインの延長、計画内容の縮小を実行できます。
[テスト] タブでは、次の操作を実行できます。
-
関心のあるテスト実行だけが含まれるように表示される項目を絞り込む。
-
失敗したテスト実行に関連するSCMコミットを検索する。
-
特定のユーザーによってすべての失敗が調査中であることを確認する ([担当者] フィールド)。
-
行った変更の影響について、そのコミット実施者に責任を持たせる (関連ユーザーウィジェット)。
-
問題があるテスト実行 (長期間にわたって継続的に成功していないテスト実行) を特定する。
-
パイプラインモジュールを開き、[パイプライン] タブを選択します。
- ツールバーでパイプラインを選択します。右矢印と左矢印を使用して、タブをスクロールします。
- 実行ボックスにカーソルを合わせてドロップダウンから実行を選択するか、左右の矢印を使用して実行間を移動します。
- テストタブをクリックして、選択したパイプライン実行のテストを確認します。
前提条件
ALM Octaneに用意されているすべての分析機能を活用するには、以下の処理が必要です。
- アプリケーションモジュールへの項目の割り当て
- テスト割り当てルールの作成
- コミットメッセージを使用して、SCM変更をALM Octaneストーリーに関連付ける。詳細については、ソースコントロール管理システムにコミットされた変更の追跡を参照してください。
テスト実行の詳細
[テスト] タブには、このパイプライン実行の一部として実行されたすべてのテスト実行が一覧表示されます。
実行ごとに、次のような情報があります。
-
テスト名、クラス、パッケージ。
-
テストが実行されたビルド番号。
-
テストを実行したビルドジョブのIDと名前。
-
失敗経過時間: テスト実行が連続して失敗したビルドの番号。
ヒント: 同じテストが連続して失敗するときは、ほとんどの場合、最初の失敗を分析するのが良い方法です。その失敗に移動するには、テストを右クリックして、[テストが最初に失敗したパイプライン実行に移動] を選択します。
-
テスト実行履歴 ([過去のステータス] カラム) 。実行の下の青い点は、表示されているものを示します。
-
ALM Octaneでテストまたはテスト実行に追加したタグ。
標準設定で表示されていない情報を表示するには、グリッドにカラムを追加します。
右上隅にある実行セレクターを使用して、実行間を移動して問題のトラブルシューティングに役立てることができます。概要タブには常に最新の実行が表示されることに注意してください。
関心のあるテスト実行だけを表示するためのフィルタリング
-
自分に割り当て済みボタンをクリックして、すでに割り当てられているテストをフィルタリングします。
-
右側のフィルターパネルを使用して、失敗したテストの実行やリグレッションの問題など、関心のある特定の問題にすばやく焦点を合わせます。
-
ツールバーのフィルターオプションを使用します。
実行する作業 | 手順 |
---|---|
不安定な、スキップされた、または失敗したテスト実行に個別に対処します。 |
ステータスでフィルタリングします。 |
自分が所有するテストの実行のみを表示します。 | [自分のテスト] をクリックします。 |
選択したユーザーによってコミットされた変更が失敗に関連するテスト実行のみを表示します。 |
テスト実行を [関連コミット実施者] でフィルタリングします。 |
新しく失敗したテストを、以前のパイプラインの実行で失敗したテストからも分離します。 |
新規不具合でフィルタリングします。 |
ヒント: [フィルターペインの表示]をクリックすると、フィルターに含まれるプロパティが表示されます。これにより、どの失敗が表示されていて、どの失敗が表示されていないかがわかります。
クラスタリングを使用してテスト実行の失敗を分析する
テスト実行はクラスター別にグループ化して、類似する理由で失敗したテスト実行がまとめられます。ALM Octaneクラスターでは、失敗したテストが、テストパッケージ階層、スタックトレース、例外、テストを実行したジョブ、およびテストの失敗が始まった実行に基づいて、類似する失敗としてまとめられます。
クラスターごとにグループ化されたテストを表示するには、テストタブのクラスターの表示をクリックします。このグループ化をクリアするには、Group Byボタンをクリックして、すべてのグループをクリアします。
-
クラスターの数を見ると、修正が必要な問題の数がわかります。これは、失敗したテスト実行の数よりも優れた指標です。
-
パイプライン実行で失敗したテストを分析する際には、大きなクラスターから分析を開始します。このクラスターの失敗した実行を1つ修正するだけで、そのクラスター内のすべての失敗が修正され、次回の実行で失敗の数が大幅に少なくなる可能性があります。
注:
-
管理者は、CLUSTERING_MAX_TESTS_THRESHOLDサイト構成パラメーターを使用して、テストクラスタリング分析のしきい値として使用するテストの数を定義できます。パイプラインの実行中にこのパラメーターで指定されたテスト失敗の数を超えた場合、ALM Octaneはクラスタリングを分析しません。詳細については、CLUSTERING_MAX_TESTS_THRESHOLDを参照してください。
-
クラスターは、パイプライン実行ごとに、クラスターのサイズに応じてC1、C2のように名前が付けられます (C1は、失敗したテスト実行の数が最も多いクラスターです)。クラスター名が同じであってもパイプライン実行が異なるテスト実行は、相互に関連はありません。
-
-
失敗した実行の処理を担当者に割り当てる場合は、同じクラスター内のすべての失敗を同じ担当者に割り当てることができます。
[テスト実行] タブでの失敗分析の詳細については、テストの失敗分析の展開を参照してください。
アプリケーションモジュールへのテストの割り当て
自動テストをアプリケーションモジュールに割り当てて、コンテキストでテスト結果を表示できます。これらのテスト結果を使用して、リリースとプロダクトの進行状況と品質を分析できます。
テストタブで1つ以上のテストを選択し、[アプリケーションモジュールに割り当て] をクリックします。これにより、テスト実行ではなく、テスト自体が割り当てられることに注意してください。
過去の自動実行では、最初の注入時からの所有者とアプリケーションモジュールの情報が保存されます。別の所有者を既存のテストに割り当てると、このテストの新しい実行インスタンスにのみ影響し、以前の実行には影響しません。
アプリケーションモジュールの操作方法の詳細については、品質管理を参照してください。
失敗を調査する担当者の割り当て
ビルドまたはテスト実行の失敗を調査するように、自分自身や他のユーザーを割り当てることができます。ALM Octaneでは、各失敗に関する情報が提供され、調査に利用できます。
パイプラインステップの最新のビルドやテストの最新の実行に割り当てられた担当者は、その後の失敗も担当します。ビルドやテスト実行が正常に終了すると、割り当ては自動的にクリアされます。
失敗を調査するユーザーの割り当て
[ビルド] または [テスト実行] タブで、1つ以上の失敗したビルドまたは失敗したテスト実行を選択し、次のいずれかを実行します。
実行する作業 | 手順 |
---|---|
選択したビルドまたはテスト実行に自分自身を割り当てます。 | [自分が担当] をクリック
|
選択したビルドまたはテスト実行に他のユーザーを割り当てます。
|
[担当者] をクリックし、ユーザーを選択します。リストの一番上にあるALM Octaneは、最近のコミット、専門分野、または以前のアクティビティに基づいて、推奨ユーザーを提案します。 そのユーザーに電子メールを送信するかどうかを選択します。 コメントを追加すると (テスト実行の場合のみ)、それが電子メールに含まれます。 |
ユーザーを [担当者] から削除します。 | [担当者] をクリックし、[割り当てのクリア] をクリックします。 |
調査が完了した、パイプライン実行内のどの失敗にも自分が関連していないことを示します。 |
右上隅の実行番号の近くにある自分以外をクリックします。 これにより、このパイプライン実行内の失敗したビルドまたはテストについて設定されていた [担当者] 割り当てがクリアされます。 自分以外は、メインのパイプラインランディングページの [ビルド] タブと [テスト] タブで使用できますが、パイプライン実行フォームでは使用できないことに注意してください。 |
ヒント: あるユーザーをテスト実行の失敗の調査に割り当てるとき、ALM Octaneでは類似する理由で失敗したすべてのテスト実行に同じユーザーを割り当てます。
ベストプラクティス: パイプラインの失敗分析へのコミット実施者の参加
パイプラインが失敗すると、できるだけ早く誰かに調査させ、パイプラインを正常に戻すことが必要になります。
パイプラインの失敗の通知をすべてのコミット実施者に送信するようにパイプラインが設定されている場合は、すべてのコミット実施者に応答するよう求めることができます。
-
各コミット実施者は、テストのページを開き、そこに表示された情報に基づいて、自分の変更が失敗の原因になったかどうかを判断する必要があります。
-
CI所有者が担当する環境の問題が失敗の原因である場合は、CI所有者もチェックする必要があります。
ユーザーは、該当するビルドまたはテストの失敗ごとに [自分が担当] と応答するか、パイプライン全体に対して [自分以外] と応答することができます。
ヒント: ユーザーとして、失敗の責任が自分にあると考えられる場合や、自分が修正できると思われる場合は、[自分が担当] をクリックします。さらに調査した後で、自分が修正する問題ではないと最終的に判断した場合は、[担当者] の割り当てをクリアするか、パイプライン実行に [自分以外] を設定することができます。
テストの失敗分析の展開
テスト実行を選択し、右側のパネルのデータを使用して失敗を調査します。
[プレビュー] タブでのテスト実行のビルドコンテキストのチェック
例:
-
実行履歴。最新のパイプライン実行のものではないテスト実行の失敗を調査しているときは、ほかのパイプライン実行のテスト実行ステータスの一覧が表示されます 。バーにカーソルを合わせると、実行番号、期間、日付などのパイプラインに関する情報が表示されます。
後続の実行が成功している場合、さらにこの調査を続ける必要はおそらくありません。
注: これは、過去の実行のステータス が表示される、テスト実行自体のウィジェットとは異なります。
-
ビルド。このビルド内のテストの全体的なステータスを表示します。これにより、特定のテスト実行を調査する際に、ビルドのコンテキストが提供されます。たとえば、ビルド内のほとんどのテストが失敗する場合は、ビルドのレベルで問題がある可能性があり、特定の失敗を分析する必要はありません。
-
クラスター: 同じ理由で失敗した追加テストの数。クリックすると、同じような失敗した実行がすべてまとめて表示され、一括して処理できます。
[レポート] タブでの失敗のエラーデータ (エラーメッセージ、スタックトレースなど) の表示
スタックトレースに表示されるファイル名が強調表示されていることがあります。このようなファイルには、このビルドでコミットされた変更が含まれているため、失敗に関連している可能性があります。
利用可能な場合は、より詳細なレポートを確認します。
-
[テストツールレポート] をクリックして、たとえば、UFT OneまたはLoadRunner Cloudから、失敗の詳細が含まれる外部レポートを開きます。
-
ビルドレポートを開くまたはテスト実行レポートを開くをクリックして、CIサーバーまたは別の場所に保存されているレポートを開きます。このリンクは、パイプラインステップでそのようなリンク用に管理者がテンプレートを設定した場合に提供されます。詳細については、パイプラインのステップのラベル付けと設定を参照してください。
パイプラインの実行とテストの失敗が割り当てられている、推奨されている、または関連しているユーザーを表示する
右側のパネルの関連ユーザータブは、コンテキストに応じて、選択したパイプラインの実行またはテストの失敗の問題を処理するのに最も関連性の高いユーザーを決定するのに役立ちます。
テストを選択していない場合は、パイプラインの実行に関連するすべてのコミットが表示されます。テストを選択すると、次の2つの領域が表示されます。
-
上部のペインには、テストの失敗を処理するために現在割り当てられているユーザー、または問題の調査のためにALM Octaneによって推奨されているユーザーの詳細が表示されます。たとえば、ユーザーが失敗したテストで自分が担当をクリックしたか、前回の実行で同様の失敗を処理したか、実行のスタックトレースで見つかったファイルを変更した可能性があります。
対応するボタンをクリックすると、割り当てをクリアしたり、推奨ユーザーを割り当てたりできます。ALM Octaneは、フィードバックに基づいて、推奨事項を改善する方法を継続的に学習します。
-
下のペインには、他の関連ユーザーと、ユーザーごとにグループ化された関連コミットの詳細が表示されます。いずれの場合も、ALM Octaneは、ユーザーまたはコミットが現在のパイプラインの実行またはテストに関連している理由を表示します。コミットは、選択したテストとの関連性の順にリストされています。
下のペインでは、ファイル名、コミットメッセージ、またはユーザー名に基づいて情報をフィルタリングして、関連情報を簡単に見つけることができます。
このテストが連続して失敗している場合、関連するコミットには、このパイプライン実行のコミットと、テストの失敗が始まったパイプライン実行のコミットが含まれます。以前のビルドのコミットの場合は、ビルド番号が表示されます。
リスクアイコンは、ホットスポットファイルへの変更がコミットに含まれていることを示します。詳細については、コード内のホットスポットを特定するを参照してください。
ヒント: ALM Octaneを設定して、特定の回数の連続した障害の後に推奨ユーザーを自動的に割り当てることができます。これはパイプラインステップごとに実行でき、関連する権限が必要です。
- [パイプライン] タブで、パイプラインをクリックします。水平の省略記号をクリックし、ドロップダウンで表示をクリックします。パイプラインPLページが開きます。
- [トポロジ] タブを選択します。
-
パイプラインステップで [設定] ボタンをクリックし、[自動割り当て] タブを開きます。
-
チェックボックスを選択して自動割り当てを有効にし、ユーザーが自動的に割り当てられるまでに必要な失敗の数を指定します。
ユーザーが失敗した実行に自動的に割り当てられると、関連する詳細が記載された電子メールが送信されます。
詳細については、パイプラインのグラフィック表示の操作を参照してください。
すべてのパイプライン実行で継続的に失敗したテストを見つける
昨日変更をコミットし、パイプラインの実行ステータスが不安定であり、障害の原因であるかどうかを確認したいとします。
[テスト] タブ内に、カラム将来のすべての実行で失敗を追加します。これは、プッシュ後のすべてのパイプライン実行でテストが継続的に失敗したかどうかを示します。変更をコミットしたときにパイプラインが実行されてからテストが1回成功した場合、おそらくこの失敗の責任はありません。連続的に失敗する場合は、コミットに問題がないか確認する必要があることがわかります。
将来のすべての実行で失敗フィールドの値は、現在表示しているパイプライン実行に関連して計算されます。このフィールドでテスト実行をフィルタリングして、調査する必要のある関連する実行の数を減らすことができます。調査する必要のあるテストの数を大幅に減らすために、これを新規不具合フィルターと一緒に使用することをお勧めします。
注: このフィールドでは、標準設定のElasticsearchスクリプト設定が有効になっている必要があります。
不具合の作成
パイプラインの最新の実行を調査している場合、失敗した1つ以上のテスト実行に関連する不具合を作成できます。
グリッド内の該当行を選択し、 [不具合のレポート] をクリックします。
新しい不具合は、選択した実行にリンクされ、このパイプライン実行の [テスト] タブへのリンクが含まれます。
失敗したテスト実行のグリッドへのカラムの追加
例:
追加するカラム | 目的 |
---|---|
パイプラインリンク |
パイプラインおよびパイプラインの特定の実行に移動します。 |
アプリケーションモジュール | 失敗したテストに現在関連付けられているアプリケーションモジュールを確認します。 |
問題 | 失敗した実行の履歴がテストにあるかどうかを確認します。詳細については、問題があるテストの特定を参照してください。 |
担当者 | 失敗したこの実行を調査中の担当者を確認します。 |
リンクされた不具合 |
失敗した実行にリンクされている不具合を表示します。 |
参照情報: