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

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