Flying Cat Penguin

ゆるゆる仕事、ソフトウェアテスティング関連のことについて綴ります。

「Programming TypeScript」(2019年)

2021年の読書 :20冊目/目標30冊

今のお仕事でTypeScriptをメインで扱っているため、「さすがに文法くらいは理解しなければ…」ということで手に取ってみました。

読んでみたところ、言語の仕様について解説してくれている内容でした。なので、初学者というよりも中堅の方以上向けの書籍という印象です。
ただ、良い進めてみると書籍の中のコードを動かす準備はあまり記載がない印象で、実際に試そうとしたときにどうするか悩んだ感じでした。

やはり、Webアプリのサンプルを作る書籍を手に取って真似てみるのがよさそうです。
今度はその手の本を読んでみようかなと思います。

参考
ACM Learning Center

「テスト駆動Python」(2018年)

テスト駆動Python

テスト駆動Python

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内で有用とされた知見を解説してくれているので、参考になることも多いと思います。

個人的には、自動テストの項目での「アイスクリームコーン」を何となく知っていたのですが、
その内容についての言及があったのが興味深かったです。

参考
ACM Learning Center

「 知識ゼロから学ぶソフトウェアテスト【改訂版】」(2013年)

2021年の読書 :17冊目/目標30冊

いつの間にか今年の読書目標の半分が過ぎてました。
ということで、今回は購入はしていなかった日本のソフトウェアテストの書籍です。
界隈では有名な高橋寿一さんの本です。
初めてな人でもわかりやすくをコンセプトに作られている書籍なので全体としてかなり読みやすい本です。
テストドキュメントの説明は、今だと少し古めですが記述内容は役に立つと思います。

[余談]
実は、近いうちに新人研修を担当するのですが、その前の参考図書として読まれているらしく、
研修コンテンツをどう合わせようかなと考えるために読んでいました。
この手の本は知識をざっくりということなので、実際のソフトウェアテストをどう駆使するかなどは、
他の書籍で演習するとよさそうでした。
ということで、研修はちょっと演習を多めにしようかなと思っています。

探索的テストの演習を作ってみてもいいかもしれない…。

以上です。

「OCEB 2 Certification Guide, 2nd Edition」(2016年)

2021年の読書 :16冊目/目標30冊

モデルベースドテストを調べていく中で、BPMNというビジネスプロセスモデリング記法が紹介されていて、それに関するOMGが提供している試験の参考書になります。
他のBPMNの本では、ビジネスプロセスの記法というよりかは事例が中心のものが多いですが、本書は資格試験の勉強ガイドなので、記法について詳しく紹介されています。
内容としては、UMLのアクティビティ図でもちょっと表現しにくいこと(デフォルト処理、条件処理)が書けるので、そういったところでは有用だなと思いました。
ビジネスプロセスモデリングに興味がある方がいらっしゃれば手に取られてみるとよいと思います。

参考
ACM Learning Center

「 ソフトウェア技術者のためのバグ検出テキスト」(2020年)

2021年の読書 :15冊目/目標30冊

ドリル版がありましたが、テキスト版を知らなかったので、読んでみました。

内容としては、ドリルと同じように、主にソフトウェア実装にまつわるバグについての解説をしています。
参考になる点としては、インシデント→原因→解決方法の一連の解説があるので、同様のケースに陥った時の対処法を知ることができることだと思います。

もし、バグを埋め込んで探してもらうワークを作る…というときには参考になるかもしれません。

「 Modern Web Testing with TestCafe」(2011年)

2021年の読書 :14冊目/目標30冊

お仕事でちょっと触れる機会があったので知識習得が読み進めてみました。

主にシナリオベースでテストを構築していく流れで、リファクタリングしていきながら、最後にページオブジェクトパターンに持っていくという内容でした。

f:id:dandan_611:20210406095313p:plain
書籍全体のテストケース

TestCafeでテストスクリプトを記述言語がJavaScripということもあり、最後のページオブジェクトパターンの実装はは何となくオブジェクトっぽく見えないなと思いつつも、過去のブログで扱っていたSeleniumのページオブジェクトパターンの実装と同じでした。

Seleniumコードサンプル#3 ページオブジェクトパターン - Flying Cat Penguin

最近、ISTQBのテスト自動化エンジニアの内容を読んでいますが、テスト適用レイヤーがいわゆるページオブジェクトの概念なんだろうなと最近理解し始めました。

少し触ってみたいなという方は、書籍がなくても下記の書籍サンプルを見ながら進めるといい感じに理解できるかと思います。

書籍のコードサンプル
github.com

参考
ACM Learning Center