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
テストを書いた方が良いところ 書かなくても良いところ 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