Oct 31, 2018 at AWS Dev Day Tokyo 2018 #AWSDevDay #AWSTDD
JUnit 実践講座 - シナリオベースのテストケースの書き方 2002/02/03 作成 石井 勝 目次 はじめに メソッドベースとシナリオベース サンプルプログラム - LoginFormTest クラス scenario メソッド verify メソッド Scenario インナークラス テストに応じてスタイルを変えよう シナリオベースの問題点について 特殊解をあらわにするヘルパーメソッド はじめに ここでは,テストケースの具体的な書き方として,シナリオベースのテストケースを紹介します.プログラミングスタイルガイド で述べたように,実際の開発ではテストコードはかなりの規模になります.どうしたらテストコードを読みやすく,メンテナンス性を上げることができるのでしょうか? …僕には,まだこの問題に対する満足な答えを得ることができません.しかし,シナリオベースでテストケースを書けば,場合によ
ソース public class FizzBuzz { private static final String RES_FIZZBUZZ = "FizzBuzz"; private static final String RES_FIZZ = "Fizz"; private static final String RES_BUZZ = "Buzz"; public static String replyBasedOn(int i) { String s; if (i % 3 == 0 && i % 5 == 0) { s = RES_FIZZBUZZ; } else if (i % 3 == 0) { s = RES_FIZZ; } else if (i % 5 == 0) { s = RES_BUZZ; } else { s = String.valueOf(i); } return s
いや、どこに「TDD 原理主義者」が居る訳ではないのですが、仮想敵としての「TDD 原理主義者」です(笑)。 早速、仮想な「TDD 原理主義者」の主な言い分を列記すると。 全てのプログラムは、テストコードから作成しなくてはいけないッ!!! 変更が発生した場合は、テストコードを修正してからッ!!! 全てのメソッドはテストコードを書くべきであるッ!!! UI 部分もいずれは xUnit を使わないといけないッ!!! 実コードとテストコードは同じ言語でなくてはいけないッ!!! な言い分がある…としますね。ええ、仮想ですから。実はケントベック著「テスト駆動開発入門」をざっと読んだだけだと上記な「原理主義」的な発言をし始めます。中身は、Java で書いてあるのですが、これをひと通り自分の使っている言語でやっていくと上記のような発言が「原理主義」的な発言でしかないことが分かります。 という訳で、以下、
こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基本のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに
私はテスト駆動開発(TDD)について、Kent Beckの著書『 Test-Driven Development By Example 』(邦訳『テスト駆動開発入門』)で学びました。これは大変優れた入門書で、TDDにますます関心を持つようになった私は、さらにSteve FreemanとNat Pryceの著書『 Growing Object-Oriented Software, Guided by Tests 』(邦訳『実践テスト駆動開発:テストに導かれてオブジェクト指向ソフトウェアを育てる』)を読みました。この本も私のお気に入りです。 ただし、両書には弱い部分もあります。現代の静的型システムがテストを補ったり、場合によっては置き換えたりできるかもしれないことには、全く触れていないのです。このような本を読んだだけでは、”typing”(型付け)と聞いてもキーボードの”タイピング”のほうを考
TDD/BDDの思想とテスティングフレームワークの関係を整理しよう:いまさら聞けないTDD/BDD超入門(2)(1/3 ページ) TDD/BDDの思想に触れ、フレームワークとしてxUnit、JBehave、xSpec、Cucumber、Turnip、TestDoxを紹介する。 前回の「テスト駆動開発/振る舞い駆動開発を始めるための基礎知識」でも紹介があったように、さまざまなテスティングフレームワークがあります。例えばTDD自体は、Kent Beck(ケント・ベック)氏が著書『テスト駆動開発入門』(ピアソンエデュケーション刊)の中で述べているように、「分析技法および設計技法であり、実際には開発全てのアクティビティを構造化するための技法」です。 TDD(テスト駆動開発)/BDD(振る舞い駆動開発)を実践することと、特定テスティングフレームワークを採用したり開発したりすることを分けて考えておかな
7. 本日のスケジュール 11:00∼12:15 TDD, ユニットテストに関する講演 12:15∼12:30 ペアプロとお題の説明 12:30∼13:30 ペア作成、昼食、自己紹介など 13:30∼15:00 演習(前半) 15:00∼15:30 レビュー① 15:30∼17:00 演習(前半) 17:00∼17:30 レビュー② 17:30∼17:50 振り返り ※休憩やお手洗いはご自由にお取りください 8. TDD Boot Camp(TDDBC) とは、テスト 駆動開発(Test Driven Development)につ いて、座学だけでなく、実習形式で手を 動かして体得することを目的とするイベ ントです。 http://devtesting.jp/tddbc/
和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く