こんにちは、おのぽんです。
徐々に桜も咲き始め、春を感じ始めましたね。
僕もだんだん薄着になっていったりと、服装にも変化が出始めました。
さて、この度弊社のエンジニア向けに実践的な内容のテストコード研修を行うこととなりました。
そして、そのテストコード研修の練習用リポジトリ「tc_practice」をオープンソースとして公開することとなりました!
https://github.com/onopon/tc_practice
本リポジトリは「テストコードはなんとなく知っているけど、どのように書いていけばいいかがわからない」という方向けの内容となっています。
また、リポジトリ内でdockerを利用しますが、dockerの知識がなくても、テストコードの練習を始めることのできるスクリプトを用意してあります。
実装ページは、ページにアクセスすると下記のログイン画面が出てきて、ログインするとマイページが表示されるという非常にシンプルなものとなっております。
しかし、この実装にはロジックやテストコードが至らない点がいくつかあります。
それらを問題集として ANSWERME.md にまとめました。
問題は全部で10問あり、問題を進めるにつれ、難易度が少しずつ上がっていきます。
本問題を全てこなせると、下記の理解が深まります。
- テストケースの考え方、テストコードを書く上でのポイント
- 与えられたロジックからテストケースを書く方法
- 与えられたテストケースからロジックを書く方法
- 仕様書からロジック・テストケースを書く方法
また問題を解き進める際、ロジックとテストを交互に眺めて実装していくこととなるので、実際のプロジェクトでの開発の仕方と似た動きが自然と身につくかと思います。
回答例は answerブランチ に用意していますので、ぜひご自身の勉強や講習会の題材としてお役立てください!
開発背景
テストコードに触れたことのない新入社員が僕と同じPhotorait本部に配属されました。
Photorait本部では、開発時のテストコードの追加に力を入れている真っ只中です。
そのため、その社員の方にも書いてもらうべく、テストコードの研修を行うことを決めました。
すると、その研修実施を聞きつけた他部署のエンジニア数名より「私もその研修に参加したいです」という嬉しいお声をいただきました。
もともと弊プロジェクトの新入社員向けに資料など準備していましたが、説明内容はテストコードの概要がメインとなっていたため、「需要があるのであればみんなにも参加してもらおう」と考え、その研修をオープン会議にしました。
そして、実に10名以上のエンジニアより参加したいとの声があがり、研修中も質問が飛び交いながらとても楽しく開催することができました。
テストコードの研修でいただいた反響や、これをきっかけに作成したアンケートの集計結果を元に、もっと実践的な内容でテストコードの研修を行うことを決めました。
この研修で活用しようと思い開発したリポジトリが、tc_practice です。
もうすぐ新年度が始まり、新卒や新入社員がたくさん会社に入社することと思います。
そんな中、僕は新卒研修としてテストコードの研修を担当することとなりました。
ちょうどtc_practiceを開発したので、早速こちらを利用しながら研修を進めていく予定です^^
—
今回は、テストコード研修のためのリポジトリをオープンソースとして公開させていただいたお話と背景をまとめてみました。
弊社では、引き続き一緒に働いていただけるエンジニアを募集しております!
tc_practiceのお話はもちろん、
- 目標達成や事業の成長を一緒に感じたい
- チーム貢献に尽力できて、またその成果も評価してほしい
- 自由に企画・提案しながら社内にアクションを起こしたい
という方がいらっしゃいましたら、是非一度弊社社員とお話させてください!
最後までお読みいただきありがとうございました!!