見出し画像

ソフトウェアテスト初学者おすすめ本「ゼロから学ぶソフトウェアテスト【改訂版】」

◣ はじめに

今回読んだ本は「知識ゼロから学ぶソフトウェアテスト【改訂版】」
著者は高橋寿一さんです。

◣ 読んだ感想

 本書は、テストの基本となる考え方と進め方に関する内容の本です。全体的にとても優しい言葉で説明されているため、私のようなテスト初学者でも読みやすい内容となっていました。
 私は本書を通じて、テストに正解はないということを改めて学びました。
最近、JSTQBを勉強し、「テストはこう進めるべきだ」とか「この技法を使うべきだ」という凝り固まった考えになっていました。本書を通じて、やるべきことだけでなく、テストは完璧にすることはできないこと、どの程度やる必要があるのか、やらないことを決めることの大切さを学ぶことができました。
 それから、程よくゆるーい文章で表現されているため、大変読みやすく、楽しみながら学ぶことができました。
 これからソフトウェアテストを学ばれる方・テストを勉強中で困っている方にオススメしたい書籍です。

◣ どんな内容か?

第1章 はじめに
第2章 ソフトウェアテストの基本ーホワイトボックステストー
第3章 エンジニアが最もよく使う手法ーブラックボックステストー
第4章 探索的テスト
第5章 機能あらざるもののテスト、最難関のテストに挑むー非機能要求のテストー
第6章 ソフトウェアテスト運用の基本ーテスト成功の方程式ー
第7章 ソフトウェア品質管理の基本ーソフトウェア品質のメトリックスー
第8章 テストの自動化という悪魔ーなぜ自動化は失敗するのかー
第9章 それでもテストがうまくいかない人へ

◣ 第1章 はじめに
なぜテストが必要かが分かる内容です。

そもそもソフトウェアとは
・どんなソフトウェアにもバグは潜んでいる。
・バグを全部見つけるのは無理だと心得ろ (Cem kaner)
・バグがないことを証明することは不可能

ではソフトウェアテストはなにを目指すべきか?やるべきか?
・どの部分にバグが出やすいかを分析し、適切にテスト技法を適用することで効率よく・効果的にテストを行う!
・「完璧」ではなくとも「十分な品質を持つ」ソフトウェアを目指す!

第2章 ソフトウェアテストの基本ーホワイトボックステストー
ホワイトボックステストの基本的な内容です。
・ホワイトボックステストは論理構造の正しさをテストする
・ソフトウェアの仕様が間違っていることから起こるバグを発見するテストではない (←はブラックボックステストの範囲)
・カバレッジ100%を目指すのはコストがかかる
・カバレッジは自分たちで妥当な目標を設定し、達成することが大切である
・カバレッジテストだけでなく、そのほかのテスト(要求仕様のテストや非機能テスト)とのバランス(効果やコスト、労力など)を考えて計画を立てる必要がある

第3章 エンジニアが最もよく使う手法ーブラックボックステストー
ブラックボックステスト

ブラックボックステストの基本的な内容です。
・ソフトウェアの振る舞いは入力処理、出力処理、計算、データ保存
・ブラックボックステストではそれをテストする
・同値分割法では、無効クラスと有効クラスを識別しテストする
・境界値分析法では、条件文の誤り起因のバグがないかをテストする
・デシジョンテーブルテストでは、複雑な入出力の対象をテストする
・状態遷移テストでは、システムの状態遷移のテストをする

第4章 探索的テスト
探索的テストの効果と進め方についての内容です。
・探索的テストの利点や進め方について
・結論、探索的テストをすべきだ!ということ

(・ところどころ↓のような格言が登場してくるので面白いです。)

結局バグなんてテストで全部見つからないんだから・・・
(Juichi Takahashi)

第5章 機能あらざるもののテスト、最難関のテストに挑むー非機能要求のテストー
非機能テストについての内容です。
・非機能要求に対するテストは、機能テストと同じアプローチでは困難である
・非機能要求のテストは、妥協とあきらめの世界である 
・筆者が重点を置いているパフォーマンステスト、セキュリティテストの取り組み方、信頼性テストの考え方と進め方

第6章 ソフトウェアテスト運用の基本ーテスト成功の方程式ー
テストを運用する人向け(テストマネジメント)の内容です。
・テスト計画の立て方
・テストケースの効率的な書き方

第7章 ソフトウェア品質管理の基本ーソフトウェア品質のメトリックスー
ソフトウェア品質管理のためのメトリクスの内容です。
・ソフトウェアの品質やテストの成果は目に見えない
・目に見えないものを評価するためにメトリクスが必要であること
・様々なメトリクスとその分析の仕方とアクションについて
・メトリクスって大事だよ!ということ

第8章 テストの自動化という悪魔ーなぜ自動化は失敗するのかー
テストの自動化についてよくある勘違いや注意すべき点の内容です。
・テストの自動化の注意すべき点
・よくされる勘違いについて

第9章 それでもテストがうまくいかない人へ
テストうまくいかない人向けにアドバイス的な内容です。(斬新でした。)
・(考えなしの) 組み合わせテストは、いっそやめてしまえ
・(闇雲にテストするのではなく) 品質の低いモジュールを徹底的にたたく

◣ おわりに

特に、私はテスト初学者なので、第1章「はじめに」の内容は特に大切なことだと改めて感じました。

第1章のポイント
そもそもソフトウェアとは

・どんなソフトウェアにもバグは潜んでいる。
・バグを全部見つけるのは無理だと心得ろ (Cem kaner)
・バグがないことを証明することは不可能
ではソフトウェアテストはなにを目指すべきか?やるべきか?
・どの部分にバグが出やすいかを分析し、適切にテスト技法を適用することで効率よく・効果的にテストを行う!
・「完璧」ではなくとも「十分な品質を持つ」ソフトウェアを目指す!

 また、全体を通してテストでやるべきことだけでなく、テストは完璧にすることはできないこと、どの程度やる必要があるのか、やらないことを決めることが現場目線で書かれていて、共感できる点がたくさんありました。
 個人的には、本書の程よくゆるーい表現は、大変読みやすく、楽しみながら学ぶことができました。(気付いたら、1日で読み切っていました ('Д'))
 ぜひ、これからソフトウェアテストを学ばれる方・テストを勉強中で困っている方にオススメしたい書籍です。

以上です。読んでいただきありがとうございます (^^)/

この記事が気に入ったらサポートをしてみませんか?