こんにちは。クリエイター事業部 FANBOX部でエンジニアをやっているkumaです。今回は新卒研修で行った「ソフトウェアテスト研修」についてのレポートをお伝えします!
ピクシブにおける新卒研修
2022年4月1日、ピクシブ株式会社にも10名の方が新卒として入社してくれました。弊社では入社後の2週間前後を新卒研修期間としており、会社理解からビジネスマナー、プロダクト開発に関するトピックなど様々なものを学ぶ時間になっています。
今回この記事では、新卒研修の一つである「ソフトウェアテストについて」という研修についてお伝えします。本研修は、以前insideでも紹介して頂いたkuma & pnlyで担当いたしました。
ソフトウェアテスト研修
以降では、実際の研修資料を引用しながら我々が研修で取り上げた内容について一部紹介していきたいと思います。
“難しすぎない”を意識した
今回の研修は3.5時間と非常に限られた時間での研修となりました。研修内容を考えたときに
- 「ソフトウェアテスト」のカバー範囲が広すぎるため、研修内で全てを伝えきる事はできない
- あまり深いところまで踏み入ってしまうと混乱したり、興味関心が薄れてしまう恐れがある
- エンジニア職だけではなくビジネス職も同じ研修を受けている
といった点を考慮し、「テストをすることの嬉しさ」や「どういう場面でテストが効いてくるのか」といったテストについて考えてもらうことに焦点を当てて研修内容を考えました。具体的には、
- テストをなぜやるのか?誰が嬉しくなるのか?
- ソフトウェアテストの7原則を元にテストの重要な考え方を抑える
- レビュー
を話題の中心に置き、様々なタイミングで「意見出しのワークショップ」をはさみながら研修を進めていきました。
今回話したことと、話さなかったこと
前述の通り、研修で扱う内容はある程度絞ることにしました。その中でも
- テストを行うモチベーション
- レビューに関すること
は重要かつ職種別け隔てなく有効なトピックであると考え、研修内容に盛り込みました。以降では、いくつかのトピックについての内容や狙いについて書いていきます。
前半:なぜソフトウェアテストをするのか
まず最初に「テストをする理由」について考えてもらいました。実際に出てきた意見として
- 本番環境で不具合を出さないため
- 心理的に安全にリリースできる
- 自信をもってリファクタリングするため
といった意見に加え、
- 利害関係者に意味のある情報を提供することができる
- 仕様(期待した動作)を示すドキュメントになる
といった非常に鋭い意見も出てきました。
その後講師陣が提示したテストの4つの目的
- 欠陥を見つける・摘出する
- 対象のソフトウェアの品質レベルが十分であることを確認し、その情報を示す
- 意思決定のための情報を示す
- 欠陥の作り込みを防ぐ
に照らし合わせ、出てきた意見を分類してもらいました。分類を行ったところ、それぞれに付箋がはられており、非常に意味のある議論ができたのではないかと思います。
また、ここではテストは常に「コスト」と「品質」のトレードオフであるという話も行いました。例えば
- テストしたとしてもその情報を使わない
- テスト対象によらず同じぐらいのコストをかけている
ようなケースについては、今一度見直しを行ったほうがよいかもしれない、といった話をしました。
前半:レビューについて
仕事をしていく上で、レビューという行為は頻繁に行われるものです。エンジニアだとコードレビューという行為を日常的に行っている方も多いかと思います。それだけではなく、書類の上長確認なども一種のレビューと捉える事ができるかもしれません。
JSTQB-FLのシラバスにも
テストプロセスは、テストの計画、 分析、設計、実装、テスト進捗と結果の報告、テスト対象の品質評価などの作業を含む。テスト対象のコンポーネントやシステムを実行することは、動的テストと呼ぶ。テスト対象のコンポーネントやシステムを実行しない場合は、静的テストと呼ぶ。このため、テストは要件、ユーザーストーリー、ソースコードなどの作業成果物をレビューする活動も含む。(by JSTQB-FL シラバス Version 2018V3.1.J03)
と書かれています。
このように身近なレビューという作業ですが、大切な作業であるのはわかりつつも非常に大変な作業でもあります。そこで、研修では
- レビューを依頼するときに心がけること
- ペア作業のすすめ
といったトピックを扱いました。特に後者のペア作業は社内で実際に行われている事例とともに紹介を行うことができ、社内の文化を新卒に伝えられる良い機会にもなりました。
後半:実際に手を動かしながらソフトウェアテストをやってみよう
研修の後半では、Webサイトを触りながらリスクベースドテスト(に近いもの)を体験するワークショップを行いました。題材として、テスト自動化練習用サイトであるHOTEL PLANISPHEREを使用させていただきました。
このサイトでは、
- フェッチしたデータを一覧で表示する
- ユーザーによる入力が発生する
- 入力値に対してのバリデーションが発生する
- 宿泊予約というユースケースが想像しやすい題材
という点から、テストの練習に最適と考え採用しました。
今回は特に観点などは与えず、それぞれが思うリスクを書き出してもらい、それぞれのリスクについて書き出してもらう形を取りました。
一口にリスクと言っても様々な観点があり、これまでの経験や職種などが違うと様々な意見が出てくることを体感してもらえたのではないかと思います。リスクの分析やテスト観点出しといった工程は、特定の職種に閉じた話ではなく様々なメンバーと行ってみる、というやり方が伝わっていると良いですね。
ワークする時間を多く確保した
今回の研修ではワークするタイミングを適宜挟み、話を聞くだけではなく積極的に意見を出してもらうように心がけました。以前私が参加したWACATEでも同じようなワークを行った経験があり、自分の意見を話したり他の人の意見を聞くことが大事だと感じていたからです。
また、入社して間もないメンバーに対して「馴染みのない分野に関する意見を出してほしい」というのも心理的ハードルがあるのではないか?という考えから、新卒同士ペアを組んでもらって意見出しをしてもらいました。また、意見の出しやすさだけでなく、新卒同士がお互いを知る切っ掛けにもなってほしいという願いがあります。
結果、講師陣が想定していた以上に様々な意見を出してくれました。
振り返り
ここからは研修を受けた皆さんからのフィードバックを元にしながら、今回の研修を振り返っていきたいと思います
全体的な満足度について
1を「全く満足しなかった」5を「非常に満足した」としたときの結果です。多くの方が研修に満足してくれたようでした。その理由として
- ペアワークなど実践的なワークが多く楽しかった
- ソフトウェアテストについて「なんとなくやったほうが良い」ぐらいの認識だったので、なんのためにテストをやるのか、どれくらいまでテストをやれば良いのか、といった部分をはっきりと認識し直すことができて大変勉強になりました!
といったものを挙げてくれました。おおよそこちらの狙ったところに満足してくれたようでした。
研修内容の難易度について教えて下さい
1を「簡単すぎた」5を「難しすぎた」としたときの結果です。3を選んだ方が最も多く、ついで2が多いという結果になりました。やや簡単に感じた方が多かったようです。
ここでのフィードバックとして、
- エンジニアであればわかるが、ややビジネス職には分かりづらかった(背景を説明したほうが良いかもしれない)
- もう少し具体的な例があると良い
といったフィードバックを頂きました。具体例については自身も問題に感じていた点であり、来年以降改善していきたいと思います。
ペアワークについて
1を「まったく満足しなかった」5を「非常に満足した」としたときの結果です。
- ペアワークは互いに色々な視点の違いがあって、意見も違ったので面白かったです。
- 講義にメリハリが生まれて飽きさせない要因になっていた
というポジティブな意見もある一方、
- FigJam上で他の人の意見は見えるので、必ずしもペアでやる必要は薄いのかなと思いました
といった意見も出ていました。このあたりについては、講師として「なぜペアワークをするのか、どのようにペアで進めてもらうとよいか」を伝えるような工夫があるとより効果的だった、と考えています。
FigJamでのワークについて
1を「まったく満足しなかった」5を「非常に満足した」としたときの結果です。多くの方に満足していたようでした。理由として
- スタンプで意見に反応ができる/してくれるので楽しいしモチベーションにもなった
- 同時に参加している実感が強く良かった
といったものが挙げられていました。一方、
- (スライドとFigJamの)行き来は大変だったのでfigjam上に資料があって良いと思いました
というように、画面移動が大変だったという意見を頂きました。特に画面が1つの場合は移動が煩雑になってしまうという問題があり、次回以降考慮する点に入れたいと考えています。
まとめ
今回は、ピクシブ株式会社の新卒に向けた「ソフトウェアテスト研修」について、紹介した内容や講師陣の狙いをまとめてみました。ソフトウェアテストがなぜ必要なのか考えたり、社内の事例を紹介するなど、初学者にとって比較的親しみやすい研修に仕上がったのでは無いかと思います。
今後のソフトウェア開発において、少しでもテストについて考えるきっかけになってくれたら嬉しいです。今回得られたフィードバックを元に、来年以降の研修をより良いものにしていきたいと思います。