5. テストケースのインポート

5. テストケースのインポート

本章では、テストケースのインポートについて記載します。 これまで外部ファイルで管理していたテストケースを TestRail で管理するには、テストケースをインポートする必要があります。

インポート可能なフォーマットは以下の通りです。

    • XML:TestRail 固有のフォーマットに対応した XML ファイルからテストケースをインポートできます。
      • 「既存テストケースの更新 (テストケースIDで紐づけ)」、「新規テストケースの追加」いずれかを選択します。
      • TestRail のテストケースを外部で編集後、再インポートする場合に適してます。
    • CSV:CSV ファイルに定義されたテストケースを TestRail の項目とマピングしてインポートできます。
      • インポートするテストケースは新規テストケースとして追加されます。(既存のテストケースの更新は出来ません。)
      • Excel 等で管理されているテストケースを TestRail にインポートする場合に使用します。

5-1. テストケーステンプレートを決定する

TestRail にはテストケースの内容によって使い分けることができる 3 つのテストケーステンプレートを用意しています。

テストケースをインポートする前に、既存のテストケースをどのテンプレートでインポートするかを決める必要があります。

テンプレートは 1 ケース毎に変更できますが、CSV インポートでは 1 度に 1 つのテンプレートのテストケースしかインポートできません。異なるテンプレートのテストケースは分けてインポートしてください。

5-1-1. Test Case (Text) テンプレート

Test Case (Text) は 1つの前提条件、テスト手順、期待する結果、および実際の結果を入力する場合に使用します。

import_01

5-1-2. Test Case (Steps) テンプレート

Test Case (Steps) は 1つのテストケース内で複数の手順、手順毎に期待される結果、および結果の入力をする場合に使用します。

結果を登録する時は、各手順毎の結果を登録することができます。

import_02

5-1-3. Exploratory Session テンプレート

探索的テストの実施に合わせてミッションとゴールを登録できます。探索的テストを実施する場合に使用します。

import_03

5-1-4. カスタムテンプレート

TestRail に用意されている 3 つのテンプレートとは別に、ユーザー独自のテストケーステンプレートを作成することも可能です。

詳細は、カスタマイズの テンプレート をご確認ください。

5-2. 既存のテスト項目から不足しているフィールド、項目値を洗い出す

TestRail 上に既存のテストケースの項目と対応するフィールドが存在しない場合は、インポート操作の前にカスタムフィールドを用意してください。

テストケースの ケースタイプ優先度 の各フィールドは、いくつかの項目値が TestRail にあらかじめ用意されています。インポートする既存のテストケースの項目値と合わない場合は、項目値をカスタマイズしてください。

カスタムフィールドの追加、ケースタイプと優先度の変更については、 カスタマイズ をご確認ください。

5-3. テストケースインポート (CSV)

Excel ファイル、Google Docs/Spreadsheets ファイルで管理しているテストケースを TestRail にインポートするには、CSV インポート を利用します。

なお、日本語文字列を含むテストケースをインポートする場合は、CSV ファイルのエンコーディングを UTF-8 としてください。Shift-JIS の場合、インポートする文字列が文字化けします。

5-3-1. Excel ファイルを CSV 形式に変更する

Excel の [ファイル] > [名前を付けて保存] でファイルの種類を [CSV (カンマ区切り) (*.csv)] を指定して保存します。

これにより、テストケースを CSV ファイルとして保存し、TestRail にインポートできます。

TestRail がテストケースを認識できるように、Excel シートのレイアウトを単純化する必要がある場合があります。テストケースごとに 1 行または複数行の単純なレイアウトを使用することをお勧めします。

5-3-2. Google Docs/Spreadsheets ファイルを CSV 形式に変更する

Google Docs/Spreadsheets の [File] > [Download] をクリックし、.csv を選択すると、データを CSV ファイルにエクスポートし、TestRail にインポートできます。

5-3-3. テストケースをインポートする

テストケースをインポートするプロジェクトの テストケース または テストスイートとケース タブを開きます。

画面上部のアイコンが並んだところから、CSV インポート を選択します。

import_04

ダイアログ画面で設定を進めていきます。

1/4 画面

インポートするファイル、インポート時のオプションを設定します。

import_05
ファイル (10MBまで)
項目概要
ファイルを選択TestRail にインポートする CSV ファイルを選択します。
ファイルサイズは最大 10MB です。10 MB を超えるサイズのファイルをインポートするには、ファイルを分割する必要があります。
フォーマットとマッピング
項目概要
新規マッピングの設定CSV ファイルと TestRail 項目を手動でマッピングします。
初めてインポート機能を利用する場合や新しいマッピング設定を利用する場合はこちらを選択してください。
設定ファイルからマッピングをロード事前に、設定ファイルに保存したマッピング設定を使って、CSV ファイルと TestRail 項目をマッピングします。
設定ファイルは、初回のインポート操作後にダウンロードすることができます。
詳細オプション
項目概要
インポート先テスト ケースを追加するベースのセクションを選択します。CSV ファイルからインポートされた新しいセクションおよびケースは、このセクションの下に追加されます。
ファイルエンコーディングCSV ファイルのファイル エンコーディングです。
日本語文字列を含むテストケースをインポートする場合は、UTF-8 エンコーディングを選択します。
CSV 区切り文字CSV の列を区切る区切り文字を選択します。
開始行TestRail が CSV ファイル内のテストケースの検索を開始する行のインデックスを指定します (1 から開始)。これは、CSV ファイルの先頭の行を無視またはスキップするために使用できます。
ヘッダー行上で設定した「開始行」がヘッダー行かどうかを示します。ヘッダー行は CSV ファイルを説明する列名を含みます。
テンプレートインポートされたテスト ケースに使用するケース テンプレートを選択します。

2/4 画面

CSV ファイルの列名と TestRail のフィールドをマッピングします。

import_06
行レイアウト
項目概要
テストケースは単一行を使用する1/4 画面においてテストケースのテンプレートを Test Case (Text) および Exploratory Session テンプレートを選択していて、CSV ファイル内のテストケースが 1 行 1 ケースの場合はこちらを選択します。
テストケースは複数行を使用する1/4 画面においてテストケースのテンプレートを Test Case (Text) および Exploratory Session テンプレートを選択していて、CSV ファイル内のテストケースが複数行で 1 ケースの場合 (テスト手順が複数行で定義されているなど)はこちらを選択します。
1/4 画面においてテストケースのテンプレートを Test Case (Steps) を選択している場合はこちらを選択します。
新規テストケースの検出に使用する列新しいテストケースの開始を検出する列 (たとえば、テスト ケースごとに一意のID列または名前/タイトル列) を選択してください。
マッピング
項目概要
CSV 列インポートする CSV ファイルのヘッダー行から取得した項目名が表示されます。
TestRail フィールドCSV ファイルの項目に合うように、右で TestRail のフィールドを選択します。
タイトルがないテストケース/レコードを無視する(例:ファイル末尾の空のレコード)
    • チェックボックスをチェックすると、CSV 内で「タイトル」が空値の行は、テストケースとして認識せず、スキップします。これにより、CSV ファイルの末尾の空白行を無視することができます。
    • 行レイアウトの 新規テストケースの検出に使用する列: で “タイトル” を選択している場合、テストケースが正しくインポートできなくなります。新規テストケースの検出に使用する列: の選択値を “タイトル” 以外にするか、このチェックボックスを外してください。

3/4画面

2/4画面においてマッピングした TestRail のフィールドが、プルダウン、リスト、ラジオボタンなどの、値を選択するタイプのフィールドだった場合、CSV の値と、 TestRail のフィールド値をマッピングします。

    • マッピングが必要な項目分、設定を行います。
    • TestRail 側に適した値が無い場合は、ケースフィールドをカスタマイズしてください。

例) 下の画面では、CSV ファイルの 重要度 フィールドと、TestRail の 優先度 フィールドの値をそれぞれマッピングしています。

import_07

4/4画面

インポートするテストケースのプレビューを確認します。最大で 5 件のテストケースプレビューが表示されます。

    • プレビューで表示される内容が意図した内容ではない場合、前へ ボタンで前の設定画面に戻り、設定を見直してください。
    • インポートされるテストケース数が、正しいことを確認してください。
import_08

5-3-4. Test Case(Steps) テンプレートのテストをインポートする場合の注意事項

Test Case(Steps) テンプレートにテストケースをインポートするには、一つのテストケースに対して “手順” と “期待される結果” を複数行に分割して用意してください。

import_09

インポート操作時に以下の点にご注意ください。

ファイルおよび設定のロード (1/4 画面)

“テンプレート” で 「Test Case(Steps)」 を選択する

列と行のレイアウトをマッピング (2/4 画面)

import_06
    • “行レイアウト” で 「テスト ケースは複数行を使用する」 を選択する
    • “新規テスト ケースの検出に使用する列:” で次のテストケースの行であることを判別するための列を選択する
      • 上の CSV ファイルの画像では「タイトル」を選択することで、2~4行目が1テストケース目、5~7行目が2テストケース目と判断されます。
    • “タイトルがないテスト ケース/レコードを無視する (例: ファイル末尾の空のレコード)” チェックボックスを OFF にする (「タイトル」を次のテストケースの判別に使っていない場合は OFF にしなくても結構です。)

5-4. テストケースインポート (XML)

TestRail の XML フォーマットに合わせたテストケースを XMLインポート でインポートすることができます。

注意
①TestRail のテストケースに合ったフォーマットの XML ファイルだけをインポートすることができます。TestRail とは異なるツールから出力した XML ファイルなど、TestRail のテストケースフォーマットと一致していない場合はインポートすることはできません。CSV インポートのご利用を検討してください。
②TestRail 6.3.1.1008 には、以下の既知の問題がございます。ご利用のバージョンが TestRail 6.3.1.1008 である場合、本章で示すXMLフォーマットのテンプレートを利用しても、テストケースがインポートできない場合があります。
XML ファイルを利用した新規テスト ケースの追加時にエラーが発生する

5-4-1. XML フォーマット例

TestRail にインポート可能な XML のフォーマットはテストケーステンプレートごとに異なります。

デフォルトのテストケーステンプレートごとの XML フォーマット例です。

カスタムフィールドの利用状況によってはインポートエラーになる場合があります。後述する カスタムフィールドの取扱いについて をご確認ください。

TestCase (Text)

<?xml version="1.0" encoding="UTF-8"?>
<sections>
  <section>
    <!-- テストケースをインポートするセクションの名前 -->
    <name>テストケースセクション</name>
    <cases>
      <case>
        <!-- テストケース タイトル -->
        <title>XMLテストケースインポートの確認</title>
        <!-- テストケース テンプレート -->
        <template>Test Case (Text)</template>
        <!-- テストケース タイプ -->
        <type>Usability</type>
        <!-- テストケース 優先度 -->
        <priority>Medium</priority>
        <!-- テストケース 見積もり -->
        <estimate>6000</estimate>
        <!-- テストケース 参照 -->
        <references>REQ-1, REQ-2</references>
        <custom>
          <!-- テストケース Automation Type -->
          <automation_type>
            <id>0</id>
            <value> None</value>
          </automation_type>
          <!-- テストケース Preconditions -->
          <preconds>* インポートメニューからテストデータをアプリケーションに反映させる。</preconds>
          <!-- テストケース Steps -->
          <steps>1. テスト用文書を開く
2. テスト対象機能のダイアログを表示し、テストデータ用の設定を行う。</steps>
          <!-- テストケース Expected Result -->
          <expected>* テスト対象ブラウザのテスト用解像度にて画面のレイアウトが崩れないこと</expected>
        </custom>
      </case>
    </cases>
  </section>
</sections>

import_10

TestCase (Steps)

<?xml version="1.0" encoding="UTF-8"?>
    <sections>
      <section>
        <!-- テストケースをインポートするセクションの名前 -->
        <name>Step</name>
        <cases>
          <case>
            <id>C115076</id>
            <!-- テストケース タイトル -->
            <title>Stepsテストケースのインポート</title>
            <!-- テストケース テンプレート -->
            <template>Test Case (Steps)</template>
            <!-- テストケース タイプ -->
            <type>Other</type>
            <!-- テストケース 優先度 -->
            <priority>Medium</priority>
            <!-- テストケース 見積もり -->
            <estimate>4000</estimate>
            <!-- テストケース 参照 -->
            <references>DH-22</references>
            <custom>
              <!-- テストケース Automation Type -->
              <automation_type>
                <id>0</id>
                <value> None</value>
              </automation_type>
              <!-- テストケース Preconditions -->
              <preconds>* 最新のマニュアルを準備すること。</preconds>
              <!-- テストケース 複数の手順と期待する結果 -->
              <steps_separated>
                <!-- 1 件目 -->
                <step>
                  <index>1</index>
                  <content>テスト用文書を開く</content>
                  <expected>テスト用文書が開かれること</expected>
                </step>
                <!-- 2 件目 -->
                <step>
                  <index>2</index>
                  <content>テスト対象機能のダイアログを表示し、テストデータ用の設定を行う。</content>
                  <expected>表示されるダイアログで、データ設定項目が正しく表示されていること</expected>
                </step>
              </steps_separated>
            </custom>
          </case>
        </cases>
      </section>
    </sections>

import_12

Exploratory Session

<?xml version="1.0" encoding="UTF-8"?>
   <sections>
     <section>
       <!-- テストケースをインポートするセクションの名前 -->
       <name>探索的</name>
       <cases>
         <case>
           <!-- テストケース タイトル -->
           <title>探索的テストケースのインポート</title>
           <!-- テストケース テンプレート -->
           <template>Exploratory Session</template>
           <!-- テストケース タイプ -->
           <type>Other</type>
           <!-- テストケース 優先度 -->
           <priority>High</priority>
           <!-- テストケース 見積もり -->
           <estimate>3600</estimate>
           <!-- テストケース 参照 -->
           <references>DH-17</references>
           <custom>
             <!-- テストケース Automation Type -->
             <automation_type>
               <id>0</id>
               <value> None</value>
             </automation_type>
             <!-- テストケース Mission -->
             <mission>○○であることを確認する</mission>
             <!-- テストケース Goals -->
             <goals>システム内全ての画面(全XX画面)で確認が完了している</goals>
           </custom>
         </case>
       </cases>
     </section>
   </sections>

import_11

5-4-2. カスタムフィールドの取扱いについて

カスタム フィールドは、custom タグの下にグループ化され、XML 識別子/タグとして ([管理] > [カスタマイズ] で設定した) システム名を使用します。

インポート形式と動作の詳細は、実際のカスタムフィールドのタイプによって異なります。

次の表は、さまざまなカスタムフィールドタイプのインポート形式の一覧です。

タイプサンプル値説明
Checkboxtrue“true” または “false” (引用符なし)
Date2010-07-01yyyy-mm-dd 形式の有効な XML 日付文字列
Dropdown<id>5</id><id> タグで囲まれた値の ID (管理エリアのカスタム フィールド オプションで設定されている)
Integer1022単純な整数
Milestone<id>2</id><id> タグで囲まれたマイルストーンの ID
Multi-select<item>
  <id>1</id>
</item>
<item>
   <id>2</id>
</item>
<item> レコードのリスト。それぞれ独自の ID を持つ (Dropdown 値のリストのように)
Steps<step>
  <index>1</index>
  <content>Step 1<content>
  <expected>Result 1<expected>
</step>
<step>
  <index>2</index>
  <content>Step 2<content>
</step>
<step> レコードのリスト。それぞれ独自のインデックス、コンテンツ、およびオプションとして期待される結果を持つ。
String/TextFoobar単純な文字列
URL (Link)http://google.com/文字列としての単純な URL
User<id>3</id><id> タグで囲まれたユーザーの ID

ヒント

インポート機能とエクスポート機能は同じファイル形式を使用しています。

ご利用環境でカスタムフィールドを利用しているなど、XML フォーマットが複雑な場合は、既存のテストスイートのエクスポート機能を利用して XML フォーマットを確認したり、エクスポートしたファイルに、テストケースを定義すると便利です。

※インポートする時、TestRail に元々存在していたテストケースを再追加しないようにご注意ください。

5-5. リンク