unoh.github.com

アジャイル開発におけるテストについて(その1)

Tue Jan 04 17:43:42 -0800 2011

初めまして、11月に入社したQA担当のものです。

短期間の開発はどうしても少ない工数でテストを実行したい...と、だんだん重要になってくる。その中でアジャイルテスティングが最も有効で、尚且つ効率で不具合を発見できる方法と思います。

アジャイルテストは反復 (イテレーション) と呼ばれる短い期間単位を採用することで、リスクを最小化しようとしている。アジャイルテストは4象限の分類で説明されている。

概要は以下のとおり。

  1. 第1象限はチームを支援する技術面のテスト
    → テスト駆動開発などアジャイル開発の中心

  2. 第2象限はチームを支援するビジネス面のテスト
    → 顧客の視点からのハイレベルの機能テストなど

  3. 第3象限は製品を批評するビジネス面のテスト
    → ユーザー受入テスト、探索的テストなど

  4. 第4象限は技術面のテストを使った製品の批評
    → パフォーマンステスト、セキュリティテストなど



この4現象に分けて、テストチームとアプリケーションにあわせテストを行っていく。

こちらの4象限をテスト対象物にあわせ、決められた期間で有効にアジャイルプロセスを実行するために、可能な限りプランニングし、スケジューリング・要件定義・観点・テスト種類/技法・テストツールを決める。また、長期間ならWork Breakdown Structure(WBS)がプロセスと進捗管理の全体を細かく作業に分割し、管理するのが理想だが、短期間の場合はテストの観点とテスト技法に重点を置くこと。

テスト作業については以下のように含まれる。



このような手法で繰り返すテストすることでより堅牢かつ高品質のアプリケーションを目指せると思う。初めての記載だが皆さんに参考できると願います。もちろんテスト担当者はそれぞれのやり方があるので、ご意見・ご指摘をぜひお願いします。

次回は更にアジャイルテストとは別でこれからも注視したいテスト方法を紹介する予定。ご期待ください。