書評「ソフトウェアテスト入門 押さえておきたい<要点・重点>」

書評「ソフトウェアテスト入門 押さえておきたい<要点・重点>」

ソフトウェア・テストPRESS編集部(編), 技術評論社

カテゴリ:テスト

概要

ソフトウェアテスト専門誌「ソフトウェアテストPRESS」から、「これからソフトウェアテストに関わる者として、最初に読んでもらいたい記事」を中心に抜粋し再編集した本。ソフトウェアテスト全体の概要、個々のテストの技法、テスト実務に役立つ手法の紹介、ドキュメントの読み方/書き方、テストエンジニアの育成・スキルアップまでを一冊に収める。「入門」としているが、実務に応用できる内容が多く、現在テストや品質に携わっている技術者、管理者にも薦めたい。

本書の使い方

内容は6つの独立したパートから構成されており、どのパートからでも読むことができる。
以下に目的に応じた、各パートごとの使い方をまとめた。

<Part 1 ソフトウェアテストの概要>
はじめてソフトウェアテストを学ぶ人、新社会人、学生の概要理解に適している。

<Part 2 ツールを活用した単体テストの進め方>
すでに開発スキルがあり、単体テスト経験もある開発者が、体系的に単体テストを学ぶのに適している。

<Part 3 組合せテストを効率的に行うテスト技法>
テスト設計経験のある、テスト担当者、開発設計者が、直交表を用いたテスト設計技法を学ぶのに適している。

<Part 4 頭と手で考えるテスト設計>
テスト設計経験のある、テスト担当者、開発設計者が、テスト設計の質を向上・改善するヒントを得るのに適している。

<Part 5 ドキュメントの読み方/書き方>
テスト設計経験のある、テスト担当者、開発設計者、管理者が、テストドキュメントの質を向上・改善するヒントを得るのに適している。

<Part 6 テストエンジニアのキャリアパス>
これからソフトウェアテストに携わる人、新社会人、学生が、スキルアップを目指す際の指針として参考になる。テスト担当者の教育に責任を持つ管理者が、人材育成計画を立てるときの参考としても好適

何を学べるか

Part 1 ソフトウェアテストの概要
テストの基本を学びたい、という人のために、 ①テストフェーズの基本的な流れ、②テスト手法や技法の基礎知識、③テストのプロに必要なスキル を説明する

第1章 テストはなぜ必要なのか
ソフトウェア開発において、テストがどのような位置づけで認識されているのかを再考する。そのうえで、テストの不備が、開発フェーズにおいて「手戻り」の原因となることを解説する。

第2章 プロセスで見るテスト
テストのライフサイクルを、計画・設計・実施・管理に分けて解説する。ソフトウェアテストドキュメント標準IEEE829を引きつつ、具体例を挙げて各フェーズの要点を解説する。

第3章 技法で見るテスト
様々なテストの手法/技法を、SWEBOKをベースに、様々な角度から体系的に分類・整理して解説する。合わせてテストのプロである「テストマスター」に求められるスキルを解説する。

Part 2 ツールを活用した単体テストの進め方
ツールを用いた「単体テスト」の進め方について解説する。 単体テストの考え方、テストツールの使い方、テスト項目の抽出法、単体テストの終了判定まで、事例を交えて、わかりやすく解説する。

第4章 単体テストの基礎知識
単体テストの基本的な考え方と、単体テストを効率的に行うためのツールである「xUnit」を紹介する。

第5章 テスト項目の抽出
単体テストにおいて用いられるテストの技法を、Junit/djUnitを用いて具体的に紹介する。ホワイトボックステスト技法として制御バステストとカバレッジを、ブラックボックステスト技法として同値分割、境界値分析、エラー推測を、事例に即してわかりやすく、その考え方と、テスト項目抽出方法を解説する。

第6章 どこで単体テストをやめるか?
「単体テストをどのくらい行えば十分か」の定義を、カバレッジ、レビュー、メトリクスの角度から考察する。

Part 3 組合せテストを効率的に行うテスト技法
ソフトウェアは「作る」ものから「選び組み合わせる」ものへと変化しつつある。テストにおいても、組合せテスト手法がますます重要になってきている。しかし、組合せテストはテスト項目が膨大になりがちであり、効率的な手法が必要となる。代表的な組合せテスト手法である「直交表」と「デシジョンテーブル」を解説する

第7章 はじめての直交表
組合せテストの難しさを考察し、実験計画法で用いられる「直交表」の紹介と、そのソフトウェアテストへの適用の有効性を解説する。

第8章 直交表の実践
直交表を用いたテスト設計の一連の流れを解説する。 テストに用いる代表値の抽出方法、因子/水準の決定、直交表の決定、線点図の組み替え、因子水準の割り付け、禁則の回避、完成したマトリクスのチェック、といった流れを、具体的な事例に即して手順を追って、わかりやすく解説する。

第9章 デシジョンテーブル活用の実践技法
単体テストのブラックボックステストにおいて、テスト項目を抽出する際に、「最適な組合せ」を効率的に導く手法として、デシジョンテーブルを紹介する。具体的な事例に即して手順を追って、わかりやすく解説する。

Part 4 頭と手で考えるテスト設計
テストの技法や知識さえ知っていれば、テスト設計を上手に行えるわけではない。仕様書を読む際に多くの気付きを得られる方法、テスト設計をする際に多くの観点を発想する方法を紹介する。

第10章 三色ボールペンで読む仕様書
良いテスト設計が書ける人ほど、仕様書に多くの書き込みを行い、多くの情報を読み込んでいる。本章では、仕様書を読む際に、3色ボールペンをルールに従って色分けして、書き込みをすることで、テストに結びつく、多くの気付きが得られることを、事例に沿いながら解説する。

第11章 マインドマップから始めるテスト設計
マインドマップをテスト設計の際に活用することで、テストケースの質が向上する。 本章では「発想を広げるツール」としてマインドマップを、テスト設計に用いる際の有効性とその具体的な方法を、事例に即して紹介する。

Part 5 ドキュメントの読み方/書き方
テストプロジェクトの成否は、テストドキュメントの質に大きく依存している。テストドキュメントを効果的にレビューする方法、失敗しないドキュメントの書き方を紹介する。

第12章 テスト仕様書のレビューテクニック
本章では、「テスト仕様書」の重要性と、そのレビューの難しさを述べ、テスト仕様書を効果的にレビューするコツ/観点を、具体例を挙げてわかりやすく解説する。

第13章 テストドキュメントの書き方
失敗するプロジェクトのドキュメントは、ドキュメント間が互いに関連付けられていないものが多い。本章では、ドキュメントを書く際に失敗せず、テストの低コスト化につながるポイントとして、「ドキュメント間のリレーション」と「テストの資産化」に注目して、解説する。

Part 6 テストエンジニアのキャリアパス
テストエンジニアの重要性が高まるにつれ、組織としていかにテストエンジニアを育成し、キャリアパスを整備するか、個人としていかに自己スキルアップするかが重要になってくる。テストエンジニアに求められるスキルとキャリアパス、人材育成の取り組みについて解説する

第14章 キャリアパスと必要なスキル
テストのプロであるテストエンジニアには、どのようなスキルが要求されるのか。そしてどのようキャリアパスがあるのか。ISTQBシラバスに沿って、テストフェーズ毎にエンジニアに求められるスキルを検討する。あわせてETSS(組込み分野向けスキル標準)にそって、スキルレベルに対応するキャリアパスを俯瞰する。そのうえで、テストエンジニアに求められるスキルを考察する。

第15章 スキルアップのための取り組み
現在、一般ではどのようにしてテストエンジニアを育成しているのか。「育成する立場」と「育成される立場」、「組織的な教育システム」と「自己スキルアップの場」の観点から、さまざまの取り組みを紹介する。