Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AtCoderで始めるテスト駆動開発

1,168 views

Published on

AC Unit Test というツールの宣伝です (・∀・)

Published in: Technology
  • Be the first to comment

AtCoderで始めるテスト駆動開発

  1. 1. AtCoder で始める テスト駆動開発 @YujiSoftware
  2. 2. 前振り • 今年の4月にAC Unit Testというツールを公開 しました – AtCoder の問題ページから、ユニットテストを生成 する超便利なアドオン – このツールのGoogle Chrome版、ユーザ数が 全世界でなんと…!
  3. 3. ゼロ orz
  4. 4. Firefox版でも、たったの6名… (このうち2名は自分)
  5. 5. 目指せ100万ユーザ! • 今日は、某通販番組並みの売り込みで、この ツールを宣伝していきます!
  6. 6. AtCoder で始める テスト駆動開発 @YujiSoftware
  7. 7. (そもそも)テスト駆動開発とは • 以下の工程を短いスパンで繰り返す開発手 法のこと – 最初にユニットテストを書く – テストが動作する必要最低限な実装を行う – コードを洗練させる
  8. 8. SIerにとっての テスト駆動開発のメリット • デグレがすぐにわかる – プログラムの修正が容易になる • バグを減らせる – お客様からの信頼が向上する
  9. 9. …とかどうでもよくて
  10. 10. プログラマにとっての テスト駆動開発のメリット • テンポよくコードが書ける! – 楽しい! – これが大事! コーディ ング テスト
  11. 11. どうすれば、テンポを体感できるか • ユニットテストを書くのは難しい – だいたい、テンポを体感する前に挫折する • そこで、まずはAtCoderでテスト駆動開発のテ ンポを体感してみよう!!
  12. 12. AtCoder とは • インターネット上で参加できるプログラミング コンテストのサイトのこと – プログラミングコンテストとは? • 問題で与えられた条件に従って、より速くより正確にプ ログラムを書く競技 – AC (Accept、正解)を目指す • 入力と出力が明確 → テスト駆動プログラミングと相性がいい
  13. 13. AtCoder とは • AtCoderの特徴 – 問題文が日本語で書かれている – ほぼすべての問題に解説がある – 社長のツイッター(@chokudai)がおもしろい
  14. 14. それではやってみましょう! AtCoder Regular Contest 039 – A問題 http://arc039.contest.atcoder.jp/tasks/arc039_a
  15. 15. 準備 • eclipse, Visual Studio などお好みのIDE • AC Unit Test(ユニットテスト自動生成ツール) – Google Chrome 版 https://chrome.google.com/webstore/detail/ac-unit- test/lmahhninbclefepjbcdfbcjnancipfmi?hl=ja – Firefox 版 https://addons.mozilla.org/ja/firefox/addon/ac-unit-test/
  16. 16. まず、テストを生成 • AtCoderの問題ページで、 右クリック → [ユニットテストを生成] (注)AC Unit Testの機能です
  17. 17. IDEに貼り付けて… • IDEで、右クリック → [貼り付け] – できあがり!
  18. 18. プログラムを書く • 腕の見せ所!
  19. 19. テストを実行 • そして失敗… orz
  20. 20. プログラムを修正して… • かきかき…
  21. 21. 再びテストを実行 • 今度は成功(・∀・)
  22. 22. いざジャッジ! • AtCoder にプログラムを提出! – (非公開の)さまざまなテストデータをもとに、プロ グラムが正しいか判定される
  23. 23. 結果は…! • WA = 不正解 (´・ω・`) – まだ「どこか」がおかしい
  24. 24. テストを追加 • コードを見直してもわからなければ、手動でテ ストを追加 – 今回の問題はパターンが限られているので、全 パターン網羅で
  25. 25. 再びテスト実行 • テストが落ちた! – 安心して、プログラムを書き直せる状態
  26. 26. プログラムを修正して… • 落ちたテストをもとに、失敗箇所を特定
  27. 27. 再びふたたびテストを実行 • オールグリーン(・∀・) – デグレの心配もなし!
  28. 28. 再ジャッジ! • もう一度 AtCoder にプログラムを提出!
  29. 29. 今度こそ! • AC = 正解 (`・ω・´) – これで点数ゲット!
  30. 30. まとめ • AtCoder で、テスト駆動開発のテンポが体感 できる! – AC Unit Testはその第一歩になります! コーディ ング テスト
  31. 31. これを見たみなさん AC Unit Test を 使ってみたくなりましたね!
  32. 32. そんなあなたに朗報です!
  33. 33. 次回! AtCoder Beginner Contest 048 2016/12/04(日) 21:00~ 開催予定
  34. 34. さっそく AC Unit Test を使ってみよう!
  35. 35. AtCoder で始めるテスト駆動開発 ありがとうございました!
  36. 36. 注意事項 •AtCoder社の回し者では ありません(><) – AC Unit Test は、勝手に作った野良ツールです • ツール名に“AtCoder”と付いていないのはそのせい – 問い合わせは @YujiSoftware まで

×