テストをパラメーター化すると、1 つのテストを複数の異なる値で実行できます。このタイプのデータ駆動型テストでは、アプリケーションの基本的なロジックまたは機能を複数の入力でテストでき、テスト ケースを複製してメンテナンスする必要がありません。
TestRail では、テスト データを使用してパラメーター化されたテストを実行できます。テスト データとは、変数、データセット、各プロジェクト固有の値などの概念を含む包括的な用語です。テスト データを使用すると、テスト変数および各変数の値を格納したデータセットを作成し、テスト ケースおよびテスト ランで使用することが可能になります。テスト ケースのテキストおよび文字列フィールドに変数を挿入し、変数に対応する値をテスト実行時に使用できます。
パラメーター化されたテストを使用すると、テスト ケースの柔軟性を高め、管理するテストを少なくしながら、より高いカバレッジを達成できます。
バージョン 7.6 以降の TestRail Enterprise インスタンスでは、デフォルトでテスト データ機能が利用できます。
以下のセクションでは、TestRail でのテスト データ、変数、データセットの使用方法を説明します。
ユーザー パーミッション
テスト データは、TestRail インスタンス内の各プロジェクト固有です。管理者はロールとパーミッションを使用してテスト データの使用を管理できます。“Lead”、“Tester”、“Guest” などのロールを作成し、各ロールのメンバーが実行するアクションに応じてパーミッションを適用できます。
下の図で囲まれている テスト データおよび変数 パーミッションは、各プロジェクトのユーザー ロールがどのようにデータを管理できるかを制御します。
-
- 追加/編集: ユーザーは、テスト データ管理エリアで変数およびデータセットの追加と編集を行うことができます。
- 削除:ユーザーは、変数および/またはデータセットを完全に削除できます。
ユーザー ロールおよびパーミッションの設定については、「パーミッション」を参照してください。
テスト データ管理
TestRail では、プロジェクトごとにプロジェクトのテスト データを参照および管理できる専用のダッシュボードがあります。テスト ラン、テスト スイート、テスト ケースのリストから [テスト データの参照] ボタンをクリックすることでダッシュボードにアクセスできます。
テスト データ管理エリアでは、新規テスト データ値を追加したり、既存のデータを参照および編集したり、CSV 形式でテスト データをインポートまたはエクスポートしたりできます。このビューには、既存のデータセットおよび変数のテーブルが表示されます。テスト データはプロジェクトごとに固有であることに注意してください。
-
- Variable (変数) は、テスト ケースに挿入可能なプレースホルダーです。最大で 500 個の変数を定義できます。(A 列)
- データセットは、各変数に対応する値の集合です。必ずデフォルトのデータセットが 1 つ存在します。テスト データ テーブルに新規列を追加することで、99 個までのデータセットを追加し、合計で 100 個までのデータセットを持つことができます。(B 列以降)
変数およびデータセットの名前は、次の条件を満たす必要があります。
-
- 文字、数字、アンダースコアだけを含む (空白や特殊文字は使用できません)
- 先頭にアンダースコアを使用しない
- 50 文字以内
- 変数名はプロジェクト内でユニークでなければならない
- データセット名はプロジェクト内でユニークでなければならない
- 名前の大文字/小文字は区別される
データセットはすべての変数の値を含む必要はありません。データセットの値が空白の場合、関連付けられたテスト ケースは、デフォルトのデータセットの値があれば、それを使用します。
テスト データ ダッシュボードでは、以下のアクションを実行できます。
テスト データの編集
テスト データを編集モードで開くには、[編集] をクリックします。
-
- 新規変数を追加するには、テーブルの [Variable] 列の空白行に新規変数名を入力します。
- 新規データセットを追加するには、テーブルのヘッダー行に新規データセット名を入力します。その後、新規データセットに新規の値を追加できます。
- 行または列全体を選択するには、行番号または列ヘッダーをクリックします。 選択された行または列全体を削除するには、[削除] をクリックします。
- 変更を保存するには、[保存] をクリックします。
オープン中のテスト ランは、データセットおよび変数の最新の値を取得します。データセット内で値を編集すると、オープン中のテスト ラン内のテストに影響を与えます。テスト ランまたはテスト計画をクローズすると、クローズ時点のデータセット値がキャプチャおよび保存され、静的なレコードが作成されます。
テスト ランの作成
データセットに基づくテスト ランを作成するには、[テスト ランの作成] をクリックします。すると、[テスト ランの作成] ダイアログが開きます。
テスト ランで使用するデータセットを選択し、[続行] をクリックします。TestRail では、次のダイアログで示すように、選択したデータセットで何を実行するかを選択できます。
ダイアログには、新規ランに関する以下の選択肢が表示されます。
- 新規テストランを含むテスト計画を作成する
- 選択された各データセットに対応するテスト ランを含む 1 つのテスト計画を作成します。次に、新規テスト ランを含める新規テスト計画を作成するためのビューが表示されます。
- 既存のテスト計画に新規テストランを追加する
- 選択された各データセットに対応する新規テスト ランを作成します。テスト ランを既存のテスト計画に追加できます。このオプションを選択すると、ターゲットテスト計画を選択するよう求められ、選択された計画にテスト ランが自動的に追加されます。
- 個々の新規テストランを作成する
- 選択された各データセットに対応するテスト ランを個別に作成します。テスト ランのテスト ケースを選択できます。すべてのテスト ランは同じテスト ケースで作成されます。
これらのオプションは、後から新規または既存のテスト ランに追加することはできないことに注意してください。
テスト ケースのインポート
データセットおよび変数の CSV ファイルをインポートするには、[CSV のインポート] をクリックします。
ファイルおよび適切なファイル エンコーディングを選択し、CSV の区切り文字を選択してインポート プロセスを開始します。
インポートされるデータのプレビューが表示されます。データをインポートする前に、プレビューが問題ないことを確認します。緑色のアイテムは、更新または新規追加された値であることを示しています。
CSV ファイルからテスト データをインポートすると、空白値も含め、データセットおよび変数に一致する値を上書きします。
テスト データのエクスポート
データセットを CSV にエクスポートするには、[CSV のエクスポート] をクリックします。[CSV のエクスポート] ダイアログで、エクスポートするデータセットを選択し、[エクスポート] をクリックします。
テスト ケースへのテスト データ変数の追加
プロジェクトにデータセットおよび変数がある場合、テスト ケースでデータを使用できます。テスト ケースを編集する際、共有テスト手順も含め、マークダウンが有効なテキスト、文字列、個別の手順フィールドに変数を挿入できます。
TestRail は、上記以外のフィールド、テスト ケースのタイトル、テスト ケース外のフィールド (セクション名、テスト計画の説明など) では変数の使用をサポートしていません。
テスト ケースへの変数の挿入
テスト ケースを編集しているとき、フィールドに直接 % で囲んだ変数名を入力するか、変数ボタンを使用して既存の変数を選択することで、すばやく変数を挿入できます。
テスト ランおよびテスト計画でのテスト データの使用
テスト ランでデータセットを使用しており、テスト ラン内のテスト ケースが変数を呼び出した場合、TestRail は、テスト ラン内のテストで関連付けられたデータセットの値を自動的に使用します。値はテスト内でハイライト表示され、どの変数が使用されているかが一目でわかります。
オープン中のテスト ランは、データセットおよび変数の最新の値を取得します。データセット内で値を編集すると、オープン中のテスト ラン内のテストに影響を与えます。テスト ランまたはテスト計画をクローズすると、クローズ時点のデータセット値がキャプチャおよび保存され、静的なレコードが作成されます。
データセットを使用するようテスト ランを設定するには、テスト ランを編集し、ドロップダウン オプションからデータセットを選択します。
テスト計画内のテスト ランでデータセットを使用するよう設定することもできます。それには、次の図のように [説明、参照およびデータ] をクリックし、ドロップダウン メニューからデータセットを選択します。
テスト データ API エンドポイント
TestRail のテスト データ機能は、TestRail API でもサポートされています。以下の API エンドポイントを使用してテスト データを参照および管理できます。
テスト ランおよびテスト計画エンドポイントもテスト ラン内でのデータセットの選択および使用をサポートしています。
詳細については、API のドキュメントを参照してください。