Help us understand the problem. What is going on with this article?

テスト管理ツール「Qase」を使ってスプレッドシートのテスト管理から脱出しようとした話

10月のアップデートで機能が複数追加されたようなので後ほど追記しておきます。

概要

今までテスト管理をExcelやスプレッドシートで行っていたのですが、そろそろスプレッドシートの管理に限界が来ていると思ったのでテスト管理ツールをプロジェクトに導入したいと思ってきました。
自分が入る前はそもそもテスト仕様書すら作っていなかったので作るよう運用変更した

ツール選定

自分が以前いた会社ではExcelで管理していたのでテスト管理ツールの知見が全くなく、また周りの方に相談してもスプレッドシートで管理していたりテスト仕様書すら作っていない有様していたのでしょうがなく自分で調査しました。
探している最中にちょうどスタートアップや小規模チームのテストケース管理には「Qase」がいいかもしれないの記事を発見したのでQaseを使ってみることにしました。

Qaseの使い方

Qaseを使ってみたので各種ケースに応じた設定方法を載せておきます。
(10月3日時点)ベータ取れたばかりですが、順次改修が行われているようなのでUIは変更されている可能性があります。

1. アカウントの作成

QaseSTART FOR FREEをクリックしてアカウント作成のページへ移動

create_account_01.png

EmailとPasswordを入力してCreate your Qase accountをクリック。
I would like to receive the Qase monthly newsletter with the application updates and guides. You can opt-out at any time.にチェックを入れるとニュースレターが来るようになるので任意でチェック。

create_account_02.png

アカウントを作成した後はチーム、プロジェクトを作成する。

2. 最初の設定

チーム作成直後のみ行う設定を記載。

2.1. ロールの作成・メンバの追加

チーム作成もしくはメンバの変更が発生するごとに行われる可能性がある作業一覧を記載。
左メニューのTeamをクリック後、Rolesをクリック

2.1.1. ロールの作成(任意)

初期状態ではOwnerとMemberの二つのロールが作成されている。
Ownerは現時点では1名しか設定できず、他のアカウントにGrant Ownership(所有権の付与)を実施すると所有者が変更される。

Memberロールで許可されているものは以下になる。

  • プロジェクト
    • 作成/更新
    • 削除
    • インポート
    • エクスポート
  • テストケース
    • 作成/更新
    • 削除
    • ソート順変更
    • テストケースの承認または否認
  • テストスイート
    • 作成/更新
    • 削除
  • マイルストーン
    • 閲覧
    • 作成/更新
    • 削除
  • 共有ステップ
    • 閲覧
    • 作成/更新
    • 削除
  • テスト計画
    • 閲覧
    • 作成/更新
    • 削除
  • テスト実行
    • 閲覧
    • 作成/更新
    • 削除
  • 障害
  • チームグループ
  • チーム役割

小規模プロジェクトなら上記のMemberロールと、全ての権限を持たせた管理者ロールを作成するだけで問題ないと思われる。
※本当は実施内容ごとにきちんとロールを振り分けた方が良い

2.1.2. メンバの追加

メニューのMembersをクリック後、Invite new Memberをクリック。

A. 一つのアカウントを追加する場合

Singleタブをクリック後に以下の項目を設定。

  • Email(必須):対象アカウントのメールアドレスを設定
  • Name:名前を設定
  • Role Title(必須):役職を入力。(ここはいずれセレクトボックスで選択できると嬉しい)
  • Role:ロールを設定
  • Grant accessto all projects(すべてのプロジェクトへのアクセスを許可):全プロジェクトへのアクセスを許可する場合チェック

add_member_01.png

B. 複数アカウントを追加する場合

Bulkタブをクリック後に以下の項目を設定。

  • Role:ロールを設定
  • Email(必須):対象アカウントのメールアドレスを1行ごとに設定(最大100アカウントまで可能)
  • Grant accessto all projects(すべてのプロジェクトへのアクセスを許可):全プロジェクトへのアクセスを許可する場合チェック

add_member_02.png

2.1.3. グループの設定(任意)

作成する場合はメニューのGroupsをクリックしてCreate a new Groupをクリック。
以下の内容を設定する。

  • Group title(必須):グループタイトルを設定
  • Description(必須):グループの説明を設定

グループにメンバを割り当てる場合は作成したグループをクリック後、Add memberをクリック。
グループに割り当てたいメンバを選択後Add memberをクリック。

グループにロールを設定できる訳ではない?グループにロールを設定してユーザを割り当てられると楽になりそう。
グループを作るメリットは後程作成するプロジェクトで、グループ全員をプロジェクトメンバに割り当てることができるのでそこで使用する。

2.2. プロジェクトの作成

まずはプロジェクトを作成する。通常開発チームやプロジェクトごとに作成でよいと思われる。
左のメニューのProjectsをクリック後、Create new projectをクリック。
以下の内容を設定する。

  • Project name(必須):プロジェクト名を設定
  • Project code(必須):2文字から6文字のユニークな英字を設定
  • Description:プロジェクト説明を設定

追加で以下の項目から一つを選択する。

  • Add all members to this project(すべてのメンバをこのプロジェクトに追加)
  • Add members from specific group(特定のグループからメンバを追加)
    ※この項目を選択した場合、グループを一つ選択する
  • Don't add members(メンバを追加しない)

create_project_01.png

上記でプロジェクトを作成後、各種テストケースを追加していく

3. テストの作成・実行

ここからテスト作成及び、テスト実行について記載する。

3.1. テストスイート・テストケースを作成するまで

3.1.1. マイルストーンの追加(任意)

新しい機能を開発・リリースする場合は必ずバージョン番号の変更など、バージョン番号が設定される場合が多いと思われる。
Qaseではテスト計画をマイルストーンごとにまとめることができるため、後々の見直しのためにできれば設定しておきたい。
作成する場合、メニューのMilestonesをクリック後Create new milestoneをクリック。
以下の内容を設定する。

  • Milestone name(必須):マイルストーン名を設定
  • Description:マイルストーンの説明を設定
    ※100文字までだったがチャットで連絡したら10000文字まで拡張してくれた。ありがとう!
  • Status:マイルストーンのステータスを設定(Active or Completed) このタイミングでは基本Activeになると思われる
  • Due date:期日を設定

create_milestone_01.png

3.1.2. テストスイートの追加

テストを実施する場合、複数のテストケースを組み合わせて実施される場合がある。そのテスト一式をまとめるためのものがテストスイートとなる。
これを作成するには、メニューのRepositoryをクリック後Create new suiteをクリック。
以下の内容を設定する。

  • Suite name(必須):テストスイート名を設定
  • Parent suite:親テストスイートがある場合に設定
  • Description:テストスイートの説明を設定
  • Preconditions:このテストスイートを実施する場合の前提条件がある場合に指定
    リストや太字、イタリック、コード表記を行うことが可能

create_test_suite_01.png

3.1.3. テストケースの追加

A. 単独でテストケースを追加する場合

一つ一つのテスト内容を記載するものがテストケースとなる。

メニューのRepositoryをクリック後、作成したテストスイート右の+をクリックしてCreate caseをクリックするか、単独でテストケースを作りたい場合は+Caseををクリック。

create_test_case_01.png

以下の内容を設定する。

Basic(基本設定)
各種基本条件を設定する。

  • Title(必須):タイトルを設定
  • Status:テストケースのステータスを設定
    • Actual:有効
    • Draft:下書き
    • Deprecated:非推奨
  • Description:テストケースの説明を設定
  • Suite:親にテストスイートを設定する場合に設定(テストスイート右のアイコンから作成した場合は設定済)
  • Severity:重大度を設定
  • Priority:優先度を設定
  • Type:テストの種類を設定。以下の種類が設定可能
    • Other:その他
    • Functional:機能的テスト
    • Smoke:スモークテスト
    • Regression:回帰的テスト
    • Security:セキュリティテスト
    • Usability:ユーザビリティテスト
    • Performance:パフォーマンステスト
    • Acceptance:受け入れテスト
  • Milestone:このテストが該当するマイルストーンを設定。作成していた場合に設定可能
  • Behavior:テストのふるまいを設定
    • Not set:設定なし
    • Positive:ポジティブテスト(いわゆる正常系)
    • Negative:ネガティブテスト(いわゆる異常系)
    • Destructive:破壊的テスト(wikipedia等で調べてみるとシステム制御不能な方法で失敗させ、システムの堅牢性をテストしようとすることらしい) リストや太字、イタリック、コード表記を行うことが可能
  • Automation status:このテストの自動化に対するステータスを設定
    • Not automated:自動化されていないテスト
    • To be automated:いずれ自動化が予定されているテスト
    • Automated:自動化されているテスト

create_test_case_02.png

Conditions(条件)
このテストを実施するための各種条件を設定する。

  • Pre-conditions:このテストケースを実行するための前提条件を入力
  • Post-conditions:このテストケースが完了した場合の状態を入力

create_test_case_03.png

Attachments(添付ファイル)
添付ファイルを設定する必要がある場合、Add attachmentをクリックしてファイルを添付する。

create_test_case_04.png

Steps to reproduce(実施手順)
実施手順を設定する。Add stepで追加、入力を行う。
複数実施手順を追加する場合、都度Add stepをクリックすれば追加が可能。
手順を減らしたい場合は該当手順右端にゴミ箱アイコンがあるのでそちらをクリックする。
クリック後、以下の項目を設定。

  • Action(必須):このステップを実行するための各種動作を入力
  • Expected result:このステップが完了した場合の想定結果を入力

また、Stepの右上の各アイコンをクリックすると追加で以下の操作が可能。
* Add input data:ステップに入力データを追加
* Add attachments:ステップに添付ファイルを追加
* Create shared step:共有ステップを作成
* Clone step:ステップを複製
* Move up:ステップを1つ上に移動
* Move down:ステップを1つ下に移動
* Delete step:ステップを削除

create_test_case_05.png

全て設定後、Saveをクリックすることでテストケースが作成される。

B. 共有ステップを設定してテストケースを追加する場合

テストケースを作成している場合、共通のステップが出てくる場合がある。その時に毎回同じようなステップを作る作業はとても手間がかかる。
Qaseでは共有ステップを作成し、テストケースを作成時に共有ステップの追加を行うことができる。

共有ステップの作成
共有ステップは以下のどちらかで作成ができる。
* テストケース作成時に Create shared step アイコンをタップする
* メニューのShared Stepsをクリック後、Create shared stepをクリックする。
クリック後、以下の項目を設定。

  • Step title(必須):ステップタイトルを入力
  • Action(必須):このステップを実行するための各種動作を入力
  • Expected result:このステップが完了した場合の想定結果を入力

create_shared_step_01.png

作成完了後、共有ステップ一覧が表示される。
テストケースから共有ステップを紐づけている場合、いくつテストケースから紐付けが行われているかの個数も表示される。

create_shared_step_02.png

テストケースに紐付け
共有ステップを作成している場合、テストケース作成時のSteps to reproduceAdd shared stepが追加されるのでそちらをクリック。
任意の共有ステップを選択してAddをクリック。

create_shared_step_03.png

他はA. 単独でテストケースを追加する場合と同様。

C. ファイルからインポートする場合

Qaseからエクスポートされたものや、他のテスト管理ツールからエクスポートされたものをインポート可能。
対応形式一覧を記載する。

対応ソフトウェア 対応形式
Qase XML、JSON
TestRail XML、CSV
TestLink XML
Test Management for Jira XML
SpuashTM XLS
LeanTesting CSV
HipTest XML
Zephyr XML
TestLodge XML

ファイルからインポートはまだ未実施なので今後追記する。

その他設定

テストスイートに対して複数のテストケースを作成した場合、Repository画面でテストケースの順番を変更することが可能。
順番を変更したいテストケースをドラッグ&ドロップで移動が可能

change_order_01.png

3.2. テスト計画の作成

テストスイート及び、テストケースが正常に作成できたあとはテスト計画を作成する。
Test Plansをクリック後、Create new test planをクリック。

Plan details(計画詳細)

  • Title:テスト計画のタイトルを設定
  • Description:テスト計画の説明を設定
    リストや太字、イタリック、コード表記を行うことが可能

Choose cases(ケースの選択)

テスト計画に追加するテストケースを選択する。
左のテストスイートにチェックを入れた場合はテストスイート内のすべてのテストケースにチェックが入る。
テストスイート選択時、Include cases in children suitesにチェックを入れれば子のテストスイートに含まれたテストケースにもすべてチェックが入る。

テストケース選択後、右のセレクトボックスでテスト実施者を選択する。
Applyを選択すれば表示されているすべてのテストケースに選択中の実施者が設定される。
※未割当の場合、プロジェクトの全メンバがテスト実行できるらしいので特定の人に実行してほしいのでなければ未割当のほうがいいかもしれない

create_test_plan_01.png

全て設定後、Create planをクリックしてテスト計画を作成する。

3.3. テスト実行及び実行結果の登録

3.3.1. テスト実行の登録

テスト計画を作成した後、テスト実行を行う。
Test Runsをクリック後、Start new test runをクリック。

  • Run title:実行タイトル。Test run yyyy/MM/ddの形式で自動入力が行われる
  • Description:テスト計画の説明を設定
    リストや太字、イタリック、コード表記を行うことが可能
  • Test plan:実行するテスト計画を選択。ここが未選択の場合、手動でテストスイート及びテストケースを選択する必要がある
  • Environment:環境を選択
     ※Not provided以外選択できないのでこの項目についてはよくわかっていない
  • Default assignee:デフォルトの実行者
    ※ヒントにAll unassigned test cases will be assinged to selected user. Leave unassigned and any team member will be able to take case during run.(未割り当てのテストケースはすべて、選択したユーザーに割り当てられます。 未割り当てのままにしておくと、すべてのチームメンバーが実行中にケースに対応できるようになります。)と書かれているので特定の人に実行してほしいのでなければ未割当のほうがいいかもしれない

Choose cases(ケースの選択)
テスト計画と同様。テスト計画を選択した場合はほぼ変更なしでよい。

全て設定した後、Startをクリック。

3.3.2. テスト実行結果の入力

テストが開始されると次のような画面が表示される。
Add casesでテストスイートやテストケースの追加・削除が行える。
Abort test runでテスト実行が中断できる。

test_run_01.png

Share reportをクリックすると公開URLを作成する。
公開する場合はトグルボタンをONにしてDoneをクリックする。

share_report_01.png

テスト結果の入力
テスト結果を入力するにはLaunch test runをクリックする。
クリックすると各テストケースの実行結果を入力できる。

launch_test_run_01.png

設定可能な結果は以下となる。
1テストケース内で個別のテスト結果を登録できるが、一つでもFailedまたはBlockedを設定した場合、そのテストケース内の項目はテスト結果を設定することができない。
(もしかしたらテストスイート及びテストケースは細かく分割した方がいいかもしれない)
1テストケース内の項目をまとめて設定したい場合はテスト結果項目欄下部の各ボタンをクリックする。

  • Passed:テスト成功
  • Failed:テスト失敗。こちらを選択すると失敗結果を入力する画面が表示され、以下の結果を入力する。
    • Actual result:実施結果を入力
    • Drop files here to upload:ファイルを添付する場合はドロップもしくは選択して添付ファイルを設定できる。
  • Blocked:ブロック。ある機能が不具合により機能しないことで、このテストケースが実施不可能な状態の場合に選択する。
    こちらを選択するとブロック結果を入力する画面が表示され、以下の結果を入力する。
    • Actual result:実施結果を入力
    • Drop files here to upload:ファイルを添付する場合はドロップもしくは選択して添付ファイルを設定できる。

launch_test_run_02.png

テスト結果の確認
テスト結果の入力を終えるか、Test Runs画面で該当のテスト実行をクリックするか、該当のテスト実行欄の...をクリックしてDashboardをクリックするとテスト実行結果が表示される。
黒塗枠にはテスト実施者が表示される。

launch_test_run_03.png

3.3.3. 不具合の確認及び解決

不具合一覧を確認する場合はメニューのDefectsをクリック。
テスト実行時にFailedで入力した項目が一覧で表示される。

不具合の確認

不具合をクリックするとテストケースと不具合の詳細を確認可能。

Defects_01.png

不具合の解決
一覧画面で該当の不具合の...をクリックしてResolveを選択するか、詳細画面でResolveをクリックすることで不具合の解決を登録できる。
This defect will be marked as resolved. This status can't be changed later.(ステータス変更不可)の警告がでるので問題なければResolveをクリック。

解決を登録後、一覧画面へ戻ると解決済みのマークが付けられる。

Defects_02.png

不具合の削除
登録した不具合を削除したい場合は一覧画面で該当の不具合の...をクリックしてDeleteを選択する。

3.3.4. テストの再実施

不具合を修正後にテストを再実施したい場合は該当のテストケース右の...をクリック後にRe-test caseをクリック。
Launch test runが再度有効になるのでもう一度テスト実行をやり直す。

launch_test_run_03.png

4. Slack連携

会社のコミュニケーションツールとしてSlackを導入している会社は多いと思われる。
Qaseではプロジェクトごとに特定のチャンネルまたは個人に向けてアナウンスを流すことが可能。
テストケースを作成した場合やテスト実行完了、不具合が発見された場合に流すようにすればきっと便利。

4.1. Slackにインストール

Slackとの連携を行う場合、プロジェクトを選択した状態でSettingsIntegrationsの順に選択。
Slackの欄のInstallをクリック後Install nowをクリック。
その後はSlackのアプリ連携画面に移動するのでSlackでアプリを認証。

4.2. 通知設定

こちらは各プロジェクトごとに毎回設定が必要。
アプリが承認された後、再度Integrations画面でSlackの欄のInstallをクリック後Install nowをクリック。
投稿先(チャンネルまたは個人を設定可能)を選択して許可するをクリック。

integration_slack_01.png

設定後にSlack integration settingsに移動するので通知させたいイベントにチェックを入れる。
再度設定したい場合はIntegrations画面でSlackの欄の...をクリックしてSettingsをクリック。

この中で必要そうなものはTest plans(テスト計画)Milestones(マイルストーン)Test runs(テスト実行)Defects(不具合)に全チェックくらいだと思われる。
セキュリティのためにPublic link turned on(公開リンクがオン)だけは常時チェックを入れておきたい。

  • Test cases(テストケース)
    • Create test case:テストケース作成
    • Update test case:テストケース更新
    • Delete test case:テストケース削除
    • Clone test case:テストケース複製
  • Test suites(テストスイート)
    • Create test suite:テストスイート作成
    • Update test suite:テストスイート更新
    • Delete test suite:テストスイート削除
    • Clone test suite:テストスイート複製
  • Test plans(テスト計画作成)
    • Create test plan:テスト計画作成
    • Update test plan:テスト計画更新
    • Delete test plan:テスト計画削除
  • Shared steps(共有ステップ)
    • Create shared step:共有ステップ作成
    • Update shared step:共有ステップ更新
    • Delete shared step:共有ステップ削除
  • Milestones(マイルストーン)
    • Create milestone:マイルストーン作成
    • Update milestone:マイルストーン更新
    • Delete milestone:マイルストーン削除
  • Custom fields(カスタムフィールド)
    • Create custom field:カスタムフィールド作成
    • Update custom field:カスタムフィールド更新
    • Delete custom field:カスタムフィールド削除
  • Test runs(テスト実行)
    • Test run start:テスト実行開始
    • Test run aborted:テスト実行中断
    • Test cases added to run:テスト実行時にテストケースを追加
    • Delete test run:テスト実行を削除
    • Complete test run:テスト実行完了
    • Public link turned on:公開リンクがオン
  • Defects(不具合)
    • Create defect:不具合作成
    • Resolve defect:不具合解決
    • Delete defect:不具合削除

設定後、チェックしたイベントが実施された場合にSlackの該当チャンネルまたは個人に通知が行われる。

4.3. 連係解除

連携を解除したい場合はプロジェクトを選択した状態でSettingsIntegrationsの順に選択。
Slackアイコン部分のRemoveをクリックする。
連係解除する場合はSlack側でもアプリ連携を解除すること。

5. GitHub連携

GitHub連携を行うと、Qaseでの不具合をGitHubのIssuesとして挙げることができる。
GitHub連携はまだ未実施なので今後追記する。

6. Redmine連携

Redmine連携を行うと、Qaseでの不具合をRedmineのIssuesとして挙げることができる。
Redmine連携はまだ未実施なので今後追記する。

7. 各種形式でのダウンロード

プロジェクトを選択した状態でメニューのExportを選択するとテストケースをエクスポートすることが可能。
対応している形式はJSONXMLCSVXLSXPDFが可能。

ファイルを出力する場合はExport formatで出力するファイル形式を選択。
Suiteで出力するテストスイートを選択することができる。未選択の場合、全てのテストスイートが出力される。

export_file_01.png

8. その他

8.1. 正式版リリース

10月2日でベータが取れ、正式版となった。
現在ビジネスプラン専用になるのは次の機能一覧となる。

  • API
  • Webhook
  • カスタムフィールド

また、10月に有料ブランの一部として次の機能を追加予定。

  • テストケースレビュー
  • レポートと統計

8.2. 各種機能追加

Qaseの開発者に伺ったところ、直近で下記の内容を改修する予定とのこと。

  • フィルタ機能の改修
  • テスト結果のエクスポート
  • Repositoryで最上位Test Suiteのみの表示

総括

スタートアップや小規模チームのテストケース管理には「Qase」がいいかもしれないにも書かれているように、UIがかなり使いやすいです。
選定時間があればqTestPractiTestTestRailなども確認してみたかったですが、特に問題なければこのままQaseを使い続けると思われます。
次の機会にもう少し時間をとって他のツールとのメリット・デメリットを比較したいと思います。

参考

スタートアップや小規模チームのテストケース管理には「Qase」がいいかもしれない
テストの管理を改革せよ!
テスト管理ツールをいくつかご紹介
人気のテスト管理ツール「qTest」と「PractiTest」を触ってみたよ
モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし
2019年のベスト25テスト管理ツール
テストケース管理ツール

henjiganai
最近VR関連の技術を学習中。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away