ソフトウェア品質保証

ソフトウェアの品質保証(Quality Assurance)に関する情報ブログ

シンプルなテスト管理ツール「TestRail」の紹介

シンプルで使いやすいと評判の高かった海外製のテスト管理ツール「TestRail」のご紹介です。
トライアルの期間が30日と結構長めできちんと吟味できそうだったので、色々と試してみました。

f:id:minkisi:20191221231633p:plain

概要

Gurockという企業からリリースされているTestRailというテスト管理ツールです。
非常に使いやすいです。
UIがかなり練られていて操作感・視認性がすごくいい。
画面遷移が極力抑えられており、前画面をある程度維持したまま新しい操作ができるため、今どこにいるのか何をしているのかがわかりやすいです。
全体的にフォントが小さめですが、UI部品が理路整然ときれいに並んでおり、見づらいということはありませんでした。
機能的に物足りないところもあるかもしれませんが、シンプルであるがゆえの使い勝手の良さが光ってます。
ただ、階層構造を作るやり方が日本人が直感しにくいと言いますか、例えばユーザのプロジェクトへの参加/不参加を設定する際、プロジェクトの設定で行うのではなく、ユーザの設定の方で行うといった階層の下から上へリレーションを張るという方式で、ここら辺の考え方の違いが若干戸惑うかもしれません。
日本人だと「入れ物に入れる」という考え方をするので、設定箇所が階層の上か下かで逆になるんですね。
まぁ、海外製品をよく利用している方はこのリレーション方式には慣れているでしょうし、階層構造を理解しておけば、すんなりと受け入れられるものだと思います。

機能面

テストケースの作成とテスト結果の管理、進捗状況の確認などができます。
要件定義のようなものはないため、要件に基づく機能ごとの品質検証的なことはできないようです。
また、障害分類・品質分析みたいなこともできないようで、この辺りは完全に外部BTS任せです。
もちろんその分、BTS連携は非常に充実しています。
このほか、テストランをグルーピングしてスケジューリングするMilestoneという機能があり、概念もわかりやすく使いやすい機能だなと思いました。
IPアドレスによるアクセス制限やパスワードルール設定など、ユーザのセキュリティ関連は一通り揃っていそうです。
レポート機能は色々な指標値をグラフ化して見ることができますが、なぜか1つ1つcreateしないといけないというちと面倒な仕様です。

ユーザビリティ(UIの操作性・視認性)

すでにお話した通り、UIはかなり良いと思います。
jqueryUIがベースになっていると思うのですが、やっぱりBootstrap系よりいいなぁ(と個人的に)・・・。

f:id:minkisi:20191221232548p:plain

料金

20ユーザまで月額 $30、それ以上だと $820~になります。
フリーのトライアルは30日間と長め。

カスタマイズ

テストケースの表示内容、テスト結果の表示内容、テスト結果のステータス、テストケースの種類、プロパティなど。
「Administration」の「Customizations」で設定します。

進捗管理

予実管理はできませんが、テスト実施の推移などグラフで確認できます。

f:id:minkisi:20191221232033p:plain

分析

レポート機能があり様々な指標値を元にグラフ化して見ることができます。
主に進捗確認用のものであり、品質分析という観点では残念ながら利用できなさそうです。

言語

英語のみ

外部連携

BTSなど
Bitbucket、Bugzilla、GitHub、JIRA 、Redmine・・・その他多数。

・公開API
REST API

構造

Project
├ [Group]
│ └ [User]
└ Milestone
 └ Test Run, Test Plan
  └ Suite
   └ Section
    └ Subsection
      └ Case

 

ここから各機能ごとの説明にうつります。 

Projects

Projectは最上位の実行単位です。
製品やバージョンに相当するものですね。
TestRailでは3つの種類があるのですが、基本的には「Use a single repository with baseline support」で良いかと思います。

f:id:minkisi:20191221232326p:plain

Users & Roles

ユーザ・グループ(Group)・役割(Role)の登録・削除ができます。
Roleの設定では、テストケースや障害レポートの編集権限やテストの実行権などを設定し、ユーザに付帯させます。
これによってログインしたユーザごとにテスターのように振舞えたり管理者のように振舞えたりできます。
プロジェクトへの参加/不参加は各プロジェクトごとに各ユーザに対してアクセス権を設定することで行います。

f:id:minkisi:20191221232502p:plain

f:id:minkisi:20191221232510p:plain

Customizations

表示内容の各種カスタマイズができます。

f:id:minkisi:20191221232535p:plain

Integration

BTS連携の設定ができます。

f:id:minkisi:20191221232548p:plain

Subscription

テストの設定・実施内容、アップロードしたファイルをバックアップできます。
作成されたエクスポートは10日間ダウンロード可能で、その後削除されます。

Site Settings

主にIPアクセス制限やパスワードポリシー、APIの公開といったセキュリティ関連の設定ができます。
他にもUI的な変更としてページネーションの記事数や、ページ上部のタイトル名なんかも変更できます。

f:id:minkisi:20191221232724p:plain

Dashboard

ログイン後に開くトップ画面です。
プロジェクトの一覧や各プロジェクトの状況がグラフとともに把握できるようになっています。

f:id:minkisi:20191221235044p:plain

Milestones

Milestoneは複数のテスト計画(Test Plan)やテストラン(Test Run)をまとめてスケジュールにします。
開始日・終了日を設定し、スケジュールの中でのテストの実施状況や実施結果を確認することができます。
2階層のMilestoneが作れるようです。
なお、Test PlanやTest RunのMilestoneへの設定は「Test Runs & Results」から行います。

f:id:minkisi:20191221235159p:plain

Test Suites & Cases

説明の都合上こちらから。
Masterという核となるテストケースセット(Test Suite)があって、Masterから派生してBaselineという個別のテストケースセットを作っていくという感じで管理ができます。
Masterが製品共通(RTなど)、Baselineがバージョンごとの固有機能といった感じでしょうか。
この辺りの構造が必要ない方は、Projectの作成の際に「Use a single repository for all cases」を選択してください。
Test Suiteとという構造がなくなります。

f:id:minkisi:20191221235306p:plain

Test SuiteにはSection、Subsectionが設定でき、その配下にテストケース(Case)を作成します。
大項目・中項目・・・テスト項目という感じですね。

f:id:minkisi:20191221235411p:plain

f:id:minkisi:20191221235513p:plain

Test Runs & Results

テスト計画(Test Plan)とテストラン(Test Run)を設定できます。
各Test Runごとの実施状況や実施結果を確認することができます。
Test PlanとTest RunはいずれもMilestone配下のテスト実行単位ですが、Test Runは1つのTest Suiteに属するCaseに対して、Test Planは複数のTest SuiteにまたがってCaseをグルーピングすることが可能です。
この際Test Plan内のTest SuiteはTest Runと呼ばれるようになります。

f:id:minkisi:20191221235555p:plain

Reports

見たいレポートはまず作らないと見れません!
たとえば毎日0:00に作成とか設定しておくと、毎日レポートを作成してくれます。
レポートのアクセス権が設定でき、自分だけ見れるようにしたり、他者にメール通知したりできます。
見れる内容はsummaryですと以下のような感じです。
・テスト実施結果ステータスの割合(passedの割合)
・Test Runごとの進捗率
・テスト実施結果の履歴
・テスト消化数の推移
・Test Runリスト
・Test Suiteリスト

 

Google Cloud AutoML Vision で新たな課金

Google Cloud AutoML Vision を利用している方へ!

Googleからくる英語のメールをほったらかしにしていませんか?
そんな方は今すぐお支払いの確認を!
ふとGCPの支払いを確認すると、11/21から何やら身に覚えのない課金が毎日発生してる・・・?

f:id:minkisi:20191201021651p:plain

レポートを見ると、 時間単位で課金されているSKUが。
おかしい、「トレーニング」と「予測」以外の料金は発生しないはず。
AutoML Image Classification Online Predictions とは一体なんだろう?

f:id:minkisi:20191201024105p:plain

さっそくサポートに問い合わせたところ、Cloud AutoML Vision の利用料金が先月改定され、予測が行われない場合でも、デプロイしたノード単位での料金が発生するとのこと。
この料金改定に関する通知は2019年10月21日にメールで送信されているそうです。

日本語ドキュメントの改定がまだのようで、Language を英語にしないとこの利用料金についての説明を見ることができません。

f:id:minkisi:20191201025420p:plain

該当の記事は中段辺りにあります。

f:id:minkisi:20191201025658p:plain

この料金改定により、11/21からデプロイされたモデルをそのままにしておくと1時間につき $1.25 課金が発生します。
私の場合、1週間ほどほったらかしてしまったので、2万円ほど利用料金がかかってしまいました。

金額調整依頼ができるようなので、現在サポートの方とやりとりをしています。
また進展ありましたら記事を更新いたします。

 

12/5 追記

全額返金されました!

googleサポートの方、ありがとうございました。

和製テスト管理ツール「CAT」の紹介

テスト管理ツールというとまだまだ海外勢に圧倒されている状況ですが、日本の会社が作っているものでトライアルのできるものを見つけたのでご紹介いたします。

CAT プロジェクト情報

概要

SHIFTという企業からリリースされているCATというテスト管理ツールです。
さすが日本製といったところか、海外製と比べて日本人にも親しみやすいUIで使いやすいです。
特にExcelライクな編集操作は普段Excelでテスト工程の管理をしている人にとってはすんなりと受け入れられるのではないでしょうか。
海外製だと直訳的で言葉の意味がわかりにくかったり、全体の構造がわかりにくかったりするのですが、そういうところでの引っかかりはなくスムーズに使えるようでした。

機能面

要件定義、プロジェクト管理、テスト項目表、インシデント管理、品質分析と一通りそろっています。
このほか、未解決の課題を選択してグルーピングする機能(スコープ)というものがあり、フレキシブルな管理ができそうでした。
メール通知が細かく設定でき、内容も編集できるのが便利です。
IPアドレスによるアクセス制限やユーザのログイン状況の確認、パスワードルール設定など、テスト部門のアウトソースまわりの機能も充実しています。

ユーザビリティ(UIの操作性・視認性)

綺麗にまとまっています。
テスト項目の編集はExcelライクな操作性でとっつきやすいです。

CAT テストケース

料金

10ユーザまで月額 ¥1,000、それ以上だと ¥2,320~になります。
フリーのトライアルは10日間。
ダウンロード版あり。

カスタマイズ

インシデントの種別・ステータス、障害レポートの内容、テスト項目の表示内容など。
追加・削除は主に「課題管理」で設定し、「サービス管理」「プロジェクト管理」などで選択する形です。

進捗管理

予定と消化数、障害件数と対応数の推移を折れ線グラフで確認できます。
グラフの下には数値テーブルがあり、日ごとの細かな実績が確認できます。
期間の指定、ユーザやテスト仕様書ごとの絞り込みも可能です。 

CAT 進捗管理

スケジュール管理はノーマルライセンスより。
見た目きれいなガントチャートが利用できます。
残念ながらスターターライセンスだと使えませんでした。

分析

バーンダウンチャート(予実管理)、プロジェクトの実施状況、メンバーの実施状況などがグラフや表で確認できます。

CAT 分析

言語

日本語/英語

外部連携

こちらもスターターライセンスだと利用できず。
BTS
 Redmine、JIRA、Backlog
・チャット
 Slack, Microsoft Team
・その他
 Git

・公開API
こちらはスターターライセンスでも利用可能です。
REST APIの他, グラフの外部参照なんかもできるようです。

構造

サービス
├ [ユーザー]
└ プロジェクト
 ├ 課題
 └ テスト仕様書
  └ シート
   └ テストケース
 

ここから各機能ごとの説明にうつります。 

サービス管理

プロジェクトの上位に位置する概念で、配下のプロジェクトに共通な設定ができるようです。
プロジェクトに参加する人の設定やチャットなどの連携設定、課題やテストケースの内容など様々な初期設定が可能です。

CAT サービス設定

プロジェクト管理

こちらが実質的な実行単位になりますね。
製品名なんかがこれにあたるのではないかと思います。
もしくはバージョンアップごとに作られる感じでしょうか。
サービス配下にしか作成できません。

CAT プロジェクト管理

ユーザ管理

部署、勤務地、プロフィール写真など、細かな設定が可能。
地味にログインIDとメールアドレスを別々にできるのがうれしい。
登録されたユーザはサービスに紐づけます。
管理者権限のあり/なしによって機能制限をかけられます。

CAT ユーザ管理

課題管理

いわゆるインシデント管理ですね。
テスト工程ではほぼ障害レポートで使用されます。

CAT 課題管理
各課題にはワークフローと呼ばれる障害管理プロセスの手順を設定できます。
インシデントの状態遷移がどのように流れるかの定義ですね。
実際に課題とワークフローを結びつけるのはプロジェクト管理の「課題の設定」で、ここでは課題とワークフローの定義だけできます。
課題の種別とステータスとの関係も「課題の設定」で行います。

CAT 課題管理


また障害レポート内容のカスタマイズも可能です。

システム管理

ログインの管理やアクセス制限などが設定できます。テスト工程をアウトソーシングしている場合にかなり便利そうですね。

CAT システム管理

テスト管理

テスト管理をクリックするとテスト仕様書の一覧が表示されます。これはテスト項目表ですね。

CAT テスト管理

テスト仕様書の中にはシートというものが存在し、各シートごとに列(テスト項目表のカラム)を設定できます。

CAT テスト管理

登録後にシートを編集したい場合は仕様書名を右クリックの「シート設定」でできます。

CAT テスト管理

仕様書名を左クリックすると、テストの実行画面のタブが新たに開きます。
まだテストケースが設定されていないので、ヘッダのバーガーメニューから「ケース編集モードに移動」します。

CAT テスト管理

CAT テスト管理

右端「+」シートを複数作成できます。またケースは「下に追加」で作成できます。バーガーメニューより「変更を保存」しないとデータが失われてしまうので要注意。一度編集モードに移ると「編集解除」しないとシート設定ができなくなるようです。

CAT テスト管理

テストの実行

仕様書名を左クリックすると、テストの実行画面のタブが新たに開きます。実行結果の「未実行」の部分をクリックするとテストの実行結果ステータスを変更できます。

CAT テスト管理

CAT テスト管理

テストの結果がNGであれば、「障害報告」ボタンからレポートを作成できます。

CAT テスト管理

障害レポートを登録するとバッジがつくのでそれをマウスオーバで編集できます。

だんだんやっていくとこんな感じになります。

CAT テスト管理

ステータス変化の履歴が見れます。列の内容が変わると履歴として残ります。

CAT テスト管理

プロジェクト選択状態からの上部メニュー「課題管理」からタイトルをクリックすると、レポートの状況がよくわかります。
下部履歴タブでワークフローの履歴が見れます。

CAT テスト管理

CAT テスト管理

進捗管理のテスト課題管理で見れるようです。

プロジェクト情報

プロジェクト情報の画面が表示されます。プロジェクトの概要、チームメンバー、進捗サマリー、テスト状況、課題状況を確認 できます 。

CAT プロジェクト情報