ここまでで約60%超えるくらいなのですが、Appendexなど覗くと後少しで読了。実際の経験にそっていることが多かったので、比較的頭に入ってきました。
いくつか役立つことや、考えが整理できること、同じ経験を積んでることを学べたことは個人的に良い収穫でした。
ここに直接関係するわけではないですが、Turnipのようなテスト記述の勉強会したいな。時間見つけよう。
Part6: Test Automation
Agile Testingでは、テスト自動化は必須な武器です。そのため、テスト自動化に関してもある程度の幅をとって記述されていました。
Technical debt, Pyramids of Automation, Test Automation Design Pattern and Approaches, Selecting Test Automation Solutionsという構成で記載されています。
Chapter 14: Technical Debt in Testing
技術的負債はテスト自動化や他のテスト活動において、チームの速度を落とさないようにする必要があります。技術的負債を把握して様々な活動へ落とし込むために、見える化はやはり大事だと言います。
- ストーリーに対する見積もりにおいて、タスクカードによりデバグ作業や自動化にかかるメンテナンスも可視化する
- 作り込まれた不具合やブロックされたストーリーは、素早く集中して修正する
- コードとテスト双方に対してチームは責任を持つ
- 技術的負債の課題を定め、負債を減らすようにトライする
- 異なる専門家を集めて、全体として負債を減らす
Chapter 15. Pyramids of Automation
“何のテストを自動化すれば良いか?”という疑問は誰もが持つものだと思います。ここでは、テスト自動化ピラミッドに関して記載していました。
有名どころでは、以下があります。

http://blog.goneopen.com/2010/08/test-automation-pyramid-review/
Alternative test pyramidとして、no unit testsのものも書かれていました。
Alister Scott氏は、さらに別のピラミッドとして、Exploratory Testingを含めて以下のようなピラミッドを描いた、という事例も書かれていました。


http://watirmelon.com/2011/06/10/yet-another-software-testing-pyramid/
さらに、Sharon Robson氏の描くピラミッドの記載もありました。
オリジナルのピラミッドは役に立ちますが、全てにおいて対応できるわけではありません。自分たちの目的にあったピラミッドが構築できると良いですね。
Chapter 16: Test Automation Design Pattern and Approaches
テスト自動化のデザインパターンが書かれていました。
- チーム全体で成長させる
- 軽いものから始める
- 単純なルールから、テスト可能な良いコードを用意していく
- 10個程度、簡単なルールが書かれていましたが書籍を参照ください
- API越しにテストする (at the Service Level)
- API越しにするこで、Test/Exampleと、test method/fixture、developer codeを分離することが可能になるため
- UIを通してテストする
- Business rule of functionality level
- UI workflow level
- Technical activity
- テストを運用する
ここでも、Page Object Patternの例も書かれていた…
Chapter 17. Selecting Test Automation Solutions
チームとして成長したり、目的に見合ったツール、組み合わせて意図する形を構築可能なツールを使うなどが書かれていました。
当然なのですが、どこのチームも画一ではないので、自分たちにあった形のテストに落とし込むことは大事な要素ですね。
What is Your Context ? は読んだので飛ばし…