Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
新卒⼊社の⼈達に テストの⼤切さを 伝えた話 ブロッコリー ( @nihonbuson )
Slide 2
Slide 2 text
⾃⼰紹介 ● ブロッコリー ( @nihonbuson ) ● 2018年10⽉にビズリーチへ転職 ● QA基盤推進室に所属 ● 社外活動 - JaSST Review(ソフトウェアレビューシンポジウム) 実⾏委員⻑ - WACATE(テストの宿泊型ワークショップ) 実⾏委員
Slide 3
Slide 3 text
今⽇話すこと ● 新卒研修を受け持つまでの経緯 ● 新卒研修のカリキュラム紹介 ● 新卒研修で⼯夫した点 ● 研修⽣の受講アンケート公開
Slide 4
Slide 4 text
新卒研修を 受け持つまでの経緯
Slide 5
Slide 5 text
ビズリーチ社内での取り組み ● TDD講座&演習は定期的に実施していた ● 「TDDで⾏っていこう︕」という⽂化がある
Slide 6
Slide 6 text
⼊社時の開発者の印象 ● ⾮常に品質に対して興味を持っている ● テストもどうにかしたいと思っている ● ただし、テストのやり⽅が分からない →在籍社員向けにテスト講座を実施
Slide 7
Slide 7 text
今年の新卒研修監修者からの希望 ● 今年の新卒研修の監修をしていた⼈からの希望 ○ TDDのやり⽅を伝えてほしい ○ 期間は1⽇ →TDD以前に伝えるべきことがある︕
Slide 8
Slide 8 text
私が提案した新卒研修の内容 ● 2⽇間 ● 内容は以下の4つ ○ テストに対しての考え⽅ ○ テスト設計について ○ ⾃動テストについて ○ TDD
Slide 9
Slide 9 text
新卒研修の カリキュラム紹介
Slide 10
Slide 10 text
カリキュラム(1⽇⽬ 1限⽬) ● 品質とは何か︖テストとは何か︖ ○ 品質、テストの⽬的 ○ テストの7原則 ○ Vモデル、Wモデル ○ テスト観点 ○ 品質特性 ○ テストレベル ○ CheckingとTesting ワーク ワーク ワーク D3QAや JJUGでも 講演
Slide 11
Slide 11 text
カリキュラム(1⽇⽬ 2限⽬) ● テスト設計(その1) ○ テスト設計の⽬的 ○ テスト設計の紹介 ■ 同値分割法 ■ 境界値分析 ■ 状態遷移 ワーク ワーク ワーク D3QAや JJUGでも 講演
Slide 12
Slide 12 text
カリキュラム(1⽇⽬ 3限⽬) ● テスト設計(その2) ○ テスト設計の紹介 ■ ディシジョンテーブル ■ CFD ○ ⾼位テストケースと低位テストケース ○ 適切なテストケース名 ワーク デモ
Slide 13
Slide 13 text
カリキュラム(1⽇⽬ 4限⽬) ● ⾃動テスト ○ ⾃動テストのピラミッド ○ テスト⾃動化の8原則 ○ E2Eテストとは ○ TDDの書き⽅ デモ デモ
Slide 14
Slide 14 text
カリキュラム(1⽇⽬ 5限⽬) ● TDDの書き⽅ ○ TDDの写経 ○ TDDの実践 ワーク
Slide 15
Slide 15 text
カリキュラム(1⽇⽬ 6限⽬) ● モブワーク ○ モブワークとは何か︖ ○ モブワークで気をつけること
Slide 16
Slide 16 text
カリキュラム(2⽇⽬ 1限⽬) ● チームでTDDのサイクルを体験 ○ モブワーク&TDD ■ FizzBuzz ○ ソフトスキル ワーク
Slide 17
Slide 17 text
カリキュラム(2⽇⽬ 2限⽬) ● ⾒やすいコード ○ モブワーク&TDD ■ クラスの設計が必要なお題 ○ 読みやすいコードへの意識 ○ テストケース名の⼤切さ ワーク
Slide 18
Slide 18 text
カリキュラム(2⽇⽬ 3限⽬) ● レガシーコードに⽴ち向かおう ○ レガシーコード ○ リファクタリング ○ Code Smell ○ モブワーク&TDD ■ Tennis-Refactoring-Kata ワーク
Slide 19
Slide 19 text
カリキュラム(2⽇⽬ 4限⽬) ● TDDサイクルが⾝についたかの確認 ○ モブワーク&TDD ■ Number Names ■ Cyber Dojoを利⽤ ○ TDDサイクルが⻑いとどうなるか ○ レガシーコードを作成する過程 ワーク
Slide 20
Slide 20 text
新卒研修で ⼯夫した点
Slide 21
Slide 21 text
1⽇⽬で⼯夫した点 ● を多めにした ○ 極⼒、新卒研修⽣に考えさせた ● TDDのコーディングを動画にして、研修⽣に配布した ○ 字幕も付け、TDD中の思考も極⼒伝えた ワーク
Slide 22
Slide 22 text
2⽇⽬で⼯夫した点 ● モブワークのやり⽅を題材ごとに変えた ○ やり⽅についてはブログ参照 ■ http://nihonbuson.hatenadiary.jp/entry/2018/12/25/193000 ● モブワーク中に発⽣した困りごとを題材に解説した ○ ⾃らの体験を基に⾏うので納得度が⾼い
Slide 23
Slide 23 text
研修⽣の 受講アンケート公開
Slide 24
Slide 24 text
研修⽣からの評価 受講者平均9.75
Slide 25
Slide 25 text
研修⽣の感想(1) ● とても勉強になった。 テストを書く意義や、チーム開発の⾯⽩さと難しさを 学べた。 ● 開発の考え⽅がすごい変わるし⾝に付く ● テストは⾯倒なものという概念が払拭できた。
Slide 26
Slide 26 text
研修⽣の感想(2) ● ぜひ、来年もまた受けたいと思いました。 特に、 「なぜ」テストを書くのか︖ 「なぜ」モブプロをやるのか︖ やるべき理由をぶらさず、 聞くのではなく「体験」するを通して教えてくれた
Slide 27
Slide 27 text
研修⽣の感想(3) ● 個⼈開発の中で、テストをきちんと書いていたが、 これまでは実装の後にテストを書いていた。 しかし、それではただ実装に合わせてテストを 書いていたので、何の意味もないことが理解できた。 実際に、このような開発を⾏なっているエンジニアは 多いのではないのかと思うので、TDDを体験して、 本当のテストの意味をわかってほしい。
Slide 28
Slide 28 text
研修⽣の感想(4) ● テストに対する良質な考え⽅が⾝についた。 テストをやる機会が今までなかったので、研修で初めて やったが、⼀番初めにこんなに質の⾼いものを学べて とてもよかった。 研修構成として完璧すぎた。 2⽇間とても濃厚な研修で、 研修史上、最⾼の充実度だった。
Slide 29
Slide 29 text
まとめ
Slide 30
Slide 30 text
まとめ ● ⼊社後、テストのやり⽅について啓蒙 ● 啓蒙した実績を元に、新卒研修も2⽇間確保 ● テストの考え⽅からTDDのやり⽅まで⾏う カリキュラムを作成 ● ただ伝えるだけの講座ではなく、 体験型のコンテンツを⽤意 ● 研修⽣からも概ね良い評価を貰えた