TestRailに既存のテストケースをインポートするときのファイル仕様(CSV,XML)

TestRailに既存のテストケースをインポートするときのファイル仕様についてのメモ。なおテスト仕様書はGoogleスプレッドシートExcelに記載してあるものとする。

公式サイトおよびドキュメント

tl;dr

テスト管理ツールを使ってみたかったのでTestRailを1ヶ月間試してみることにした。ツール選択時の参考にした記事は以下。

とりあえず既存のテスト仕様書(約200ケース)をインポートしていつもより多めに(テストを)回してみようとしたらインポート用のファイルの作成に2〜3時間かかった。正直ド●ゴンクエストビ●ダーズ2で手が滑って山の上から溶岩を流して山ひとつと結構な面積の海が蒸発させてそのあと6時間かけて整地したときの気分に近いものがあった。

前提

やりたいこと

f:id:wifeofvillon:20190124120351p:plain
画像1. インポートするテスト仕様書(部分)

f:id:wifeofvillon:20190124120456p:plain
画像2. テストケースのインポートが完了したTestRailの画面

Googleスプレッドシートで作成された画像1のような構造のテスト仕様書を画像2のように階層化されたテストケースとしてインポートする。

インポート元となるテスト仕様書の構造

テスト仕様書(画像1)は部分抜粋なのでわかりにくいが、このテスト仕様書はリリースver.で確認するテストケースと、デバッグver.で確認するテストケースが両方記載されている。そのためviewflow / phaseの上にもうひとつセクション階層がある。

テスト仕様書の各テストケースが属するセクション階層は以下のようになる。

  • UI/UX Tests with Production build > Onboarding
  • UI/UX Tests with Production build > Onboarding > Installation

CSVファイルでインポートする場合

CSVファイルを使ったインポートは簡単だがサブセクションが多いテスト仕様書には向いていないっぽい。

f:id:wifeofvillon:20190124122522p:plain
画像3. インポート用に作成したCSVファイル(部分)

f:id:wifeofvillon:20190124122914p:plain
画像4. CSVインポート時に表示されるダイアログ

f:id:wifeofvillon:20190124123124p:plain
画像5. CSVインポート時に指定可能な項目

CSVファイルをインポートするとき、例えば画像3CSVファイルであればTitleSection DepthSection Hierarchyをそのまま指定したいが(画像4)、TestRailのCSVインポート機能はSectionまでしかサポートしていない(画像5)。

もちろん同じテストケースをTestRailに手動登録してからCSVをエクスポートしてみると、セクション階層に関するいずれの項目も出力されている。

なので次の画像6のようにサブセクションを持たないテスト仕様書をインポートするならそれほどファイル整形に労力はかからないはず。

f:id:wifeofvillon:20190124125344p:plain
画像6. サブセクションを持たないテスト仕様書(例)

XMLファイルでインポートする場合

どうしてもサブセクションを維持したい場合XMLでインポートすることになる。TestRailのインポート/エクスポートXML仕様は公式ドキュメントに記載されているため詳細はそちらを参照されたい。

以下は実際にインポートに用いたXMLファイルの一部の抜粋。

<section>
    <name>UI/UX Tests with Production build</name>
    <description>To check UI/UX with Production build by tester hands</description>
    <sections>
        <section>
            <name>Onboarding</name>
            <cases>
                <case>
                    <title>app name on the toast is correct</title>
                </case>
            </cases>
            <sections>
                <section>
                    <name>Installation</name>
                    <cases>
                        <case>
                            <title>can open &quot;License&quot; view</title>
                        </case>
                        <case>
                            <title>can open &quot;Privacy Pollicy&quot; view</title>
                        </case>
                    </cases>
                </section>
            </sections>
        </section>
        ...
    </sections>
    ...
</section>

今回はSection Depthの異なるテストケースが混在していることがややこしくなる原因だった気がする。

今回はこのネストしまくったファイルをGASを使わずにSpreadcheet関数のみで生成するのはちょっとしんどいな〜と思ったのでサブセクションを全て手動登録してからXMLをエクスポート→テストケースを追記して再度インポートという手段を取った。

まとめ

サブセクションがないテスト仕様書はCSVでどーんとインポートすれば良さそう。大項目〜小項目までサブセクションで再現したい場合はXMLを生成してインポートしたら良さそう。

もちろんどちらの方法でもPriorityEstimateStepsを含むカスタムフィールドも追加できるのでついでに追加するといいかもしれない。

ソフトウェアテスト教科書 JSTQB Foundation 第3版

ソフトウェアテスト教科書 JSTQB Foundation 第3版

  • 作者: 大西建児,勝亦匡秀,佐々木方規,鈴木三紀夫,中野直樹,町田欣史,湯本剛,吉澤智美
  • 出版社/メーカー: 翔泳社
  • 発売日: 2011/11/12
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 85回
  • この商品を含むブログ (12件) を見る

【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践

【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践