「Programming TypeScript」(2019年)
「テスト駆動Python」(2018年)
- 作者:BrianOkken
- 発売日: 2018/08/29
- メディア: Kindle版
2021年の読書 :19冊目/目標30冊
出た当初に買っていたのですが、積読していたのでGWの消化目標の書籍の一つとして読んでみました。
内容としては、テスト駆動…というよりも、pytestの使い方というのがしっくりくる内容の本でした。
日本語の監修者である安井さんの記事の方がどちらかというと題名に近かった気がします。
感想ですが…
私は、最近はテスト自動化に関わることも多くなっており、自動テストのやり方について改めて勉強しています。
webブラウザでE2Eテストをどう構築するかという話がメインなのですが、こういったコードそのものを対象にしたテストはやはり基本だと思っています。
今回はpytestがメインだったのですが、基本的なテスト設計を考えたうえで本書を読むと、「テストを実装するためにやっぱりコードは書けないとね」と思うばかりです。
転職して一年目は、テスト設計だけでなく「テストをどうコーディング」していくかということももう少し勉強してみようかなと改めて思いました。
なので、例えば今回の書籍の内容を受けて、
マイヤーズ三角形問題の計算関数のモジュールをpythonで作成して、
テスト設計した結果をpytestで書いてみる
…なんていうこともちょっと記事にしてみると面白そうだなと思っているので近いうちにやってみようと思います。
APPENDIX
本書での用語整理
- テスト関数:テスト対象をテストする関数
- フィクスチャ:テスト関数の実行に先立って(またはその前後に)、pytestによって実行される関数。(この言葉は色々な言語なども含めて意味が様々っぽいので注意)
その他のメモ
- フィクスチャの共通化には、conftest.pyを利用する。ローカルプラグインというもので、import conftestという風に読み込まなくても利用できる。ここに分離だデータとしてフィクスチャを定義するとテストデータをまとめることができる。
- 筆者はこんな感じでテスト関数の概要をコメントとして記載している。
# GIVEN 前提 # WHEN こうしたら # THEN こうなる
以上
「Software Engineering at Google」(2020年)
2021年の読書 :18冊目/目標30冊
仕事場で、この本を読んでいる方がおり、flakyなテストについて話に上がったので、この際ということで手に取ってみました。
「Googleのソフトウェアエンジニアリング」ということで、「一体どんなすごいことが…」と期待しつつ。
良く、人、プロセス、技術と言われますが、Googleでは【文化、プロセス、ツール】と紹介されており、
Googleにおける優れたプラクティスや原則が先ほどの3つに焦点を当てて記載されています。
書籍内でも言及がありますが、本書はソフトウェアエンジニアリングについて体系的に書かれているというものではありません。
しかし、Google内で有用とされた知見を解説してくれているので、参考になることも多いと思います。
個人的には、自動テストの項目での「アイスクリームコーン」を何となく知っていたのですが、
その内容についての言及があったのが興味深かったです。
「 知識ゼロから学ぶソフトウェアテスト【改訂版】」(2013年)
2021年の読書 :17冊目/目標30冊
いつの間にか今年の読書目標の半分が過ぎてました。
ということで、今回は購入はしていなかった日本のソフトウェアテストの書籍です。
界隈では有名な高橋寿一さんの本です。
初めてな人でもわかりやすくをコンセプトに作られている書籍なので全体としてかなり読みやすい本です。
テストドキュメントの説明は、今だと少し古めですが記述内容は役に立つと思います。
[余談]
実は、近いうちに新人研修を担当するのですが、その前の参考図書として読まれているらしく、
研修コンテンツをどう合わせようかなと考えるために読んでいました。
この手の本は知識をざっくりということなので、実際のソフトウェアテストをどう駆使するかなどは、
他の書籍で演習するとよさそうでした。
ということで、研修はちょっと演習を多めにしようかなと思っています。
探索的テストの演習を作ってみてもいいかもしれない…。
以上です。
「OCEB 2 Certification Guide, 2nd Edition」(2016年)
2021年の読書 :16冊目/目標30冊
モデルベースドテストを調べていく中で、BPMNというビジネスプロセスモデリング記法が紹介されていて、それに関するOMGが提供している試験の参考書になります。
他のBPMNの本では、ビジネスプロセスの記法というよりかは事例が中心のものが多いですが、本書は資格試験の勉強ガイドなので、記法について詳しく紹介されています。
内容としては、UMLのアクティビティ図でもちょっと表現しにくいこと(デフォルト処理、条件処理)が書けるので、そういったところでは有用だなと思いました。
ビジネスプロセスモデリングに興味がある方がいらっしゃれば手に取られてみるとよいと思います。
「 ソフトウェア技術者のためのバグ検出テキスト」(2020年)
「 Modern Web Testing with TestCafe」(2011年)
2021年の読書 :14冊目/目標30冊
お仕事でちょっと触れる機会があったので知識習得が読み進めてみました。
主にシナリオベースでテストを構築していく流れで、リファクタリングしていきながら、最後にページオブジェクトパターンに持っていくという内容でした。
TestCafeでテストスクリプトを記述言語がJavaScripということもあり、最後のページオブジェクトパターンの実装はは何となくオブジェクトっぽく見えないなと思いつつも、過去のブログで扱っていたSeleniumのページオブジェクトパターンの実装と同じでした。
Seleniumコードサンプル#3 ページオブジェクトパターン - Flying Cat Penguin
最近、ISTQBのテスト自動化エンジニアの内容を読んでいますが、テスト適用レイヤーがいわゆるページオブジェクトの概念なんだろうなと最近理解し始めました。
少し触ってみたいなという方は、書籍がなくても下記の書籍サンプルを見ながら進めるといい感じに理解できるかと思います。
書籍のコードサンプル
github.com