知識ゼロから学ぶソフトウェアテストを読みました![書評]


少しでもバグのなのソフトを作るために、テストを基礎から勉強し直すために、『知識ゼロから学ぶ ソフトウェアテスト』を読みました。この本はソフトウェアのテストに関する大局的な知識がわかりやす言葉で書かれているので、まずテストに入門してみたいという人に読んでみてほしい本です!

今回はこの中で特に心に残った部分を中心にメモしていきます!


🐮 テストの心得

ソフトウェアテストで重要なのはどの部分にバグが出やすか、そこにどのようなテスト手法を適用すれば十分な品質が得られるかを知ることである。』これはそのとおり。やみくもにすべての箇所のテストはできないので、バグので易い場所を見極めて、十分な品質を得られるようにテストをしていくことが大切だと思います。

🍮 ホワイトボックステスト: カバレッジテスト

カバレッジテストはソフトウェアのすべての箇所を通るようにテストを行うこと。ただし、『エラー処理や使われていないコードなど』はカバーできないことがあります。特に『要求仕様の間違い、機能の不足、データに関するバグ』は発見できないので特に注意してください。

🍄 ブラックボックステスト

ソフトウェアは『入力の処理、出力の処理、計算処理、データ保存』の4つしか行わない。その振る舞いを適切にテストすればいいというのがブラックボックステストの基本的概念です。ユーザーが使いそうなデータや、プログラムが許す最大値、最小値を使って、必要最低限のパターンのテストを行うことが大切です。

(1) 同値分割: 入力を部分集合で分割して、テストパターンをシンプルにする手法。有効値と無効値をテストに使う
(2) 境界値テスト: 同値分割とセットで使われる。有効値と無効値の境界を重点的にテストする
(3) 状態遷移のテスト: 状態遷移のタイミングで、意図していない遷移のバグや、存在しない遷移を検出する

🐡 弱いエリアを見つけて重点的にテストする

データの交換が発生する分野、ほかのソフトとイベントを共有する機能、エラーや例外処理からの復帰などソフトウェア的に弱い部分、言い換えるとバグを発生させやすい部分を重点的にテストすることで、より確実なテストが実行できます。

🐞 あとがき

この本では比較的規模が大きめのソフトウェアを開発していく上で、必要となる品質管理や、俯瞰的にソフトウェアのテストを解説してくれています。大局的な知識を得ることで、普段のWeb開発の仕事の中で活かせそうな発見もたくさんありました。まず、ソフトウェアのテストについて全体的な知識を知りたいという人にオススメの本です!

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍