Upgrade to Pro — share decks privately, control downloads, hide ads and more …

新卒入社の人達にテストの大切さを伝えた話 #D3QA / BizReach QA Meetup

新卒入社の人達にテストの大切さを伝えた話 #D3QA / BizReach QA Meetup

2019年7月18日開催のD3QAイベント「BizReach QA Meetup」での発表資料です。
https://d-cube.connpass.com/event/135315/

P22で紹介した記事
モブプログラミングにおける交代のタイミング
http://nihonbuson.hatenadiary.jp/entry/2018/12/25/193000

706ff501573a736401aa4de5adc88e05?s=128

nihonbuson

July 18, 2019
Tweet

Transcript

  1. 新卒⼊社の⼈達に テストの⼤切さを 伝えた話 ブロッコリー ( @nihonbuson )

  2. ⾃⼰紹介 • ブロッコリー ( @nihonbuson ) • 2018年10⽉にビズリーチへ転職 • QA基盤推進室に所属

    • 社外活動 - JaSST Review(ソフトウェアレビューシンポジウム) 実⾏委員⻑ - WACATE(テストの宿泊型ワークショップ) 実⾏委員
  3. 今⽇話すこと • 新卒研修を受け持つまでの経緯 • 新卒研修のカリキュラム紹介 • 新卒研修で⼯夫した点 • 研修⽣の受講アンケート公開

  4. 新卒研修を 受け持つまでの経緯

  5. ビズリーチ社内での取り組み • TDD講座&演習は定期的に実施していた • 「TDDで⾏っていこう︕」という⽂化がある

  6. ⼊社時の開発者の印象 • ⾮常に品質に対して興味を持っている • テストもどうにかしたいと思っている • ただし、テストのやり⽅が分からない →在籍社員向けにテスト講座を実施

  7. 今年の新卒研修監修者からの希望 • 今年の新卒研修の監修をしていた⼈からの希望 ◦ TDDのやり⽅を伝えてほしい ◦ 期間は1⽇ →TDD以前に伝えるべきことがある︕

  8. 私が提案した新卒研修の内容 • 2⽇間 • 内容は以下の4つ ◦ テストに対しての考え⽅ ◦ テスト設計について ◦

    ⾃動テストについて ◦ TDD
  9. 新卒研修の カリキュラム紹介

  10. カリキュラム(1⽇⽬ 1限⽬) • 品質とは何か︖テストとは何か︖ ◦ 品質、テストの⽬的 ◦ テストの7原則 ◦ Vモデル、Wモデル

    ◦ テスト観点 ◦ 品質特性 ◦ テストレベル ◦ CheckingとTesting ワーク ワーク ワーク D3QAや JJUGでも 講演
  11. カリキュラム(1⽇⽬ 2限⽬) • テスト設計(その1) ◦ テスト設計の⽬的 ◦ テスト設計の紹介 ▪ 同値分割法

    ▪ 境界値分析 ▪ 状態遷移 ワーク ワーク ワーク D3QAや JJUGでも 講演
  12. カリキュラム(1⽇⽬ 3限⽬) • テスト設計(その2) ◦ テスト設計の紹介 ▪ ディシジョンテーブル ▪ CFD

    ◦ ⾼位テストケースと低位テストケース ◦ 適切なテストケース名 ワーク デモ
  13. カリキュラム(1⽇⽬ 4限⽬) • ⾃動テスト ◦ ⾃動テストのピラミッド ◦ テスト⾃動化の8原則 ◦ E2Eテストとは

    ◦ TDDの書き⽅ デモ デモ
  14. カリキュラム(1⽇⽬ 5限⽬) • TDDの書き⽅ ◦ TDDの写経 ◦ TDDの実践 ワーク

  15. カリキュラム(1⽇⽬ 6限⽬) • モブワーク ◦ モブワークとは何か︖ ◦ モブワークで気をつけること

  16. カリキュラム(2⽇⽬ 1限⽬) • チームでTDDのサイクルを体験 ◦ モブワーク&TDD ▪ FizzBuzz ◦ ソフトスキル

    ワーク
  17. カリキュラム(2⽇⽬ 2限⽬) • ⾒やすいコード ◦ モブワーク&TDD ▪ クラスの設計が必要なお題 ◦ 読みやすいコードへの意識

    ◦ テストケース名の⼤切さ ワーク
  18. カリキュラム(2⽇⽬ 3限⽬) • レガシーコードに⽴ち向かおう ◦ レガシーコード ◦ リファクタリング ◦ Code

    Smell ◦ モブワーク&TDD ▪ Tennis-Refactoring-Kata ワーク
  19. カリキュラム(2⽇⽬ 4限⽬) • TDDサイクルが⾝についたかの確認 ◦ モブワーク&TDD ▪ Number Names ▪

    Cyber Dojoを利⽤ ◦ TDDサイクルが⻑いとどうなるか ◦ レガシーコードを作成する過程 ワーク
  20. 新卒研修で ⼯夫した点

  21. 1⽇⽬で⼯夫した点 • を多めにした ◦ 極⼒、新卒研修⽣に考えさせた • TDDのコーディングを動画にして、研修⽣に配布した ◦ 字幕も付け、TDD中の思考も極⼒伝えた ワーク

  22. 2⽇⽬で⼯夫した点 • モブワークのやり⽅を題材ごとに変えた ◦ やり⽅についてはブログ参照 ▪ http://nihonbuson.hatenadiary.jp/entry/2018/12/25/193000 • モブワーク中に発⽣した困りごとを題材に解説した ◦

    ⾃らの体験を基に⾏うので納得度が⾼い
  23. 研修⽣の 受講アンケート公開

  24. 研修⽣からの評価 受講者平均9.75

  25. 研修⽣の感想(1) • とても勉強になった。 テストを書く意義や、チーム開発の⾯⽩さと難しさを 学べた。 • 開発の考え⽅がすごい変わるし⾝に付く • テストは⾯倒なものという概念が払拭できた。

  26. 研修⽣の感想(2) • ぜひ、来年もまた受けたいと思いました。 特に、 「なぜ」テストを書くのか︖ 「なぜ」モブプロをやるのか︖ やるべき理由をぶらさず、 聞くのではなく「体験」するを通して教えてくれた

  27. 研修⽣の感想(3) • 個⼈開発の中で、テストをきちんと書いていたが、 これまでは実装の後にテストを書いていた。 しかし、それではただ実装に合わせてテストを 書いていたので、何の意味もないことが理解できた。 実際に、このような開発を⾏なっているエンジニアは 多いのではないのかと思うので、TDDを体験して、 本当のテストの意味をわかってほしい。

  28. 研修⽣の感想(4) • テストに対する良質な考え⽅が⾝についた。 テストをやる機会が今までなかったので、研修で初めて やったが、⼀番初めにこんなに質の⾼いものを学べて とてもよかった。 研修構成として完璧すぎた。 2⽇間とても濃厚な研修で、 研修史上、最⾼の充実度だった。

  29. まとめ

  30. まとめ • ⼊社後、テストのやり⽅について啓蒙 • 啓蒙した実績を元に、新卒研修も2⽇間確保 • テストの考え⽅からTDDのやり⽅まで⾏う カリキュラムを作成 • ただ伝えるだけの講座ではなく、

    体験型のコンテンツを⽤意 • 研修⽣からも概ね良い評価を貰えた