「知識ゼロから学ぶソフトウェアテスト」を読んだ

ブログ全然書いてないので、これからは本を読んだ感想くらいから頑張って書いていきたい。

最近ソフトウェアテストについてやっていきがあるので、ガツガツと本をあさっています。

まだまだ初心者なので、初心者用にオススメされた「知識ゼロから学ぶソフトウェアテスト」を読んだ感想を少し書きます。

知識ゼロから学ぶソフトウェアテスト 【改訂版】

知識ゼロから学ぶソフトウェアテスト 【改訂版】

ソフトウェアテストの基礎の基礎の部分をうまくまとめているような内容だった。

おおよその内容はすでに知っている内容でだったけど、しっかりと言語化して説明されているものを読んだことがなかったため、改めて認識を確認することができた。

いくつか気になった点や初めて知った内容があったのでまとめてみた。

探索的テスト

Cem Kaner 氏がよって提言されたもので、本の中で定義されていた内容をそのまま記すと

  • ソフトウェアテストの1つのスタイルである
  • 個人に自由意志を持たせるとともに責任をより明確にする
  • 一個人のテスト活動である
  • 継続的にテスト活動を洗練させる
  • 探索的テストには以下の活動を行う
    • テスト関連の学習
    • テスト設計
    • テスト実行
    • テスト結果を報告
  • 成熟したテスト活動
  • 上記の活動をプロジェクト期間中並行して行う

らしい。

長い、要はテストをアジャイル的にやっていくことなのかなと理解した。

探索的テストは本の中で、プロとして成熟した一個人のテスト担当者に責任をもってやらせる!という記述があったが、自分はまだ プロとして成熟した一個人 ではない。

しかし個人的には、テスト初心者がこういった探索的テストのような活動を行っていくことで、ソフトウェア自体への理解ソフトウェアテストの学習 を得ることができる効率のいい方法なのではないかと思った。

ただ企業としてそういったことに対してコストを払うことができるかとか、その一個人に対してどのくらい投資をするのかなどを考えられるような場所じゃないと厳しいんだろうなとも思った。

非機能要求

非機能要求とは、品質特性を確保するためのものであり、品質特性とは機能的な側面と非機能的な側面の両方の属性を示したものであるらしい。かなりややこしい。

本の中では、「非機能要求のテスト = 品質特性をテストすること」となっていた。要はソフトウェアの機能面のみの話ではなく、ソフトウェアとして持っているべき特性について言及しているのかなという理解をした。

著者は多様な品質特性の中でも、機密性信頼性パフォーマンス の3つが重要と言っている。 重要なのは理解できるがこれらをテストすることは非常に難しいだろ、と思ったがすぐにそういった難しさについても言及されていた。やはり経験がものを言うのだろうか…

テストの自動化

私が読んだのは2013年改定版であるが、そのころのテスト自動化ツールがあまりよくないせいか、著者はテスト自動化についてかなり否定的な内容を述べている。

最近ではGUIソフトウェアに対してのテストを自動化するツールもたくさんあり、更にそれらはOSSとして公開されているものも多い。こういった状況を考えると、 テストの自動化環境においてはかなり改善されてきているのかなという印象をうけた。

自動化に向かないテスト として回帰テストが上げられており、その話の中で著者が経験した、「自動化のコードをただ修正していくのみでテストケースは一切増えない」という話をみて、少し自分も似てような経験があったので厳しい気持ちになった。

まとめ

文字の大きさも大きく、そこまで厚い本でもないためさっくりと読破できる量であった。

冒頭にも書いたが、内容は総じてソフトウェアテストについての概要知識だった。ただ、著者が今まで経験してきた事例を通して実際にどういった点で優劣があるのかということが少し具体的に書かれていたので非常に読みやすかった。

ソフトウェアテストエンジニアというよりは、ソフトウェアテストの担当者 を対象にした本であるため、コードを書く私のような人間からすると少し物足りないかなという印象だった。

ソフトウェアテストについてざっくりとした概念を学ぶ初心者にとっては、良い入門書となる気がした。

その他

ちょくちょく格言というか迷言のようなものが書かれているが個人的には好きだった。(大半は著者の言葉)

次はこれを読む

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)