「その5」(イシュー作成)の続きで、インポート・エクスポートの話です。
ただ「その5」でRedmine連携を試したので、先にSlack連携も試してみましょう。
こちらもとても簡単です。すでにSlackにログイン中であれば、その中のチャネルから投稿先を選んで連携し、そのあと投稿内容を選択します。Slack側でも連携を承認する必要があります。
この設定で、テストの開始→途中で失敗→イシュー作成 をやってみます。すると・・・、
とても簡単ですね。まずはイシュー作成くらいを投稿させておくとよさそうです。*1
インポート・エクスポート
必要性と困難
さて、テスト管理ツールがサポートしておくべき基本機能の一つが、「インポート・エクスポート」です。
多くの組織ではすでに、テストケースという(場合によってはネガティブな)テスト資産をもっているはず。これを一括インポートできず、1件1件よなべして登録しなければいけないとしたら、テスト管理の移行などできるはずもありません。
一方で、インポートの厄介さは想像に難くありません。
テスト管理ツールでは、テストケースが0個以上のインスタンスに紐づき、インスタンスが0個以上のランに紐づくという、1:nの構造になっています。また、テストケースには1個以上のステップに紐づきますし、テストセットとテストケースはn:mで紐づいています。オブジェクト同士に複雑な関係があるということです。*2
よって、Excelで扱おうとすると、データベースの「テーブル」に相当する表が何枚もできるうえに、それぞれの表がIDで関連づいていることになります。この関連付けを保ったまま編集するのはなかなか困難であり、人類ではなくツールにお任せする部分でしょう。
ほしい機能
わたしがテスト管理ツールに最低限求めるのは以下の点です。
- 一通りの情報が汎用的な形式でエクスポートできること
- エクスポートしたファイルと完全に同形式でなくとも、インポートが可能であること
- インポートエラー時に、どこに原因があるかをある程度特定できること
順にみていきましょう。
一通りの情報が汎用的な形式でエクスポートできること
PractiTestでは、イシュー・テストケース・テストステップ・要件の4つがインポート可能です。
また、イシュー・テストケース(+ステップ)・要件・実行・テストセットの5つと、添付ファイルがエクスポート可能です。*3
ここでは、一番利用するであろうテストケースを試してみましょう。「Export All Tests」で生成が始まります。
生成されたファイルはこんな姿。
小さくてわかりづらいのですが、少し意外な姿でした。
Squash TMでは、テストケースの大元が1枚のシート上にあり、テストステップは別のシートにあって、テストケースのIDで関連づける形で管理していました(記憶あいまい)。一方PractiTestでは、ステップも含めてテストケースを1枚のシート上で扱っています。このため、空白セルがたくさん現れる形です。
後者の方が人間には扱いやすいのですが、取り込みの際のツール側のチェックがより大変な印象です。
さて、エクスポートしたファイルはそのままインポートにも使いうるので、ファイル・表・列がそれぞれどんな意味・制約・関連を持っているかは、公式ドキュメントできちんと解説してもらいたいですね。これなしだと、試行錯誤でがんばるしかなくなります。
たとえばSquash TMであれば、公式のWikiでかなり丁寧に書かれていまし、PractiTestでも丁寧なページがあります。
エクスポートしたファイルと完全に同形式でなくとも、インポートが可能であること
エクスポートしたファイルをそのままインポートしてみましょう。
インポート画面では、PractiTestにおけるフィールドと、CSVファイルの列の対応を決めたうえで、インポートします。つまり、PractiTestと関係ないオレオレxlsx形式でも、基本的にはインポートが可能なのです。ステキ。
なお上述の通り、エクスポート時にはテストケースとステップが一体化した1枚のシートなのですが、テストケースとステップを分離してのインポートも、「Importing Tests and Steps in two operations」という形でサポートされています。こういう「かゆいところに手が届く」のがPractiTestらしさですね。
インポートエラー時に、どこに原因があるかをある程度特定できること
「インポートエラー!」とだけしか教えてくれないツールだと、テストケースが1,000個入ったファイルの後半500個を消して再インポートし、エラーが起きるかを確認・・・みたいな二分探索大会は始まってしまいます(そして原因が一か所とは限らない地獄)。エラー原因はちゃんと教えてほしい。
ではさっきエクスポートしたファイルをそのままインポートしようとすると
するとエラーが出る。ですが、エラー内容はしっかり書かれており、切り分け可能です。
まず1つ目のエラーは、Authorに相当する列に不正な値が入っているというもの。これは、インポートするExcelの1行目(ヘッダ)を無視するオプションにチェックを入れていなかったため、「Author」というAuthor IDでインポートしようとしたということです。ごめんなさい。ここには、eメールアドレスまたはスクリーンネームを入れる必要があります。
2つ目のエラーは、ステップの名前が必須だということですね。PractiTest上では任意項目なので、エクスポート時に空だったのです。
では修正してリトライ。
OKですね。
ちと気になる点としては、手順付きテストとはフィールド構造の違う探索的テストをどう扱うかということなのですが・・。
まずエクスポートした時点で、テストチャーターとガイドポイントの情報は失われているようです。そのままインポートしても、手順付きテストとして扱われました。まあ、「探索的テストを大量にインポートする」ことはあまりなさそうですし、実害は小さいでしょう。
インポートのもう一つの需要
既存Excelからのテストケースインポートの他に、「テスト管理ツールで扱うたくさんのテストケースをいったんエクスポートし、Excelで一括編集したうえで、テスト管理ツールに戻したい」というものがあります。全体的な管理としては圧倒的に優れるテスト管理ツールでも、「1テストケースn画面」である以上、編集面ではExcelなどに劣ることもあるためです。
ちゃんと調べ切れてはいないのですが、「PractiTest上にある既存のテストケースを、インポートするExcelで上書きする」ということはできなさそうです。とはいえこれは既存の情報を壊しうる危ない機能なので、なくていいかもしれません・・・。
以上、インポート・エクスポートについても、手堅くまとまっていました。
最後に「その7」で、ダッシュボードを見てみたいと思います。