JSTQB Foundation Levelを受験してきました

JSTQBという認定テスト技術者資格を受けてきました。

今回はその中でも初級のFoundation Levelです。
他のLevelはFouncation Levelを持っていることが条件になっています。

きっかけ

現在私は、JapanTaxiでSET(Software Engineer in Test)チームのリーダーをしています。

iOSエンジニアの自分がテストや品質を本業とするようになった理由は、品質を上げたい、デグレを減らしたい、開発生産性を上げるたい、この辺りに集中したかったからです。(SETという名前自体にこだわりはありません)

詳しくは行灯ラボをご覧ください。

チーム化し、現状の課題整理やプロセスづくりなどする中で、ソフトウェアテストについて理解が足りないなとすぐに気がつきました。
今までなんとなく理解していたテスト手法が、どんな目的でどんな観点でといったことを曖昧にしたままテストを行なっていました。
品質を上げたいと思いつつも品質とは何なのか、どうやったら上がるのかなど漠然としていました。

意外とそういうエンジニアは多いと勝手に思ってます。
コードの品質だけがどんなに良くても、それだけじゃユーザーから見た品質が高いとは言えないところが一筋縄じゃいかないところです。

そういった理解が足りない部分を補うために、JSTQBという資格を教えてもらい受験を通して理解度を図ることにしました。

JSTQB

テスト業界では知ってて当たり前な資格ですが、私は全く知りませんでした。

ソフトウェアテストにおける Foundation Level 認定テスト担当者
Foundation Level の資格認定はソフトウェアのテスト作業に関与する全ての人を対象としている。これにはテスト担当 者、テストアナリスト、テストエンジニア、テストコンサルタント、テストマネージャ、ユーザ受け入れテスト担当者、および ソフトウェア開発者の役割を持つ人々が含まれる。この Foundation Level の資格認定はソフトウェアテストについて基 本的な理解を望むプロジェクトマネージャ、品質管理者、ソフトウェア開発マネージャ、ビジネスアナリスト、IT 部門長 および経営コンサルタントのような人にも適切である。
Foundation Level 認定資格の保持者はソフトウェアテスト資格での上位レベルに進むことが可能である。

http://www.jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf

勉強法

大きく3つあります。

  • シラバス
  • 参考書籍
  • 模擬試験アプリ

シラバス

こちらから確認できます。

試験問題はこちらをベースに出題されます。
一番目を通すべき資料だと思います。

2011年度版 FLシラバス
2018年度版 FLシラバス (今後はこちらを利用)

参考書籍

公認テキストということもあって、試験会場でも多くの人が持っていました。
実務経験がなく、シラバスだけでは理解が難しい場合は、こちらも併用すると良いと思います。

本のページ数が多く時間もそれほど割けなかったため、途中から参考書籍は読まずにシラバスと模擬試験アプリの併用で勉強を進めました。

405ページ中70ページほどしか読めませんでした。

こういう本は部分的に自分の知識を補っていく方が勉強しやすいので、パラパラめくれる紙の方が良いと思います。

(PDFで購入できるサイトがあれば良かったですが、私が買ったのは BookLive! というサービスで専用アプリかウェブからでしか本が読めずいくら半額で買えたとはいえ、読みづらさから諦めたのも事実です。)

早速、次回のシラバス2018に対応した第4版が予約できるようになってますね。2019/9/17発売のようです。

https://www.amazon.co.jp/dp/4798160660/

模擬試験アプリ

iOS / Android でいくつか公開されています。

試験前一週間ほどは、このアプリを集中的に使ってたんですが、
試験後に、模擬試験だけでは足りない部分が多いと感じました。

理由は
・問題自体が間違っていることが(逆に言えば気づけた人は理解している人)
・単語の暗記で済む問題がほとんど(丸暗記は危険)

良い点としては
・手軽
これだけです。

この辺は実務経験がある人とない人でも感覚が変わりそうです。

受験後の感想

会場はTOC有明で、会場近くのファストフードやカフェなどは大体受験者っぽい人で賑わってました。連日いろんな試験でこんな感じなんですかね。休日のカフェでコンポーネントテストがーとかそういった会話が耳に入って来るのが新鮮で面白いなーと思いました。

参加者は男女・年齢それぞれ幅広いなと感じました。開発系は男性に偏りがちですが、テスト・QA系は女性も活躍されてる方が多く意外でした。

実際の試験内容ですが、まず模擬試験や本でやった問題がそのまま出てくるわけではありません。(ちょっと期待していた・・)

シラバスの学習範囲の知識を使った実践的な問題も出てきました。

例)
・この条件の時に、同値分割として正しいものはどれか
・以下のCのコードを見て、カバレッジ100%になるためのテストデータはどれか(インデントされてなかった…)
・以下の状態とイベントで状態遷移テストを作成する時のカバレッジを満たすテスト順として正しいものはどれか

試験時間は1時間で計40問、模擬試験アプリでは15分ほどで答えられていたけど、ほぼ1時間使い切りました。

合格したかはわかりませんが、テストの理解度を測る意味では良い機会でしたし、良い試験問題だったと思います。

エンジニアがJSTQBを受けるメリット

何より、開発で十分に生きる内容だと思います。

テスト対象のソフトウェアを作ってる側だからです。テストレベルとか手法とかが通じないとちょっと辛いかもと思いました。

開発エンジニアがコンポーネント(ユニット)を書かない理由は忙しい理由だけではなく、テストを知らないことも理由にあると思います。私がそうです。

カバレッジを意識したり、効率よく網羅ができたテストを書く能力は普段プログラムが書けるだけでは身につくものじゃ無いということです。

是非、オススメします。

最後に

こんだけ書いておいて、落ちてたら恥ずかしいなーと思いつつ。

シラバスに書いてあった内容はある程度記憶・理解できているので、さっそく業務で活用できているのも実感しています。