みなさんこんにちは!ピクシブで唯一(?)のテストエンジニアの @shimashima です。
さて、今年1月にソフトウェアテスト技法練習帳 ~知識を経験に変える40問~ という書籍が発売されました。これは元々JaSST(ソフトウェアテストシンポジウム) '19 東北で参加者にのみ配布された資料を元に加筆修正されたものです。当時その資料の出来の良さから話題になり、私も含めて有償でもよいので譲って欲しいという声がありました。 内容はタイトル通りソフトウェアテストの技法を使った問題集になります。
プログラミングでは「ほげほげを作ってみよう」みたいなことは書籍でもありますが、テストにおいて実戦形式で問題をといていくという形式はあまりありません。
開催のきっかけ
当初一人で読み進めることも考えましたが、以下の理由で社内で読書会という形式をとることにしました。
- 社内Slackにソフトウェア品質関するチャンネルがあるものの、あまり活発ではなかった。
- そこで、ソフトウェアテストに関する読書会を開催し、メンバーを巻き込もうと考えた。
- その時に前述の「ソフトウェアテスト技法練習帳 」が出版された。
その後、社内Slackでソフトウェアテスト技法練習帳読書会への参加募集をかけたところ、私を含めて4名集まったので開催することにしました。今回はその4名に読書会について語ってもらおうと思います。
自己紹介
shimashima: 最初に参加者の皆さんに自己紹介を行ってもらおうと思います。 ピクシブで唯一のテストエンジニアをやっているshimashimaです。今回のこのソフトウェアテスト技法練習帳読書会の言い出しっぺ兼主催でもあります。 「ソフトウェアテスト技法練習帳」は、JaSST '19 東北で配布された問題集のころから気になっていました。一人で読み進めても面倒くさがって読まないだろうなと思っていたのと、社内でテストについて知ってもらうのによさそうだったので読書会を開催することにしました。
fudafoota: 2016年4月から、クリエイター支援プラットフォームpixivFANBOXの企画、リリースから大規模リニューアル、機能開発、運用を経験してきました。設計技法としても使えるソフトウェアテストの技法を前々から学んでみたいと思っていたので参加しました。
kuma: kumaです。2020年新卒として今年の4月にエンジニアとして入社しました。現在はpixivFANBOXの開発を担当しています。メンターのfudafootaさんに誘われたことがきっかけです。テストについての知識が不十分であることを常日頃感じていたため、この勉強会を通じて少しでも理解を深められたらと思い参加しています。
verno: vernoです。現在はpixiv Androidアプリの開発を担当しています。 以前からモバイルアプリのテストに関心があり、社内の専門家であるshimashimaさんにプロダクトのテストについて度々相談していましたが、その中で開催を聞き参加しました。
初めてソフトウェアテスト技法練習帳を読んでみて
shimashima: みなさん、自己紹介ありがとうございました。さて私も含めて「ソフトウェアテスト技法練習帳」を実際に読み問題を解いていくのははじめてです。最初に読んでみての感想はどうでしょうか?
今までソフトウェアテストの問題集というものを知らなかった・読んだことがなかったので、非常に面白く読みまた問題を解いていくことができました。問題も無味乾燥なものではなく、読み手が状況を想像できるような文章で書かれていて面白かったです。 「テス政宗」の名前は忘れられそうにありません。
fudafoota: 設問がバリエーションに富んでいて、次の設問を見るのが楽しみになるような面白いもの(料金計算、ホテルの予約、家電の動作、RPGの世界…)が多い印象です。また、各技法の基本的な使い方を解説するような問題から、ヒヤリングから設計を導くような実践的なものまでいろんなものがあってバランスがよいと感じました。
kuma: 我々の扱うようなWebシステムだけでなく、ゲームや家電の制御など様々なジャンルの問題がありました。問題に書かれている条件が回答に大きく影響するので、細かな記述も見逃さないように慎重に問題を読み進めました。
verno: ロールプレイングゲームのテストなど、問題設定が想像しやすいものが多くとりかかりやすかったです。
問題の難易度について
shimashima: 境界値分析・同値分割から始まり、ディシジョンテーブル、状態遷移図・表などの有名な技法を使う問題が書かれています。技法そのものの説明は基本的にはないので、技法を聞いたことがないレベルの人には難しいとは思いますが、かじったことがある程度であれば解いていくことができると思います。問題の解説もしっかり書かれているので復習にも役立ちます。 ただ、問題によっては求めているものが理解できなかったり考えが浅くて間違えたりと大変でした。一応JSTQB-Advanced Level テストアナリスト試験に合格しているのですが……。
fudafoota: 同じ技法についていくつかの問題に分かれて章立てされており、問題を解いていくごとに慣れていける構成になっているのがよいと思います。用語の意味がわからず詰まってしまう場合でも解説を見つつ参加者と話をして理解していくことができます。基本的にテスト技法が事前説明なしに出てくるので、書籍の問題の密度は高いです。
kuma: 今回使用している書籍は「練習帳」という名前の通り、問題を解いていくことでテスト技法を実践的に活用するものとなっています。そのため、各種テスト技法(境界値分析や同値分割法、状態遷移図など)を知っている前提となっており、自分は調べながら解いていきました。具体的な状況をイメージしながらテスト技法を使用することができるため、より理解を深められると思います。頭では理解していたつもりでも、回答例を見てみると自身の回答と異なっていることもあり、そのときは他の参加者と意見交換しながら進めていきました。書籍後半になってくると問題設定も複雑になっており、解くのに苦労した印象です。
verno: 大学や独学で見たことのある技法だったのもあり、それを思い出しつつ解いていきました。知っている技法でも実際に手を動かしてみるのでは特徴やメリットなどがよくわかるようになりました。
読書会を通じて学んだこと・気付き
shimashima: JSTQB-AL テストアナリストに合格していることもあり、ソフトウェアテスト技法については人並み以上に知っていという自負がありました。ですが、自分が間違え同僚が正解していることが度々あり、自分の理解が足りないことを自覚させられました。 また、同僚と一緒に問題を解き答え合わせをして考え議論することは非常に刺激的で、一人ではここまで充実しなかっただろうなと思います。
fudafoota: 参加者の回答を見ながら自分の考え方を話すことで、思考のプロセスがわかることが勉強会形式の強みかなと思います。また、解説が理解できなかったり、納得できない場合に話し合えるのはいいです。これはきっと1人で問題を解いて解説を読み進めるだけでは実現できなかった学習プロセスだと思います。
kuma: ソフトウェアテスト技法に限らず、知識のインプットだけで終わって終わってしまい、実際の問題に落とし込むときにどのようにしたら分からない、ということがあると思います。この勉強会に参加して様々なシステムに対してテストケースを作ったり、条件遷移などを手を動かして学べたことは大きな収穫だと思いました。
verno: 本の回答とメンバーそれぞれの回答が異なっていることがよくあります。議論してみると単純に書き方の違いだけだったりしますが、逆にやろうとしていることの共通点からその技法の重要な点が見えて来るのが面白いです。 ただ問題を解くだけではなく、重要なことは関係者にヒアリングして仕様を聞き出すことだったり、実際の現場で役立つ知見も得られました。
ソフトウェアテスト技法練習帳をこれから読もうと思っている人に一言
shimashima: ソフトウェアテスト技法について学ぶ場合、これまでは解説書を読むことが大半でした。実際にその技法を使ってみる、というのは実際の仕事やWACATEのようなワークショップ、JSTQBなどの資格試験くらいでした。どれも簡単にできることではありません。 それが、この書籍を読み実際に問題を解くことで、ソフトウェアテスト技法を実践的に使う機会を手軽に得ることができるようになりました。 これからソフトウェアテスト技法を学ぶ人はこの書籍を通して実践を身に付け、すでに身に付けたと自負のある方は再確認するとよいと思います。
fudafoota: 耳にしたことはあっても実際に使う機会が無かったソフトウェアテストの技法を趣向を凝らした楽しい設問を通して実践できる構成になっています。実務でWebアプリケーションのロジックを整理したりテストを設計したりする上でも役に立つ手法が学べている実感があります。
kuma: 様々なソフトウェアテスト技法を実際の問題を解いていくことで実践的に学ぶことができると思います。ただし、自分のように前提知識が不足している場合は、JaSSTで公開されているスライドやJSTQBのシラバス等を読んで理解を深めておくとより良いと思います。
verno: 技法を学んだとしてもそれを実際自分のプロダクトにそのまま活かせる機会は多くありません。この書籍によって実際に手を動かすことができ、プロダクトへの導入のイメージもしやすくなりました。
おわりに
今年の3月に1回目の読書会を開いてからすでに半年以上。隔週1時間で、問題も比較的複雑なので1回に2,3問程度しか進みませんが、ようやく4章までたどり着きました。 終わりまであともう少し、メンバー一同ラストスパート頑張ります。
最後に、素晴らしい書籍を執筆した著者のみなさまには感謝しております。本当にありがとうございます。
ピクシブでは、ソフトウェアテスト技法を駆使してプロダクト品質を向上させるエンジニアを募集中です。 hrmos.co