テストを書いた方が良いところ 書かなくても良いところ
by
ぷらす
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
テストを書いた方が良いところ 書かなくても良いところ 2019/3/9 CAMPHOR- DAY 2019 京都大学 岸 直輝
Slide 2
Slide 2 text
テストコード書いてますか?
Slide 3
Slide 3 text
自己紹介 ● 岸 直輝 (@plus_kyoto) ● 京都大学 工学部 電気電子工学科 2回生 ● サーバーサイドの人 (GolangとかPythonとか) ● インターンでJava書いてる @ 東京
Slide 4
Slide 4 text
Q. 何のためにテストを書く?
Slide 5
Slide 5 text
A. 正しく動作するか確認するため
Slide 6
Slide 6 text
でもたくさんテストを 書く時間がないよ
Slide 7
Slide 7 text
どこの部分をテストしたら いいか分からない
Slide 8
Slide 8 text
大事なこと 動作をきちんと確認したい ところからテストを書いていく
Slide 9
Slide 9 text
例えば
Slide 10
Slide 10 text
DBアクセス ☑ CRUDが正しく動作しているか? ☑ 正しいSQLが発行できているか? (JOIN etc.) モックに差し替えられがちで 上のレイヤーのテストでバグが発見されにくい RepositoryとかDAOとか言う部分
Slide 11
Slide 11 text
認証周り サインインやサインアップ処理 セキュリティチェックは大事! ☑ バリデーションチェックされているか? ☑ 権限に応じたパーミッションが設定されているか?
Slide 12
Slide 12 text
例外処理 正常系よりも異常系の方が複雑になりがち ☑ 0やnull時の挙動 はチェックしたか?(ヌルポ) ☑ 内部エラーとレスポンスが一致しているか?
Slide 13
Slide 13 text
逆に書かなくてもいいこともある
Slide 14
Slide 14 text
ライブラリのラッパー ● 有名なOSSなどはしっかりテストが書かれている ● 単にライブラリのAPIを呼ぶだけのコードを テストする意味はない テストの重複は時間の無駄
Slide 15
Slide 15 text
複数から呼ばれる単純な処理 ● コード = 仕様 レベルの単純な処理 ● バグってても、呼び出し元のテストが 落ちるのでバグ検出可能 ただし、複雑な処理の場合は 原因切り分けのために、テストを書いた方が良さげ
Slide 16
Slide 16 text
まとめ
Slide 17
Slide 17 text
まとめ ● モック化される部分のテストは書こう ● ないがしろにしがちな例外処理はきちんと確認しよう ● テストを書かなくてもいい部分があると認識しよう テストを書いてバグにハマらない 快適なコーディング生活を
Slide 18
Slide 18 text
Thank you Twitter : @plus_kyoto GitHub : naoki-kishi