タグ

TDDとTddAdventJpに関するt-wadaのブックマーク (19)

  • 不具合にテストを書いて立ち向かう - t-wadaのブログ

    テストを行っている品質保証チームや、実際にシステムを使っているお客様から不具合が報告されたとき、あなたはどう思いますか? 悲しんだり、恥ずかしいと思い、不具合修正にすぐに着手したいと気がはやるのが人情というものです。しかし、焦っているときに行う作業はしばしば視野が狭く、一つの不具合修正が三つの新たな不具合を生んでしまうようなことになりがちです。 テスト駆動開発(TDD : Test Driven Development)は、プログラマが自分の不安を克服し、自分が書くコードに自信を持ちながら一歩一歩進んでいくための手法です。不具合の発生は、端的に言えばこれまでの「自信」を揺らがせる事態です。テスト駆動開発者は不具合にどう立ち向かうのでしょうか? やはりテストを書いて立ち向かってゆくのです。私はテスト駆動開発を数年間実践してきた中で、心がけているひとつの「掟」があります。それは「不具合の修正時

    不具合にテストを書いて立ち向かう - t-wadaのブログ
    t-wada
    t-wada 2013/12/25
    『プログラマが知るべき97のこと』に寄稿したエッセイを CC BY 3.0 の条件下で公開しました #TDDAdventJp #97prog_ja
  • 最近行ったTDDの講演や寄稿について - t-wada の日記(旧)

    こんにちは、だんだんブログ勘を取り戻していきたい和田です。このエントリは TDD Advent Calendar 2013 の 11 日目のエントリです。このエントリでは、最近行ったテスト駆動開発関連の講演や寄稿に関して、この機会にまとめておきたいと思います。 DevLOVE 現場甲子園 まず 11/9 にDevLOVE現場甲子園2013にて「テストを書く文化を育てる戦略と戦術」というタイトルで短い講演をさせて頂きました。DevLOVE 甲子園は楽天第2タワー大広間の四隅で最大四つの講演が同時に行われるという意欲的なイベントで、話す方も気合い(と声量)が必要な場でした。 この講演では、開発者が自動テストを書く文化が無かった組織に自動テストの文化を育てる際の姿勢、心がけについて短い時間でまとめました。そのときの講演資料がこちらです(ライセンスは CC BY です)。 テストを書く文化を育てる

    最近行ったTDDの講演や寄稿について - t-wada の日記(旧)
    t-wada
    t-wada 2013/12/11
    最近行った TDD に関する講演や寄稿についてまとめました #TDDAdventJp
  • TDD の素振りをしよう - haru01のめも

    このエントリは、 TDD Advent Calendar jp: 2012 : ATND の 18 日目の参加エントリです。前日のエントリは @t_wada さんの「愛せないコードを書くには人生はあまりにも短い」というタイトルで TDD について講演させていただきました #TddAdventJp #devlove2012 - t-wada の日記(旧)でした。 ここでは TDDの素振りのススメを語っていきます。 素振り重要 おそらく、いきなり番の仕事で、初めてTDDを実践しようにも、体や頭や心がついてこなくて、時間がかかってしまったり、フラストレーションが溜まり、やがて中断してしまうのではないでしょうか。 実際に体-頭-心が動くようになるには、普段からTDDやプログログラミングの練習、素振りが欠かせません。野球選手もいきなりバッターボックスに立つのではなく、日々の素振りやバッティング練習

    TDD の素振りをしよう - haru01のめも
    t-wada
    t-wada 2012/12/18
    TDD の学習を行うための素振り、ネット上で定番のお題まとめに、さらに経験からの言葉やレベルアップのための縛り、そして応用トピックまで続く素晴らしいエントリ #TddAdventJp
  • 軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ

    これは、TDD Advent Calendar jp:2012 の16日目のエントリーです。前日のエントリーは、@pocketberserkerさんの「Specs2のParameterized Testのはなし」でした。 ご存じの方も多くなっていると思いますが、「テスト駆動開発(以下、TDD)」とはテストコードを先に書くテストファーストを基盤とした開発手法です。先にテストコードを書く事により、これからどのようなプロダクションコードを書こうとしているかを明確にすることができることが特徴です。このため、テストの技法というようりは設計の技法です。 テスト駆動開発を実践することにより多くのメリットを得ることができます。このことは2011年のAdvent Calendarで言及しました(TDDを学ぶべき10の理由 #TddAdventJp)。TDDは簡単に導入することができる一方で、実践するのは非常

    軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ
    t-wada
    t-wada 2012/12/18
    『JUnit実践入門』著者の渡辺さんによる、非常に力が入ったエントリ "不安に感じない部分は省略することで、テスト駆動開発は軽量でもっと使いやすい開発技法になるのではないでしょうか" #TddAdventJp
  • Specs2のParameterized Testのはなし - pocketberserkerの爆走

    はー、TDD Advent Calendar 2012の15日目ですねー。 誘われたのはいいけど特に書くことないなー、なにかないかなーと考えていたらタイムリミットが近づいてきて胃が痛くなってきたので、とりあえずダミー記事をあげておきます。いつか物の記事がupされるかもしれません(フラグ)これもアリかなということで小ネタ。 SpockのParameterized Testあるよね こんな感じの。 import spock.lang.Specification import spock.lang.Unroll class HogeSpock extends Specification { @Unroll def "fizzBuzzへの入力値が #num の時は #res が返される"() { def sut = new HogeJava() expect: sut.fizzBuzz(num)

    Specs2のParameterized Testのはなし - pocketberserkerの爆走
    t-wada
    t-wada 2012/12/18
    Specs2 (Scala のテスティングフレームワーク) でも Spock (Groovy のテスティングフレームワーク) のような書き方が出来るよという話 #TddAdventJp 没ネタも面白そう。
  • HOME | deactivate-domain

    You recently received an email asking you to confirm your contact details. Because you didn’t confirm within 15 days, your domain was deactivated. ​ Final reminder: we’re holding onto your domain for an additional 7 days. After that, you won’t be able to reactivate it. To keep this domain, reactivate it as soon as possible.

    t-wada
    t-wada 2012/12/18
    シェルスクリプトで TDD 非常に良いな。そしてテストに失敗したとき赤くなる拡張まで!
  • JUnit実践入門 MSTest用パッチ #TddAdventJp - 亀岡的プログラマ日記

    GUIテストについて書くといったな。あれは嘘だ』(C.V 玄田 哲章) というわけで、TDDアドベントカレンダー13日目です。タイトル通り、MSTestの話をします。 昨日はTugu Katagiriさんの【TDD Advent Celndar 2012】12日目:虫退治もTDD!+オマケ話でした。バグをテストを書いて立ち向かう、というのはTDDの取っ掛かりとしてもいいですよね。和田さんもきのこで書いておられましたし。 なぜMSTest? TDD界隈では、結構な数のC#用のチュートリアルがあります。しかし、MSTestは意外に取り扱われることが少ないです。実際2010までは実質Pro以上の有償版専用でしたし、なかなか初心者用のチュートリアルとして組むのもためらわれるのがあったのかと思います。やはり主流派NUnitという感があります。*1。 しかしVS2012からTestExploler

    JUnit実践入門 MSTest用パッチ #TddAdventJp - 亀岡的プログラマ日記
    t-wada
    t-wada 2012/12/18
    『JUnit実践入門』を VisualStudio2012 + MSTest でやる話。最後の方に出てくる Chaining Assertion が良いなぁ。
  • 【TDD Advent Celndar 2012】12日目:虫退治もTDD!+オマケ話

    片桐 継 は こんなやつ かたぎり つぐ ってよむの 大阪生まれ河内育ちなんだけど 関東に住みついちゃったの 和装着付師だったりするの エセモノカキやってたりするの VBが得意だったりするの SQL文が大好きだったりするの 囲碁修行中だったりするの ボトゲ好きだったりするの F#かわいいよF# 正体は会った人だけ知ってるの 空気読まなくてごめんなさいなの わんくまリンク C# VB.NET掲示板 わんくま同盟Blog WindowsGo言語 ネット活動 SNSは疲れました TDD Advent Celndar 2012 12日目の記事になります。 11日目は @bash0C7 さんの ハイプレッシャーを克服するためのテスト駆動開発の重要な「二歩目」#TddAdventJp - koeだめ でした。 プ、プレッシャー……、読んでて、TDDとっかかりの頃の「どーすればいいんだ」的な気持ちを思

    t-wada
    t-wada 2012/12/18
    不具合にテストを書いて立ち向かうテクニックはとても重要ですよね!
  • Rhino.Mocksをちょっとだけ幸せにするお助けクラス - Since 1975

    これはTDD Advent Calendar jp: 2012参加記事です。 前日(7日目)は、高野将さんの「TDDにIDEを活用しよう (VS2012+CodeRush Xpress)」でした。 さて、私の方はというと…ATNDの方にコメントで windows8から搭載された、名前を出すことがはばかれる例のヤツをNUnitでテストする時の注意点とか(仮) なんて書きました。 最大の敵は、なんといってもasync / await機構が対応していなかったためテストが書きづらく、そのための支援クラスをいくつか書いたので、それをさらそうと思っていました。 思っていました….。 そんな折、 NUnit 2.6.2 リリース ~ async/await に対応! (www.tdd-net.jp) とのことで、もはや書く意味なくなりました。 なくなりました….。 なので別ネタに切り替えます。 で、最近

    t-wada
    t-wada 2012/12/18
    Rhino.Mocks (.NET のモックライブラリ)の使い方を便利にするためにヘルパークラスを作成した話
  • ハイプレッシャーを克服するためのテスト駆動開発の重要な「二歩目」#TddAdventJp - koeだめ 過去アーカイブ[〜2013-12-14]

    TDD Advent Calender 2012, 12/11 のエントリーです。 昨日は @katzchang によるgauche unitを書いた話でした。お疲れ様です。とてもいい話でしたね。 いつもと違うプレッシャー さて、先日、サポーターズという学生と企業とを「支援」でつなげる就活サービスを行なっている人たちが主催の、エンジニア職に興味がある学生向けライブコーディングイベントに登壇し、学生のみなさんにいつもの開発を披露するという機会がありました。 いつもの開発を披露するということで、いつも通りのテスト駆動開発を披露したのですが、いつもと随分違う環境とプレッシャー下においても、テスト駆動開発はとても良い感じに機能し、これが相当に具合がよろしかったです。 ライブで思考を垂れ流してる様子をオーディエンスたち、しかもプログラマー業を生業としている人ってどんな風に仕事してるんだろうかって期待

    ハイプレッシャーを克服するためのテスト駆動開発の重要な「二歩目」#TddAdventJp - koeだめ 過去アーカイブ[〜2013-12-14]
    t-wada
    t-wada 2012/12/12
    駆動する力に関する気づきを記した良エントリ! "最初のコケるケースが踏み出した一歩ならば、Fakeで通すのが地面を蹴り上げる二歩目と言えます。この二歩目こそが開発を駆動する力" #TddAdventJp
  • gauche unitを書いた

    README.md このgistは TDD Advent Calender 2012, 12/10 のエントリとして書かれたような気がします。昨日、12/9のエントリは @setoazusa さんの JUnitテストの実行環境をバージョンアップする時の落とし穴 #tddadventjp – ふぃーるどのーつ@はてな だったそうです。 そう、だれがJSTに従うと言った? さて、私はいま社内読書会として 計算機プログラムの構造と解釈、通称SICP ってやつを読んでいて、ちょうど2章がもう少しで終わるかなーというところなんですが、その中ではデータ構造の操作だったりをする手続き(「関数」とは言わない)を作ったりして、それを「accumulatorを使うように直してみよう」みたいな感じで、 手続きの構造を変更 させられるわけで、もちろんそのときは、 手続きの入出力が変わらない ようにしなければならな

    gauche unitを書いた
    t-wada
    t-wada 2012/12/12
    学習中の言語でオレオレ xUnit を書くのは、言語のメタプログラミング機能を学ぶ良い機会になり、理解が深まるきっかけになると思います。
  • JUnitテストの実行環境をバージョンアップする時の落とし穴 #tddadventjp - bluebird

    これはTDD Advent Calendar jp: 2012参加記事です。 前日(8日目)は、KTZさんの「Rhino.Mocksをちょっとだけ幸せにするお助けクラス」でした。 xUnitによるテスティングフレームワークの共通仕様として、「テストクラス内のテストの実行順序は不定」というのがあります。 とはいえこの仕様をテストを書く上で意識することはあまりありません。テストのあるべき姿として、テストメソッドは他のメソッドから独立しているべきですし、JUnitの場合、ほとんどの実行環境上で、ソースコード上の並びと同一順でテストが実行されていたからです。 しかしJava7(Oracle実装)からは事情が異なります。 package jp.fieldnotes.java; import org.junit.Rule; import org.junit.Test; import org.junit

    JUnitテストの実行環境をバージョンアップする時の落とし穴 #tddadventjp - bluebird
    t-wada
    t-wada 2012/12/12
    Java7 でリフレクションで取れる順番が変わった混乱の結果 JUnit4.11 からはテスト実行順序のデフォルトが定まり、かつカスタマイズ可能になった話 (とはいえテスト実行順序には依存しないのがベスト) #TddAdventJp
  • TDDにIDEを活用しよう (VS2012+CodeRush Xpress) #TddAdventJp by @masaru_b_cl

    TDDにIDEを活用しよう (VS2012+CodeRush Xpress) #TddAdventJp by @masaru_b_cl
    t-wada
    t-wada 2012/12/12
    Visual Studio 2012 + CodeRush Xpress + Quick Test Switcher をフル活用して TDD (デモ動画付き!)
  • デシジョンテーブルを使用してテストしてみよう #TddAdventJp - 世界のやまさ

    この記事はTDD Advent Calendar jp: 2012 : ATND の6日目です。 前日(5日目)は @a_suenami さんの 受託開発でTDDを導入するということ でした。 デシジョンテーブルを使ってテストしたい! 仙台で行われている、仙台ソフトウェアテスト勉強会とデシジョンテーブルとSpockで試すTDD(ネタ) - pocketberserkerの爆走にインスパイアされ、テスト技法としてデシジョンテーブルを書いた後に、具体的にどのようにテストの自動化を行うか考えてみました。 今回は(も?)FizzBuzzをお題としたいと思います。 デシジョンテーブルとは? デシジョン・テーブルを活用するを参照してください。以下引用します。 デシジョン・テーブル(ディシジョン・テーブル)は decision table、 つまりそのまま訳せば「決定表」です。 様々な事情・条件を考慮し

    デシジョンテーブルを使用してテストしてみよう #TddAdventJp - 世界のやまさ
    t-wada
    t-wada 2012/12/06
    おお、 C# にも Gherkin 形式を使えるフレームワークがあるのか!
  • 受託開発でTDDを導入するということ #TddAdventJp - assertInstanceOf('Engineer', $a_suenami)

    このエントリは、TDD Advent Calendar jp: 2012の5日目の参加エントリです。 前日は、@irofさんの「思い通りに動くコードを書きたい」でした。 このエントリでは、受託開発においてTDDを導入することについて考察していきたいと思います。 自社サービスとして継続的に機能改修をしていくのに対して、明確な納期がある受託開発ではシステムの品質を求められるタイミングも、その内容も異なるため、TDDを実践するにしても気をつけないといけないことがあります。 そんな、僕が最近考えていること、気をつけてること・今後気をつけようと思っていることについて書いていこうと思います。 一般的なTDDのメリット まずは受託開発の話に入る前に、一般的なTDDのメリットについておさらいしたいと思います。 TDDとは分析・設計手法であり、プロダクトコードを書く前にレッドになるテストコードを書こうとする

    受託開発でTDDを導入するということ #TddAdventJp - assertInstanceOf('Engineer', $a_suenami)
    t-wada
    t-wada 2012/12/06
    "「変更に強い」ということが価値として見なされにくい" ジレンマ。そして決意表明。
  • 思い通りに動くコードを書きたい #TddAdventJp - 日々常々

    2012年のTDD Advent Calendar、4日目でございます。 TDD Advent Calendar jp: 2012 : ATND 3日目 @grimroseさん open build/reports/life/index.html: スタッフになってみませんか? #TddAdventJp 5日目 @a_suenamiさん 受託開発でTDDを導入するということ #TddAdventJp - assertInstanceOf('Engineer', $a_suenami) 自分にとってのTDDを考える 「TDDとは?」なんて掲げたところで、万人に通じる明確な答えを私は持っていません。原典はありますが、相応に進化も派生もしておりますので、固執する必要はないと思います。その上であえて「私にとってのTDD」を挙げるなら、以下の二点になります。 思い通りに動くコードを書く コードの成長

    思い通りに動くコードを書きたい #TddAdventJp - 日々常々
    t-wada
    t-wada 2012/12/05
    #TddAdventJp 四日目は @irof さんによる「自分にとっての TDD」。読ませる文章。 TDD を咀嚼して自分の言葉にしつつ、 strict な TDD 自身には縛られない姿勢。
  • スタッフになってみませんか? #TddAdventJp

    現在、アジャイルサムライ横浜道場の門下生として、勉強している会社員です。 横浜道場での参加レポートはこちらです。 今回は、TDDBC横浜 2nd seasonのスタッフとして参加したことをもとに、 スタッフになってみてはいかがですかというお誘いの内容です。 なぜ、ただの門下生がTDDBC横浜のスタッフとして参加したのかは、 その回のレポート(->こちら)を見ていただくとして。 レポートにはスタッフとして参加するメリットを書いたので、 ここでは体験から思いつきそうな不安や疑問について書いてみます。 スタッフと聞いて、「言語を使いこなしていないし…」と尻込みするかもしれませんが、 そんなことはありません。 確かに、ある程度言語を使える必要はありますが、TDDBCの場合予めお題が提供されていることがほとんどです。 ということは、前もって実践できます。 また、課題も過去の課題を利用する場合も多いの

    t-wada
    t-wada 2012/12/05
    #TDDBC にスタッフとして参加するすすめ "スタッフとして参加してみて改めてTDDによってより良い物を作りたいという意志を持つことが出来ました。未熟でも一歩づつ確実に前へ進むことが大切です" #TddAdventJp
  • TDDで思考を整理してみる #TddAdventJp : ハイパーレガシーコードクリエイターのblog

    2012年12月02日00:00 カテゴリAdventCalendar TDDで思考を整理してみる #TddAdventJp この記事はTDD Advent Calendar jp 2012( http://atnd.org/events/33846 )の記事です。 TDDでテストを書くときテストファーストで書きますよね。 テストファーストで書くとしたらテストに何を書くのでしょう。 私は「プログラムにさせたいこと、期待すること」を書きます。 プログラムを書くときに、手元にある紙にタスクを書くように、テストコードに「プログラムにさせたいこと、期待すること」を書きます。 そうすると、何をテストに書くか、このプログラムの挙動はなにか、ということを考えます。 すると私はこのプログラム、このクラス、このメソッドに何をさせたかったのか、というのが整理されます。 また、「あれ、このプログラム、振舞が似て

    TDDで思考を整理してみる #TddAdventJp : ハイパーレガシーコードクリエイターのblog
    t-wada
    t-wada 2012/12/05
    TDD と思考の整理について "黄金の三角形を回すことで思考が整理されることやリファクタリングの敷居が下がることはTDDの大きなメリットだと思います" #TddAdventJp
  • Try Dream Development : 夢の開発を始めよう #TddAdventJp - くりにっき

    TDD Advent Calendar jp: 2012 の1日目です。 初日ということで、TDDをとりまく環境について浅く狭く紹介したいと思います。 TDD(Test Driven Development=テスト駆動開発)とは何か? 普通の開発だと 実装して 全部終わったらユニットテスト TDDだと ユニットテスト 実装 リファクタリング(実装の粒度によってはあったりなかったり) 1に戻る 普通は一通り実装が終わってからテストを書くと思いますが*1、先にテストを書くこと(テストファースト)で全体的にメンテしやすいコードにできます。 詳しくは wikipedia:テスト駆動開発 参照。 TDDをすることにより何が嬉しいか 最初からテスト有りきで実装をするため、テストが網羅されている 後からテストを書く場合テストすることを前提とされていないことが多いため、実はこっちの方が難しいと思います あ

    Try Dream Development : 夢の開発を始めよう #TddAdventJp - くりにっき
    t-wada
    t-wada 2012/12/05
    今年の #TddAdventJp トップバッターは @sue445 さん!
  • 1