ソフトウェアテスト入門 押さえておきたい<<要点・重点>>
2008年4月17日紙版発売
ソフトウェア・テストPRESS編集部 編
A5判/224ページ
定価2,178円(本体1,980円+税10%)
ISBN 978-4-7741-3454-3
書籍の概要
この本の概要
本書は,ソフトウェアの品質に注目したテスト専門誌『ソフトウェア・テストPRESS』Vol.1~4の掲載記事から,ソフトウェアテストに関わるエンジニアやプログラマとして,ぜひ最初に読んでおいてもらいたい記事を中心に,再編集した書籍です。
ソフトウェアテスト全体の流れを理解することから,ツールを活用した単体テストの進め方,直行表/デシジョンテーブルなどの技法の適用方法,三色ボールペンやマインドマップの利用といった手を動かしながらテストを考える内容,テストドキュメントの読み方/書き方,テストエンジニアのキャリアパスとスキルなど,ソフトウェアテストに関わるさまざまな場面で応用できる知恵を得ることができる内容となっています。
こんな方におすすめ
- テストエンジニアとしての基本を固め,専門性を高めたい方
- 開発と検証(ソフトウェアテスト)を効率的に行いたいプログラマ
この書籍に関連する記事があります!
- ソフトウェアのテストが大変なことになっています
- あきらかにコンピュータが動いてるとわかるものから,一見なんのためにコンピュータを使っているのかわからない製品まで,近頃はなんでもかんでもソフトで動くようになりました。
本書のサンプル
本書の一部ページを,PDFで確認することができます。
- サンプルPDFファイル(209KB)
本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。
目次
【Part 1】ソフトウェアテストの概要
第1章 テストはなぜ必要なのか―― 不幸な“手戻り”を呼ぶテストの不備
- 1-1 はじめに
- 1-2 ちゃんとテストしていますか?
- 1-3 テストは開発工数を増やすだけなのか?
- 1-4 テストの印象は?
- 1-5 テスト担当の立場から
- 1-6 テストで防ぎたいこと
- 1-6-1 開発での手戻りの影響
- 1-6-2 テストの不備による影響
第2章 プロセスで見るテスト―― テストの計画・設計・実施・管理
- 2-1 はじめに
- 2-2 テスト計画
- 2-2-1 品質保証のタイプ
- 2-2-2 IEEE829とテスト計画書の位置付け
- 2-2-3 テスト計画の中身
- 2-3 テスト設計
- 2-3-1 テスト設計の流れ
- 2-3-2 テスト設計のアウトプット
- 2-4 テスト実施
- 2-4-1 テスト実施の前準備
- 2-4-2 そして,テスト実施へ
- 2-5 テスト管理
- 2-5-1 テストをコントロールするとは
- 2-5-2 人,もの,金の管理
- 2-5-2 テストでのリスク管理
- 2-6 まとめ
第3章 技法で見るテスト―― SWEBOKをベースに体系的に分類
- 3-1 はじめに
- 3-2 ①静かなテストと動きのあるテスト
- 3-2-1 人による静的テスト
- 3-2-2 機械的な静的テスト
- 3-3 ②外見や内面で確認するテスト
- 3-3-1 外見を確認するブラックボックステスト
- 3-3-2 内面を確認するホワイトボックステスト
- 3-3-3 外見と内面を両方見るグレーボックステスト
- 3-4 ③レベルで分けるテスト
- 3-4-1 開発レベルごとのテスト
- 3-4-2 目標レベルごとのテスト
- 3-5 ④コンテキストで分けるテスト
- 3-5-1 テスト担当者の直観と経験に基づく分類
- 3-5-2 仕様に基づく分類
- 3-5-3 コードに基づく分類
- 3-5-4 フォールトに基づく分類
- 3-5-5 利用に基づく分類
- 3-5-6 アプリケーションの性質に基づく分類
- 3-6 テストマスターへの道
【Part 2】ツールを活用した単体テストの進め方
第4章 単体テストの基礎知識―― 誰が何のために何をテストするのか
- 4-1 はじめに
- 4-2 単体テストとは
- 4-2-1 誰がするのか?
- 4-3 単体テストの技法
- 4-4 テストフレームワーク xUnit
- 4-5 まとめ
第5章 テスト項目の抽出―― ホワイトボックステストとブラックボックステスト
- 5-1 はじめに
- 5-2 制御パステストとカバレッジ
- 5-2-1 ステートメントカバレッジ
- 5-2-2 ブランチカバレッジ
- 5-2-3 ステートメントカバレッジとブランチカバレッジの関係
- 5-3 同値分割で仕様パターンを網羅する
- 5-3-1 同値クラスとは
- 5-3-2 分割の仕方
- 5-3-3 同値分割の実践
- 5-4 境界値分析でバグを叩こう
- 5-4-1 テスト項目の作り方
- 5-4-2 境界値分析の実践
- 5-5 エラー推測で徹底的にバグをつぶそう
- 5-6 テストは両方ともやるの?
- 5-7 まとめ
第6章 どこで単体テストをやめるか?―― テストの十分性を確保するための3つの手法
- 6-1 はじめに
- 6-2 カバレッジによる十分性チェック
- 6-3 レビューによる十分性チェック
- 6-4 メトリクスによる十分性チェック
- 6-4-1 試験密度
- 6-4-2 バグ密度
- 6-5 十分性を確保するために
- 6-6 おわりに
【Part 3】組合せテストを効率的に行うテスト技法
第7章 はじめての直交表―― 組合せ数をどうやって減らすのか?
- 7-1 テストの考え方の基本
- 7-1-1 ソフトウェアは「作る」時代から「組み合わせる」時代へ
- 7-1-2 組合せテストの難しさ
- 7-1-3 実験計画法の歴史
- 7-2 直交表とは
- 7-2-1 割り付けの基礎
- 7-2-2 直交表を使う意義
- 7-3 カバレッジ率について
- 7-3-1 2機能間のカバレッジ率を上げるだけでよいのか
- 7-4 おわりに
第8章 直交表の実践―― テスト設計におけるHAYST法の基礎と実践
- 8-1 はじめに
- 8-2 組合せテストを実施する前に
- 8-2-1 同値分割
- 8-2-2 境界値分析
- 8-2-3 代表値の選び方
- 8-3 直交表によるソフトウェア設計の流れ
- 8-4 [1]因子/水準の決定
- 8-4-1 因子の選び方
- 8-4-2 水準の選び方
- 8-5 [2]直交表の決定
- 8-5-1 直交表サイズの決定
- 8-5-2 直交表の作成
- 8-5-3 多水準直交表への変形
- 8-6 [3]線点図の組み換え
- 8-7 [4]因子/水準の割り付け
- 8-7-1 線点図より水準数が少ないとき
- 8-7-2 線点図より水準数が多いとき
- 8-8 [5]禁則の回避
- 8-8-1 禁則マトリクスの作成
- 8-8-2 排他的因子融合手法
- 8-9 [6]完成したマトリクスのチェック
- 8-10 テストの実施
- 8-11 テストの結果分析
- 8-12 All-pair法との比較
- 8-13 おわりに
第9章 デシジョンテーブル活用の実践技法―― 単体テストにおける組合せテストの効率化
- 9-1 はじめに
- 9-2 テスト項目抽出技法
- 9-2-1 複数の項目がある場合はどうする?
- 9-3 デシジョンテーブルとは
- 9-3-1 単体テスト用のデシジョンテーブル
- 9-4 デシジョンテーブルを用いたテスト項目の抽出
- 9-4-1 同値分割を用いて有効値と無効値を選択する
- 9-4-2 境界値分析を用いてテストデータを選択する
- 9-4-3 組合せをデシジョンテーブルにまとめる
- 9-5 テスト項目に漏れがないかの確認
- 9-6 おわりに
【Part 4】頭と手で考えるテスト設計
第10章 三色ボールペンで読む仕様書―― 仕様の不備をみるみる浮き彫りにする魔法のテスト設計
- 10-1 良いテスト設計ができる人とは
- 10-2 本稿でのルール
- 10-2-1 緑の効果
- 10-3 実践! 三色ボールペンを用いたテスト設計
- 10-4 解説
- 10-5 まとめ
第11章 マインドマップから始めるテスト設計―― 気づきや発送を促し,活用するテスト設計手法
- 11-1 なぜテストでマインドマップなのか
- 11-2 マインドマップの特徴
- 11-2-1 マインドマップの12のルール
- 11-2-2マインドマップの描き進め方
- 11-3 マインドマップを使ってテスト設計
- 11-3-1 テスト設計はモデリング
- 11-3-2 マインドマップとテスト設計の関係
- 11-4 マインドマップでテスト設計
- 11-5 マインドマップによる効果と注意事項
- 11-5-1 マインドマップによる効果
- 11-5-2 マインドマップをテスト設計に使うときの注意点
- 11-6 最後に
【Part 5】ドキュメントの読み方/書き方
第12章 テスト仕様書のレビューテクニック―― レビュー専門家がこっそり教えます
- 12-1 テスト仕様書の重要性
- 12-1-1 テストと外科手術
- 12-2 テスト仕様書の特性
- 12-2-1 2つの構成要素
- 12-2-2 レビューの難しい仕様書
- 12-3 テスト仕様書のレビュー
- 12-3-1 テスト仕様書をレビューする目的とは?
- 12-3-2 テスト仕様書の何をレビューするのか?
- 12-3-3 いつレビューするのか? どこまでレビューするのか?
- 12-4 テスト仕様書レビューのコツ
- 12-4-1 観点①:テスト仕様書があるか?
- 12-4-2 観点②:このテスト仕様書はどこから来たのか? 何をもとに作成したのか?
- 12-4-3 観点③:全体計画と詳細テスト仕様に分かれているか?
- 12-4-4 観点④:テスト計画より前にテストケースが設計されていないか?
- 12-4-5 観点⑤:メトリクスに関する記述に着目せよ?
- 12-4-6 観点⑥:書いていないことに対するテストケース設計
- 12-4-7 観点⑦:テスト内容に十分性を証明できるか?
- 12-4-8 観点⑧:その他
- 12-5 まとめ
第13章 テストドキュメントの書き方―― プロジェクトの成否の鍵はドキュメントにあり
- 13-1 プロジェクトを成功させるドキュメントとは?
- 13-1-1 ドキュメント間のリレーションを理解する
- 13-1-2 テストの資産化がテストのコスト低減への近道
- 13-2 工程別ソフトウェアテストのドキュメント
- 13-2-1 テストドキュメントの単位
- 13-3 過去を活かすテスト要求分析[テスト計画編]
- 13-3-1 テスト要求分析/テスト計画はこう書こう!
- 13-4 開発のドキュメントを流用する[テスト設計編]
- 13-4-1 テスト設計のドキュメントはこう書こう!
- 13-5 怒涛のテスト実行[不具合報告編]
- 13-5-1 テスト実行(不具合報告書)のドキュメントはこう書こう!
- 13-6 祭りのあとのテスト評価[報告編]
- 13-6-1 テスト評価/報告書のドキュメントはこう書こう!
- 13-7 成功プロジェクトに学べ
【Part 6】テストエンジニアのキャリアパス
第14章 キャリアパスと必要なスキル―― 創造的な“テストのプロ”になるために
- 14-1 テストのお仕事 ~専門性とは~
- 14-2 テストのための戦略と戦術
- 14-2-1 ①テスト計画作業とコントロール
- 14-2-2 ②テスト分析と設計
- 14-2-3 ③テストの作成と実行
- 14-2-4 ④終了基準の検証とレポート
- 14-2-5 ⑤終了作業
- 14-3 テストエンジニアのキャリアパス
- 14-3-1 ①エントリレベル
- 14-3-2 ②ミドルレベル
- 14-3-3 ③ハイレベル
- 14-4 テストエンジニアに必要なスキル
- 14-4-1 テクニカルスキル
- 14-4-2 プロフェッショナルスキル
- 14-4-3 ドメインスキル
- 14-4-4 テスティングスキル
- 14-4-5 品質マネジメントスキル
第15章 スキルアップのための取り組み―― 組織の外にも目を向けてみよう
- 15-1 組織的な教育システム
- 15-1-1 社内の教育システム
- 15-1-2 ローテーションによる効果
- 15-2 自己スキルアップの場
- 15-2-1 “社外”の活用
- 15-2-2 コミュニティに参加する ~TEF~
- 15-2-3 シンポジウムの活用 ~JaSST~
- 15-2-4 ワークショップの活用 ~WACATE~
- 15-2-5 資格試験の活用 ~JSTQB~
- 15-3 まとめ
この本に関連する書籍
-
[改訂版]演習で学ぶソフトウェアテスト 特訓150問――JSTQB認定テスト技術者資格 Foundation Level対応
本書は,JSTQB(Japan Software Testing Qualifications Board)が開催しているテスト技術者資格Foundation Levelの受験者,そして国際的なソフトウェアテストの考え方...
-
ソフトウェア・テストPRESS Vol.10
特集1 今こそ聞きたい テストの上流設計 良いテストケースを書くためにはテスト設計が必要です。しかし,ただ設計をするといっても,いきなり技法を使えば良い...
-
いちばんやさしいソフトウェアテストの本
年々大規模化・複雑化するソフトウェア開発では,テストエンジニアのニーズが増大しています。本書では組み合わせテストをはじめとするソフトウェアテストの基本スキル...
-
ソフトウェア・テスト PRESS Vol.6
特集1 事例と実例で視点を磨く テスト仕様書をどう書くか,テストケースに何を挙げるか テスト仕様書をまとめるのを難しいと感じるのは,テストケースがドメイ...
-
マインドマップから始めるソフトウェアテスト
「ソフトウェア・テストPRESS」の人気記事がついに書籍化。ソフトウェアテストの各工程にマインドマップを適用することで,驚くほどスムースにこなせるようになります。...
-
現場の仕事がバリバリ進むソフトウェアテスト手法
今日,テストという技術・学問は非常に大きな分野になってきています。しかし,その重要性はまだきちんと理解されていません。そこで,製品を開発してからテストを行う...