「ソフトウェアテスト自動化の教科書」の感想

全体的な雰囲気として、(Web系のIT)エンジニアというより製造や品質管理といった言葉のイメージに近い領域を対象にしていると感じた。 テストの対象としてもWebブラウザ自動化といったものも含まれるだろうが、組込みシステムにも触れられていた(大変そう)。

組み合わせの数を減らす手法のオールペア法は初めて知った。全ての組み合わせでは膨大になるから、2つの組み合わせのみをテストするというもので、この本ではざっと説明しただけなので理解できなかったが、調べて理解してなるほどと思った。

自動テストとは不具合を減らすのではなく、レグレッションテストの工数削減のためというのを明確に述べていた(つまり、ファジングとかモンキーテストはこの本では対象にしていないということだろう)。 ユニットテストとかE2Eテストも結局はデグレ確認のためなので、再確認した感じがした(関係ないが、文字で書くまでレグレッション、リグレッション(regression)とデグレ(degradeに由来)を混同していた)。

自動テストの効果があるテストは、多くの回数を行うもので、改修により壊れることが少ないものという、限定的なものというのは書いてあり、やはり現実は厳しい (ユニットテストはドキュメント代わりになるというような副次的な効果もあるにはあるが)。

自動テストのツールの種類として、完全ノーコードでできるものよりスクリプトを使えるもののほうがいいということだった。 その理由は、ノーコードではぱっと見は便利で使いやすそうに見えるが、使ってみると柔軟性やできることが少ない。 一方で、スクリプトはやってみれば(非エンジニアでも)意外と難しくないということだった。

ちょっと意外ではあるが、(抽象度が高いスクリプト系の)プログラミング言語というのは、ぱっと見のとっつきにくさを除けば、多くの人が理解できるのであろう。 非エンジニアでも、ExcelVBA、WebデザインのCSS、Unityのスクリプト、マイクラのコマンドまでそれっぽいのに触る機会はあるものだ。

全体としては、やはりテストの自動化は一筋縄ではいかないので、よく考えて、振り返りもしつつやることが大事なんだなあという感想です。