開発のボトルネックはどこだ?―迷えるマネージャのためのプロジェクト管理ツール再入門

第11回テストにもっと光を! 言うは易く行うは難し。テスト工程を改善しよう!(前編)

みなさんはソフトウェア開発においてどのようなテストを実施されているでしょうか。単体テスト、結合テスト、総合テストなど、さまざまなテストを実施されていることと思います。では、これらのテストをどのように計画・実行し、管理されているでしょうか。

ソフトウェアの品質を向上・維持していくうえで、テストは非常に重要です。今回は、その重要性が指摘されながら、あまり取り上げられることがなく、開発の花形である設計やプログラミングに比べて少々地味な役回りのテストについてお話したいと思います。

現状の課題

昨今のソフトウェア開発環境はめまぐるしく進化を続けており、開発サイクルはますます早くなっています。便利で使いやすいライブラリやフレームワーク、ビルドを自動化する継続的インテグレーション(CI)など、有償・無償を問わず、さまざまなツールやサービスが提供され、開発者にとってたいへん便利な時代になりました。

ソフトウェアの開発サイクルが短くなる中で、テストの位置付けはどうでしょうか。テスト駆動開発(TDD)やCIを活用したテストの自動化など、高品質なソフトウェアを作るしくみは整備されてきました。テストの実行はすべてCIに任せているよ、という方々もいらっしゃると思います。しかし、納期とコストに追われた開発現場において、テストのすべてを自動化するのはとても困難であり、日々悩みを抱えている開発リーダーも多いのではないでしょうか。

TDDやCIが開発現場で広く受け入れられているのは、高品質なソフトウェアを作りたいというニーズの高まりであり、テストの重要性が認知されつつあるのは喜ばしいことです。しかしながら、単体テストはxUnitで自動化、それ以降のテストは手動で行う、といった現場が多いことも事実です。

課題は手動のテストがどのように実施されているかということです。おそらく一番多い手法は、Excelなどの表計算ソフトを使う方法だと思います。テスト項目表に従ってテストを実施し、不具合が見つかったら障害票を起票し、開発者による修正を経て、再度テストを実施するという流れです。障害票の起票には、Excelによる課題管理表、またはJIRAやRedmineなどの課題管理システムがよく使われます。

図1は、Excelによるテスト項目表の例です。テスト手順、確認項目、結果、日付、担当者などの項目が並んでいます。プロジェクトによって多少の違いはあるものの、おそらく似たような形式になるのではないでしょうか。

図1 Excelによるテスト項目表の例
図1 Excelによるテスト項目表の例

Excelによるテスト項目表は長年利用されており、メリットも多くあります。たとえば、学習コストの低さです。特別なトレーニングを受けなくても、テスト項目の作成や実施ができるようになるはずです。自由度の高さもExcelならではでしょう。列を追加したり、シートをコピー&ペーストで増やしたり、プロジェクトのニーズに合わせて自由に拡張できます。

しかし、この方法によるテストでは次のような課題・問題点があるように思います。

テスト結果の集計が難しい
筆者の実体験では、Excelシートにマクロを埋め込み、件数をバッチで集計するプロジェクトもありましたが、テストの進捗をリアルタイムで計るのはなかなか骨の折れる作業です。件数を手でカウントしているような場合は、常に最新の進捗状態を把握するのは至難の業です。
テスト項目と障害票の紐付けが手間
テストをすれば何らかの不具合が見つかります。そのとき、テスト項目表に障害票の番号を手動で記入していませんか?
テスト項目とエビデンスの紐付けがめんどう
テストの証跡として、または不具合発生時の再現テスト用に画面ショット、ログファイル、設定ファイルなどをファイルサーバにコピーする光景をよく目にします。フォルダ管理をきっちりしないと、ファイルが迷子になったり、テスト項目との紐付けで悩むことが多くあります。
どのバージョンでテストしたのかわからなくなることがある
テスト対象のシステムやプログラムのバージョン管理は労力を要します。テスト担当者に話を聞いてみたら、最新版ではないバージョンでテストを実施していた、なんてことも。
テスト担当者、開発者、管理者のコミュニケーションが取りづらい
テストで何らかの問題が発生し、開発者による修正が入る場合、テスト→修正→テスト→修正→……といったサイクルをうまく回すには、Excelによる管理では困難を伴います。不具合が増え、納期に追われるとテストの工程はだんだんと厳しくつらいものになっていきます。

こうしてみれば?

これまでの連載でも、Excelを使ったプロジェクト管理をJIRA(Atlassian社の課題管理システム)へ置き換える提言をしてきました。テストの管理においてもテスト管理ツールの活用を考えてみてはいかがでしょうか。

今回ご紹介するツールは、Zephyr for - JIRA Test Management(以下、Zephyr)です。Zephyrは米国のZephyr社が開発しているJIRA向けのアドオンです。このツールを導入すると、テスト項目の作成やテスト結果の記入をWebブラウザ上でできるようになります。JIRAはサーバで動作するWebアプリケーションなので、複数人の同時編集も可能になりますし、テスト内容の検索やレポート出力も簡単です。

テストの実施状況(何%完了して、不具合が何件発生しているのか)といったリアルタイムな情報も、常に最新の状態をJIRAのダッシュボードに表示しておくことができます図2⁠。

図1 テストの進捗状況が把握できるダッシュボード
図1 テストの進捗状況が把握できるダッシュボード

後編では、Zephyrを使ったテストの管理を手順を追いながら見ていきます。どんな点がユーザから評価されているのかを感じていただければと思います。

Atlassian Expertsの盾には
2015年のアジアパシフィック市場において
トップセラーを証す刻印が…
Atlassian Expertsの盾には2015年のアジアパシフィック市場においてトップセラーを証す刻印が…

日本だけでなく、アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、各アトラシアン製品の体験版を提供しているほか、アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!

リックソフトJIRAデモ環境
https://www.ricksoft.jp/demo/

おすすめ記事

記事・ニュース一覧