スタートアップや小規模チームのテストケース管理には「Qase」がいいかもしれない

## はじめに

みなさん、テストケースマネジメントしてますか？
テストケースマネジメントのツールといえば [TestRail](https://www.gurock.com/testrail) や [PractiTest](https://www.practitest.com/) 、あるいはRedmineやJIRAなどのプラグインを使うことが多いと思います。
ですが、基本的に商用、それもテスターが大勢いるようなQA組織向けのツールが主で、スタートアップなどでQA体制が未成熟なところにフィットする選択肢って少ないですよね。

そんな中、[Qase](https://qase.io/)というツールを見つけたのでご紹介します。
`Startup Plan` というまさしく上記の悩みにドンピシャなプランが用意されており、複雑な設定が不要であれば無料で利用できるようです。
また、2019/09現在パブリックベータとして公開されており、有償プランの機能も自由に利用できるようです。

https://qase.io/pricing
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/40c595fb-e481-0627-6f3e-843f83070734.png)

試さない理由がないですね！
というわけでレビューしていきましょう。

## テストケース管理システムに求めるもの

Qaseを試してみる前に、どんな機能を求めているのかを軽く整理してみます。
テストケース管理ではいろいろな要件が求められますが、ベーシックなものだと以下のようなものが考えられると思います。

- テストケースを作成し、集約する中央リポジトリ
- テストケースをグルーピングし整理する
- テストの実行計画を立て、見積もりとアサインを行う
- テスト実行の進捗を管理する
- テストの実行結果をレポートする

また、最近はどこのチームも当然のように自動テストを取り入れていますので、

- 自動化したテストケースを管理できる
- 手動テストと自動テストの結果を併せて一覧できる
- APIにより自動テストの実行結果を自動的に反映することができる

などの機能があるとより良いでしょう。
これらを満たすかどうかを中心に見ていきます。

## そんなわけでレビューです

利用開始すると、まずはプロジェクトの作成からスタートします。
せっかくなのでおれはこの `Create demo project` を選ぶぜ！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/9041adea-cfd5-99f6-18c8-58c497e19a8b.png)

するとサンプルとしていくつかテストケースが登録された状態からスタートします。
これはすごくわかりやすいですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/9251fa5f-e541-f16b-2e6d-28c49c1a91eb.png)

### テストケースの整理

テストケースは `Suite` という単位でグルーピングすることができます。
下記画像の赤い枠がSuiteで、青い枠がTestです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/aef8bb1f-fabb-f7cc-c8af-91d69d1a754c.png)

Suiteはたくさん階層をつくることができます。
無限かどうかは見てない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/8582ac4e-2735-0e03-aff0-9c36c00429b6.png)


Caseをクリックすると、テスト手順などの詳細が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/2aa27e51-7340-6c7d-0dfe-843fa0d2ca3f.png)

テストの実行順序が `Steps to reproduce (再現手順)` と書かれていたり、 `Severity(深刻度)` `Priority(優先度)` のようなパラメータがあるのが気になりますが、あらかじめ `この箇所でバグが起きたらどうなるか` を想定して書いておくことで、テスト実行時に自動的に作られる `Defect` に不具合の再現手順や深刻度、優先度などが設定されるようです。
最初はちょっと🤔🤔🤔ってなったんですが、分かってみると結構考えられた仕様です。

### テスト計画の作成

`Test Plan` というところから作ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/6754bd71-125d-9df0-9a14-3385ad70b930.png)

ここでやることは基本どのツールも同じで、

- テスト計画を作る
- そのテスト計画の中でどのテストを実行するかを選択する

という感じになります。

Test Planを作るとこんなかんじ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/022c2fac-0f9d-e292-37ec-bf2733b41d1f.png)

Test Planには見積もり時間とかは入れられないっぽいです。
あと、後述しますがTest Runとの使い分けがいまいちわからん。

### 実行

`Test Run` からテストを実行することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/877827cd-a8f1-3f76-96d2-4ed933b1fbfc.png)

Test Planの作成→Test Runで実行 という流れなのかと思ったら、Planが無くてもRunはできちゃうらしい（Runで直接テストケースを指定できる）。
ここの作りはちょっと謎。

テストを開始すると、テストケースごとにテスト結果を入力できるようになります。
ここのUIは結構いい感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/30f7490e-c30e-e49a-5377-50e374a182ae.png)

ステップごとに `Passed` `Failed` `Blocked` みたいに結果を入れていくんですが、システムによってはここをプルダウンで実装してて、めっちゃ使いにくいんですよね……！
Qaseはボタンになってるので、クリック回数が減ってとても楽です。

テストが進捗すると、こんな感じで進捗を確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/4a4d651f-732d-b4d1-094a-dae6f1005a8e.png)

### 不具合報告

実行した結果、不具合があった場合は自動的に `Defects` が作られます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/129a0c5d-aa7c-a6ca-310d-0f3bbaf5082a.png)

Test Case作成時に入力した再現手順や深刻度などが表示されていますね。
このDefectは、現在JIRAやRedmineなどを使っている場合はそちらに自動的に連携することができるようです（試してない）。

### 外部連携

プラグインや

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/0ba679ba-771e-2303-d5e3-cc0993a5d654.png)

Webhookなどがあります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/12304b1c-9355-3004-fa51-fbc8dab61d8f.png)

なお、残念ながらこの記事を執筆している時点では `REST API Comming soon` でした……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/84bc823d-4abb-1e61-d80c-a6f267bcb05d.png)

サポートチャットに **「APIﾏﾀﾞｰ?」** と聞いたところ

> APIドキュメント準備してっから、ちょっと待ってくれよ！な！

と返事が来たので、そのうち公開されることであろう。

追記: ドキュメントのURLを教えてもらいました。近日中に全メソッドの掲載を予定しているそうです。
https://developers.qase.io 

## 総評

冒頭で書いた、基本的な機能が実装されているかどうかをまとめると、こんな感じになります。

- ✔ テストケースを作成し、集約する中央リポジトリ
- ✔ テストケースをグルーピングし整理する
- △ テストの実行計画を立て、見積もりとアサインを行う（時間の見積もり機能はなさそう、カスタムフィールドで出来るかも）
- ✔ テスト実行の進捗を管理する
- ✔ テストの実行結果をレポートする
- ✔ 自動化したテストケースを管理できる
- ✔ 手動テストと自動テストの結果を併せて一覧できる
- △ APIにより自動テストの実行結果を自動的に反映することができる（Coming Soon...!）

必要な機能はきちんと揃えつつ、使いやすいUIにこだわってる感じがしました。
他のテストケース管理ツールはゴチャゴチャして見づらかったり、Excel的で見栄えが良くなかったりするので、パッと見て使い方が分かるレベルでキレイなUIなのはとても良かったです。

ドキュメントが無くても、見ただけで機能が理解できるレベルでUIが整っているって、とても理想的な体験ですよね。
これが無料 or $10/user/mo とかで使えるのはかなりすばらしいと思う……！

一方、レスポンスが悪かったり、ちょいちょいバグを踏んだりすることもありました。
このへんはまあパブリックベータなので許してあげましょう……
上でも書きましたが、チャットで不具合報告をするとすぐ返事してくれるので、気軽に投げてあげてください（英語ですが）！

## 余談

レビュー中に発見したバグを報告したら、「今日直すね！」って返ってきた。
この対応速度はすばらしい……！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/51fc6371-cc93-14e1-d384-3eaac9f58731.png)

あと、TestPlanはExcelでダウンロードできます。Excelスクショおじさんも安心だね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112393/5c3f1cb3-75a3-14c8-aea5-fb4800d3db22.png)