(書評)新入社員に是非読んでほしい本「テスターちゃん」


はじめに

こんにちは。森です。
普段はチームファシリテーターとして、SIerのなかでチームビルディングやふりかえりなどを広める仕事をしています。

今回は、2019/03/27~03/28で開催されているJaSST Tokyo 2019に来ています。
JaSSTは、テストエンジニアたちが集まるソフトウェアエンジニアシンポジウムです。テストに関連するものすごい数のセッションが2日間で行われます。
私も、E4) テストプロセス改善 / プロばこ4JaSSTでワークショップをこれから実践予定です。

本当は色々とセッションを聞きたい気持ちはあったのですが、体調、体力的に厳しい…ので、「テスターちゃん」のブースにお邪魔して本を3冊買ってきました。

テスターちゃんとは

テスターちゃんは、まつさん(@mty_mno)が連載しているテストに関するマンガです。
その名のとおり、テストエンジニアをテーマに、テストでどんなことをするのかが書いてあります。

Amazonでkindle版を1冊500円で入手可能のようです。

この記事は、テスターちゃん3冊の書評です。

内容

テスターちゃん1~3巻の内容は、ざっくり以下でした。

  • テスターちゃん1巻
    • テストとは
    • テスト自動化
    • マイヤーズの三角形を使ったテストの解説
    • テストケースの実行
    • バグ票の書き方
    • テストラジオ・WACATEの宣伝
  • テスターちゃん2巻
    • 探索的テスト
      • テストチャータを使うタイプ
      • フリータイプ
      • セッションベースドタイプ
    • バグ出しのコツ
      • 繰り返す
      • タイミング
      • 境界値
      • 種類
      • 順番
      • 外部制御
      • 特殊な状態
    • テスト用WebApp Finding Bugs
    • ふりかえり
  • テスターちゃん3巻
    • ふりかえり
      • KPT
        • Keepの考え方
        • Problemの考え方
        • Tryの考え方
      • グランドルール
      • もくもくタイム
    • ツール「バグっぱ」紹介

書評

総じて、「システムエンジニアの新人に是非読んでほしい」本という感想です。
1巻では、テストの基本となる用語や考え方を知ることができます。
2巻では、探索的テストの考え方を知ることができます。
3巻では、ふりかえりの考え方を知ることができます。
テーマこそテスト寄りなものの、上流/下流どちらをやるエンジニアにも、早い段階で知っておくことで確実にプラスになる内容になっています。
私自身、探索的テストやふりかえりを知ったのは入社3年目くらいです。
もっと早く知っておけたら、きっともっと幅が広がりやすく、楽しく仕事をできたのだろうな、とは思います。
技術書を1冊読むのは非常に根気と労力がいりますし、研修を受けるにしてもモチベーティングが難しい。そう考えると、マンガという形式で、サクっと知識を吸収できるという手段はとてもよいかな、と思います。

ただ、1巻だけは色んな知識をギュウギュウに詰め込んだ感があり、読むのには先輩エンジニアの解説があったほうがいいかもしれません。
新人とインストラクター(トレーナー)などがセットになって読んでみて、解説をしてあげるとエンジニアの育成としてもいいのではないでしょうか。

心に残ったものを乗せておきます。

心に残ったもの/テスターちゃん1巻

(テストエンジニアは)最後の砦
(テストエンジニアは)最も幅広い知識が必要かもしれないよ
テスト設計をするには、要件・設計・開発・テスト・運用の幅広い技術が複合的に必要です。1年目のエンジニアに「とりあえずテストやってみようか」で放置しがちな現場もあることを考えると、ただテストをするだけでなく、知識を吸収しながらやるんだよ、といういい示唆になるかなと思いました。

自動化は繰り返しにはいいけど仕様変更があると作り直したりするんだ…。
「手間」と「効果」のバランスを考えないとダメなんだよ
毎回プロジェクトで悩むのが、どこまで自動化するか、というところ。
何でもかんでも自動化するとそれはそれでコストもかかるし…というのもありますので、トレードオフで考えなければいけませんよね。
じゃあ実際どうすればいいの、という答えは結局のところ、考え抜くしかないんでしょうね…。

(テストケースを見て)よくわからないから「たぶんこれのことだろう」が一番やっちゃダメ!
テストケースは、「第三者が再現できる、客観的に判断できる」のがいいかな…
よくわからないけどいいか、というのは私も失敗経験があります。
テストケースの書き方や、打鍵の仕方も、暗黙知になっている現場もあります。
失敗してから注意されて気付いたりするものですが、こうやって明文化されていると、書くときの指針にはなるかなぁと。

バグ票の書き方全般
バグを起票・報告するときに何をかけばいいのか、というのも暗黙知になっているところもあるはず。JIRAなどのバグトラッキングツールに「入力項目」として設定されている場合もありますが、初めての人は何を書けばいいのか、項目名を見ても分からないんですよね。それを事例を交えて紹介してくれています。

心に残ったもの/テスターちゃん2巻

(探索的テストの種類は)基本的にはこの3タイプかな
テストチャートを使うタイプ、フリータイプ、セッションベースドイプの3タイプ、とのこと。
探索的テストは何かの本で読んでから、タイミングがあればやってみてたり、テストをするエンジニアに教えてはいるものの、色々種類があるとは知りませんでした。
テストチャータを使うタイプのものでも、着目する点によって名前も違うんだなー、という驚きもありました。
セッションベースドタイプはタイムボックスを切ってやるタイプなので、時間を区切ってみんなで立ち止まって話し合うのも非常にいい手法だなぁと感じました。

「思い込みの順番も気をつけろよ」
何気ない流れでやっている手順がある場所 要注意なー
思い込みで順番を決めてしまい、異常系が洗い出せないのもあるあるです。
これは本書の中でのテストの仕方のなかで、私が一番やっちゃってしまいがちだったので、心に刻みました。

キーワードは「特殊な状態だ」
よく使っているいつもの状態じゃなくて「制限のある状態」にして確認してみな」
特殊な状態はスマホあるあるですね。弊社でもスマホのテストガイドとして、特殊状態のものが記載されています。ただし、これって「特殊な状態」ということがある、ということを知らないとそもそもテストケースを作るときの観点に出てこないんですよね。
過去のプロジェクトで、ガイドをほかのプロジェクトから流用したからこそ観点が出てきて何とかなった経験がありましたが、流用してなかったら観点として出ていなかったため、バグとして流出していたかもしれません…。

テスト練習用WebApp Finding Bugs
リンクはこちら
セキュリティの研修でセキュリティの穴だらけのwebサイトをいじってみたことはありますが、こういった穴のあるサイトを使ってテストしてみる、という経験は結構役に立ちます。
学んだ知識を実践してみて、再学習する、という経験学習サイクルをまわすのに最適ですね。
これも新人育成に使ってみたい。

心に残ったもの/テスターちゃん3巻

全般的に、同意しかない書籍でした。
KPTやっているチームが読んでみると、新しい発見や気付きがあるかもしれません。

前回の確認を抜かすと振り返りの形骸化まっしぐら!
まっしぐらです。必ず確認しましょう。

当事者意識が大事!
新人さんは、当事者意識はあるけど、遠慮して発言しないケースも多い
みんながチームとして動いているんだ、という意識をふりかえりの中で持たせるのは非常に重要です。
私の場合は発言のしやすさをあげるために場作りを活用しています。

最初はもくもくタイム!
ここでみんなと話をすると人の意見に考えが引っ張られちゃったりするんだ
私は、個人ワークを作る時間は、上述の理由に加えて、自分の意見を出せない人が出てきてしまう人も出てくるために行っています。意見を頭の中でしっかりと形にしてから伝えるタイプの人もいるため、そういった人に「じゃあ話をしてみようか」といきなりワークをはじめてしまうと、ほかの人の意見に押されて、意見が消されてしまうことがあるんですよね…。
もくもくタイム、大事。

さいごに

1巻~3巻まで、ページ数は各20pと少なく見えますが、内容は非常に濃いです。全部ちゃんと読むのに40分弱かかりました。
こういったマンガで知識を吸収していく、というのもとてもいいと思います。
是非、活用してみてはいかがでしょうか。