「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
windows10環境でTestCafeを入れてみる
ちなみに…testcafeがうまく入っていない状態だった。
実行コマンド実行できない感じ…。
グローバルオプションでのインストールでようやく入れられた。
実行コマンド
>npm install -g testcafe npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated C:\Users\odan-tomohiro\AppData\Roaming\npm\testcafe -> C:\Users\odan-tomohiro\AppData\Roaming\npm\node_modules\testcafe\bin\testcafe-with-v8-flag-filter.js + testcafe@1.13.0 added 542 packages from 346 contributors in 30.203s
サンプルコード:googleSearchTest.ts
import "testcafe"; import {Selector} from "testcafe"; fixture("Google Search") .page("https://www.google.com/"); test("Google Search Test", async (t) => { const googleSearchTextArea = Selector(".gLFyf").withAttribute("title", "検索"); const googleSearchButton = Selector(".gNO89b").withAttribute("value", "Google 検索"); await t.typeText(googleSearchTextArea, "TestCafe"); await t.click(googleSearchButton); });
出力例
C:\work\testcafework>testcafe chrome googleSearchTest.ts Running tests in: - Chrome 89.0.4389.114 / Windows 10 Google Search √ Google Search Test 1 passed (8s)
ひとまずここまで。
参考
tech.pjin.jp
「Seleniumデザインパターン & ベストプラクティス」(2015)
- 作者:Dima Kovalenko
- 発売日: 2015/09/18
- メディア: 大型本
2021年の読書 :13冊目/目標30冊
積読していたので読んでみました。
基本的な構成は、タイトルにもありますが、
自動テストについてのパターンおよびアンチパターンを解説していくれるものです。
内容としては、チュートリアル形式なので本を進めながらコーディングすることで理解が進みます。
ただ、パターン、アンチパターンは読むうえで自分自身で図に書いたりして関連を記憶しておく必要がありそうです。
どこかでまとめられたらまた…。
以上です。