概要
直交表を用いて効率的なソフトウェアテストを設計する体系的な手法である「HAYST法」を解説する。
ソフトウェアテストの現状と、課題を分析したうえで、複数機能間の組合せを効率的にテストする手法として直交表を用いる方法を紹介する。テストの戦略の立て方、直交表の考え方と使い方、そして、直交表を実際の現場に導入する際の要点などをまとめる。
本書の使い方
基本的なソフトウェア開発及びテストの基礎知識は学習しておくことが望ましい。そのうえで、
第1章、第2章 テスト方法の現状と課題の解法を学ぶことができる。
第3章~第11章 HAYST法の具体的技法を学ぶことができる
第12章 HAYST法を組織的に進めるポイントを学ぶことができる。(マネージャ、管理者向け)
何を学べるか
第1章 ソフトウェアの現状
ソフトウェアの大規模化に伴い、市場に流出する不具合(バグ)が増大し、深刻な損害を及ぼしている現状を説明する。そのうえでバグ発生の原因として、単機能の不具合と、複数機能の組合せで起こるの不具合があることを説明し、それを未然に防ぐためにはそれぞれについて適切なテストが必要であることを解説する。
第2章 爆発するソフトウェアの開発とテスト
ソフトウェアの規模が指数関数的に増大し、それに伴い開発コード数およびテスト数も爆発的に増大している現状を説明する。とりわけ、テストでは機能間の組合せを考えなければならず、テスト数は理論的に天文学的な量になる。現在行われている品質保証とテスト技術の現状を概観した上で、「どこまでの組合せをテストすればよいのか」を考察する。その具体的な解決方法の一つとして直交表を用いたテスト設計技法である「HAYST法」を提案する。
第3章 直交表によるソフトウェアテストの概要
4章~11章で直交表を用いたソフトウェアテストを詳説するに先立ち、直交表の特徴と性質、直交表をソフトウェアテストに用いる上での考え方と手順、その実用上の問題点などを概説する。
第4章 HAYST法によるテスト戦略
HAYST法を実際にテスト業務に適用するうえで理解しておくべき前提条件、ならびに各テストフェーズ(コンポーネントテスト、統合テスト、システムテスト、受入れテスト)においてHAYST法を用いる際のテスト戦略の立て方を説明する。またテスト設計に際して最も大切な、「テスト対象の因子と水準を漏らさず抽出する」ための技法として、FV表とFL表の考え方と使用法を解説する。
第5章 HAYST法で使用する直交表
HAYST法で用いる直交について解説する。直交表の種類、因子数と水準数からどの大きさの直交表を用いるのかを見積る方法、直交表の作成方法、線点図を用いて直交表を多水準に変形する方法などを説明する。
第6章 直交表への割付けテクニック
第5章で作成した直交表に、実際のテスト対象の因子と水準を割り付けるテクニックについて解説する。
第7章 禁則の回避
同時に選択できない因子・水準の組合せを禁則と呼ぶ。本章では禁則が存在する場合の割り付け方法を解説する。
第8章 組合せ網羅率の検証
直交表に割り付けられたテスト対象の因子・水準の組合せのうち、どれくらい2因子間網羅が達成されているか、その「組合せ網羅率」を調べることで、作成したテストケースの品質と信頼性を検証する方法を解説する。
第9章 テスト実施とバグの解析法
直交表を用いたテストを実施する際の注意点と、テストで不具合を発見した場合の解析方法を解説する。
第10章 特殊な割付け
ソフトウェアテストでは、操作の順序によって発生するバグが存在する。そのようなバグを検出したい際には、操作順序を因子として割り付けることが有効である。本章ではその割り付け方法について解説する。
第11章 HAYST法の実際
HAYST法を実際にテストに適用した際に発生する問題点とその解決方法を解説する。あわせて、HAYST法を導入することにより、開発やテストの現場にどのような変化が現れたのかを述べる。
第12章 HAYST法の組織的展開
あらたな手法を組織に導入するにあたっては、失敗する例も少なくない。本章では著者がHAYST法を組織に導入してきた10年を振り返って、個人の経験や知識を「組織知」として展開する際の要点解説する。