そのテスト方法って私が知ってるのと違う?代表的な「ソフトウェアテスト」の役割と流れを整理しておこう!

オフィスで働く二人の男性

更新日:2017年10月12日 | 公開日:2015年03月12日

開発者テストには大きく分けてこれまでの主流「ウォーターフォール型」のテストと「アジャイル型」開発での新しいソフトウェアテスト手法があります。
調査会社(Forrester Research)によれば世界的にはウォーターフォール13%、アジャイル開発35%とすでにアジャイル型が従来型を上回っています。
日本ではどうかというと、ウォーターフォール開発が51.2%、アジャイル開発が19.1%となっています。
これはただ単純に日本の開発手法が遅れているというわけでもなくて、日本型の取引慣行などにウォーターフォール開発が適している例もある、という指摘もあります。

ここでは、そのあたりの事情の説明はひとまず脇に置いておいて、この二つの開発手法の違いを整理し、それぞれの「テスト」の役割を整理します。

「ウォーターフォール型」と「アジャイル型」で「テスト」の役割はけっこう違う!

「アジャイル型」開発とテストの位置づけ

アジャイルとは「すばやい」「俊敏な」という意味で、「反復」 (イテレーション) と呼ばれる短い開発期間単位を採用することで、開発のリスクを最小限にしようとする開発手法です。
先ほどの「ウォーターフォール型」の場合には最終ソフトウェアテストは、最初の設計どおりに動くかどうかの確認でしたが、アジャイル型開発の場合には、ユーザーからのフィードバックを尊重し、ソフトウェアのロジックプロセスそのものを見直したりもします。
したがって、アジャイル型のソフトウェアテストの場合、短期間(例えば2週間)に「範囲の要求の決定、実装、テスト、修正、リリース」を行い、オッケーであれば次に進むという形でテストをクリアしていきます。

ウォーターフォール型開発のテストの種類と流れ

◆テストの手法も「ウォーターフォール(滝)」のようにトップダウンで工程順に流れていきます。

1.【モジュールテスト】(ユニットテスト)
2.【ソフトウェア結合テスト】
3.【システム結合テスト】(システムテスト)
4.【承認テスト】(受入れテスト)
5.【運用テスト】(導入テスト)

アジャイル型のテストは顧客に「食べられるショートケーキ」を出すチェック

このような「ショートケーキ作り」型のテスト手法を【テスト駆動型】開発手法と言います。

テストファーストによって開発を進める開発手法で、「アジャイル宣言」で有名なケント・ベックが手法として提唱し、アジャイル開発プロセスで普及しています。

【まとめ】テストの種類を覚えるというよりは、そのソフトウェアテストの役割を理解しよう!

以上、「ユーザーテスト」「開発者テスト」「品質保証テスト」の中の「開発者テスト」に的を絞った上で、さらに代表的な開発手法である「ウォーターフォール型開発」と「アジャイル型開発」に焦点を当て、それぞれのソフトウェアテストの役割を見てきました。

情報処理試験では「どんなテストがありますか?」のような問題がでるわけですが、実際の現場では「なぜそういうテスト手法が必要とされるのか」を理解する必要があります。

今回のまとめは、「ソフトウェアテスト」の入り口部分で迷わないように簡単に道順の整理をしたものです。
ここに出てきた用語についてさらに理解を深めて、案件ごと、開発フェーズごとにさまざまなソフトウェアテストを使いこなせるようにしましょう!

いま知りたいこと
コンシェルジュが解決します!

コンシェルジュサービスは
3万社以上が利用している無料の相談サービスです。

コンシェルジュ