pr

「最終テスト」はアウトソーシングの時代

日常生活や業務システムにWebアプリケーションが浸透にするにつれ、重要度を増しているのが、ユーザー視点による最終テストだ。だが、スケジュール/コストという制約の中で、この最終テストを省いてしまうケースも少なくない。重要なのに種々の事情で“できない”最終テストを、“できる”ようにするのが、テクマトリックスの「Webアプリケーションテスト支援サービス」。なぜ本サービスなら最終テストが“できる”のか。その理由を見ていこう。

    最終テストは開発者の「義務」

 近年、われわれの生活にWebアプリケーションは必要不可欠なものとなっている。買い物だけにとどまらず、旅行の予約や切符の手配、銀行口座の開設、送金など日常生活から、企業内における情報共有やスケジュール管理、企業間取引に至るまで、Webアプリケーションを使って業務を進めることが、当たり前となってきた。技術進歩に伴い、Webアプリケーションの適用範囲が広がってきたためだ。

 これにより、Webアプリケーションにも、ますますミッションクリティカルな性能・品質が求められている。特に、不特定多数のユーザーが使うECサイトのようなサービスでは、バックエンドのサーバ性能もさることながら、“使い勝手”の品質がものをいう。使い勝手が悪ければ、ユーザーの心証を害し、販売機会を失うどころか、2度とそのサイトには来てくれなくなるかもしれない。

 このように、ユーザー視点でWebアプリケーションの品質を検証するのが「最終テスト」だ。業務システム開発ならば、「出荷判定テスト」もしくは「受け入れテスト」とも呼ばれる。最終テストの目的は、単体/結合テストや負荷テストなどを経たうえで、ソースコードレベルではなく、ユーザー視点でさまざまな動作を走らせ、不具合が発生するかどうかを検証するもの。使い勝手に対し、シビアな評価を下すユーザーのことを考慮すれば、外してはならない大切な工程だ。

 ところが開発現場では、この最終テストを省略してしまうケースがある。その理由は、スケジュールとコストの都合によるものがほとんどだ。また「単体テストで、機能の不具合は解消されているはずだから、最終テストは必要ない」という言い分もあるだろう。だがユーザーから見たら、これらはすべて言い訳だ。

 Webアプリケーションとして業務システムを構築した場合、Webブラウザの[戻る]ボタンを押しただけでシステムエラーになり、DBを再起動するまでログインできなくなる、Webブラウザの反応が遅く、ボタンを二度押ししたら二重発注になってしまった、入力フィールドの文字列がデータベースにきちんとポストできないなど、ちょっとした動作の不具合で、大損害をこうむることもある。こうした事故が発生したとき、開発側は「スケジュールの都合で最終テストを省いた」「単体テストを行ったので、大丈夫だと思った」といえるだろうか。

 この言い訳を封じ込め、ユーザー視点から見て品質の高いWebアプリケーションの開発を支援するのが、テクマトリックスの「Webアプリケーションテスト支援サービス」だ。

    最終テストをアウトソーシングする3つの利点

 Webアプリケーションテスト支援サービスとは、ECサイトなどのWebサービス提供企業、またWebアプリケーションを開発するSI企業に向け、最終テスト工程すべてを一括で請け負うサービスだ。開発側で用意するものは、仕様書や画面遷移図、機能一覧などのドキュメント類、そしてテスト用の環境とリリース版のアプリケーションだけ。テクマトリックスの技術者が、これらの資料をもとにヒアリングを行い、テスト項目やテストケースを作成し、要員を集めてテストを実施、障害報告と評価をレポートする。同社からは、図1にある緑色の項目がすべて成果物として納品される。

Webアプリケーションテスト支援の業務フロー
(図1)きめ細かく、着実にテストを行う(クリックで拡大)

 本サービスのメリットは3つある。第1に、第三者視点でテストすることで、開発者自身が見逃しがちな障害を発見できること。開発者だと、機能や仕様を熟知しているため、逆に「自分が知っている範囲」でしかテストしないケースがある。

 例えば、「入力フィールドの文字数は全角20字まで」という仕様があったら、「20字入力できればそれで良し」と判断してしまう。だが何も知らないユーザーが使ったら「21字以上入力できてしまう」こともあり得る。そのためバックエンドのデータベースで入力値がエラーとなり、処理ができない事態が発生したら、それはシステム障害となる。

障害レポートのイメージ
(図2)障害レポートのイメージ(クリックで拡大)

 実際、同社から提出される障害レポート(図2)を見ると、思いもかけないページに不具合が発生していることが多い。検索や登録など、ユーザーの動作を要するページに関しては、開発者の“思い込み”を捨て、ユーザー視点であらゆる不具合リスクを検証する必要があるのだ。

 第2に、コストやスケジュールに合わせ、柔軟なテスト計画をプランニングできること。自らも受託開発やパッケージ開発、各種IT製品の提供/カスタマイズを手がけるテクマトリックスだからこそ、テスト項目の洗い出しやテストケースについてノウハウを蓄積している。普通に考えれば、何種類もあるWebブラウザやOS環境に合わせ、何千〜何万ものテストケースを用意しなければならないが、開発スケジュールとコストを加味して優先順位を付け、重要度の高いテストケースから着手することで、クリティカルな不具合を確実に解消していけるわけだ。

 また、テスター要員についても、コストとスケジュールを加味し、最適なスキルを持つ人員を集められるという利点もある。Webサービス会社/開発会社だけで人員を集めようとし、ほかの業務部門の仕事を侵害するケースもあるが、テスト工程を一括アウトソーシングすれば、そうした手間隙は一切かからない。やり方によっては、テストと修正作業を並行して進められるので、むしろ納期短縮につながることもある。この点も、第三者のテストチームと開発チームを切り分けるメリットだ。

開発工程とテストの手順
(図3)開発とテストを同時に進められるうえ、コストメリットも大きい(クリックで拡大)

 第3として、開発チーム自体の開発スキル/テストスキルが向上すること。テスト結果だけでなく、テスト項目やテストケース自体も成果物として納品することで、開発チーム自体にテストのノウハウがフィードバックされるからだ。一度本サービスを受ければ、以降クリティカルなテストだけは以前のテストケースを参考に開発チームで実施し、より詳細なテストに関しては再度テクマトリックスに依頼するなど、柔軟なアウトソーシングが可能になる。

 
    テクマトリックスだからあらゆる要件に対応できる

 このサービスの最大の特徴は、テクマトリックスが持つ開発/テストノウハウを最大限に提供することにある。例えば、「度重なる追加開発で、きちんとしたドキュメントがそろっていない」というケースでも、実アプリケーションを検証して、基本的な仕様や画面遷移を洗い出し、そのレビューを受けたうえでテストケースを策定することもあるという。

 また、テストケースにしても、クリティカルレベルに応じて3〜5段階に分け、ニーズに合わせてパターンを提示するので、漏れが少ない。具体的には「Webブラウザの[戻る]ボタンを使ったときの動作」など、機能レベルの検証から、Webブラウザ/OS環境に依存する不具合のパターン、レイアウトや誤字・脱字のチェックという見栄えに関するものまで、あらゆるレベルのテストケースを用意している。

 例えば、ユーザーも環境も限定されたイントラネットならば、環境依存に関するテストは少なくて済むが、ECサイトなど不特定多数のユーザーを相手にする場合、シェアが数%しかないWebブラウザを対象にしたテストは外せない。PCだけでなく、場合によっては携帯サイトの検証も必要になる。

 実際、同社がある銀行システムの開発・テストを一括して請け負った際は、PCのWebサイトとともに携帯サイトの口座開設ページもテスト範囲に含まれていたが、ノウハウを持つテスト部隊を1つに集約することで、テスト工程がスムーズに進み、システムの品質向上に貢献したという。  

 自らも、エンタープライズシステムの開発を手がけるテクマトリックスだからこそ、スケジュールやコストの制約がある開発サイドの事情も理解している。だからこそ、システムの品質を左右するのが最終テストにあることも分かっている。ともすれば相反する2つのニーズを熟知しているからこそ、画一的なテストではないきめ細かなサービスが可能なのだ。

 こうした意味で、このWebアプリケーションテスト支援サービスは、開発者/エンドユーザーの信頼をつなぐ架け橋といえるだろう。

ホワイトペーパーダウンロード

Webアプリケーションテストのテストケースとそのケースから発見された不具合の事例を解説するとともに、第三者検証の有効性を検証する。

 Webアプリケーション開発において品質向上や業務向上を図るには、バグ発生を最低限に抑えることが要求される。しかし、すべてのバグを事前に発見するのは難しい。
 このホワイトペーパーでは、様々なテストを実施していたにも関わらず、最終フェーズの第三者検証にて不具合が検出された実際の事例を紹介。 Webアプリケーション開発及び第三者検証の実績を多数持つテクマトリックスだからこそ知りえるその実例に基づき、 第三者観点(ユーザー視点)でのテストの有用性、有効性などについて説明する。

 

提供:テクマトリックス株式会社
企画:アイティメディア 営業本部
制作:@IT情報マネジメント 編集部
掲載内容有効期限:2008年7月25日

関連リンク
ウェブアプリケーションテスト支援サービス
ウェブアプリケーション品質向上に向けた秘密の技法・ノウハウを伝授!【ウェブアプリケーションテスト支援サービス無償セミナー】 のご案内
導入事例紹介

ホワイトペーパーダウンロード

 Webアプリケーション開発において品質向上や業務向上を図るには、バグ発生を最低限に抑えることが要求される。しかし、すべてのバグを事前に発見するのは難しい。
 このホワイトペーパーでは、様々なテストを実施していたにも関わらず、最終フェーズの第三者検証にて不具合が検出された実際の事例を紹介。 Webアプリケーション開発及び第三者検証の実績を多数持つテクマトリックスだからこそ知りえるその実例に基づき、 第三者観点(ユーザー視点)でのテストの有用性、有効性などについて説明する。