タグ

TDDに関するkk6のブックマーク (17)

  • 「愛せないコードを書くには人生はあまりにも短い」というタイトルで TDD について講演させていただきました #TddAdventJp #devlove2012 - t-wada の日記(旧)

    このエントリは、 TDD Advent Calendar jp: 2012 の 17 日目の参加エントリです。前日のエントリは [twitter:@shuji_w6e] さんの「軽量なテスト駆動開発を目指して」でした。 久しぶりのエントリです。久しぶりどころか、なんと日記の更新が一年ぶりになってしまいました……(もはや年記ですね)。 昨日、二日間開催された DevLOVE 2012 の二日目最後の(?)講演として、「愛せないコードを書くには人生はあまりにも短い」というタイトルで TDD について講演をさせて頂きました。 DevLOVE では何度か登壇の機会を頂いているのですが、昨日はいつもとは少しだけ違いました。その違いとは「イベントで私以外にも TDD の事を講演する人が複数いる」ということでした。諸橋さん([twitter:@moro])の「テストに開発をもっと駆動させたい」と和智さん

    「愛せないコードを書くには人生はあまりにも短い」というタイトルで TDD について講演させていただきました #TddAdventJp #devlove2012 - t-wada の日記(旧)
    kk6
    kk6 2012/12/19
  • 事前設計とTDD - 2012-12-16 - やっとむでぽん

    実はモデリングが大好きです。元々はオブジェクト指向プログラミングを勉強しているところからUMLに(自然に)興味が向き、そこからオブジェクト指向設計とかオブジェクト指向分析とかそういう脇道にそれ(脇道とか言ったら怒られる!)、仕様も設計もこれからはオブジェクト指向だ!というありがちな若気の至りもありました。デザインパターンにも転んだし、責務!ロール!コラボレーション!ってのもやったし、重厚長大なフレームワークとかもなかなか楽しいですよねえ。ねえ? 今でも概念モデルとか大好物で、上の話を聞きながらうっかりとこんなオブジェクトモデリングをしてしまったりします。 そんなわけで、プログラミングする対象の仕様を理解しながら頭の中でモデリングして設計を進めてしまうのはやむを得ません。多かれ少なかれ、なにかしらの設計が浮かんできてしまいます。 でもTDDはテストを書きながら設計をします。先行して設計してし

    事前設計とTDD - 2012-12-16 - やっとむでぽん
    kk6
    kk6 2012/12/19
  • レガシーコード改善ガイド : 小野和俊のブログ

    以前からパラパラと部分的には目を通していたレガシーコード改善ガイドを、週末に最初から最後まで通して読んだ。 テスト駆動開発入門(以下TDD)がゼロからテスト駆動でソフトウェアを開発するための方法を示した書籍であるのに対し、書はテスト駆動で開発されなかったソフトウェアを、後からテスト駆動に変えていく方法を示した書籍である。書の定義によれば、最近開発されたソフトウェアでも、テストコードのないコードはレガシーコードであり、そのレガシーコードを改善し、レガシーコードでなくしていくための道筋を提示するのが書の目的だ。 TDDに興味は持ったものの、自分たちのソフトウェアはすでに完成してユーザーに使われており、今からTDD化のためだけに大きな予算や工数を取るわけにもいかず、「TDDは良いと思うけれど、次のプロジェクトから」という結論に落ち着いた事例を目にしたことがある人は少なくないだろう。そして

    レガシーコード改善ガイド : 小野和俊のブログ
    kk6
    kk6 2012/10/03
    この本も気になる。ただ結構値が張るのよね…
  • レッドバーに関するパターン・Break(休憩) - Strategic Choice

    Q:疲れたり、行き詰ったりした時はどうすべきか。A:休憩を取る。どうして?疲れたら、疲れていることに気付かなくなり、そのまま仕事を続け、ますます疲れてしまいます。その疲労は判断にネガティブに影響し、判断も疲労にネガティブに影響します。どういうこと?飲み物をとり、散歩し、居眠りをします。そして、手を洗い、直前の決定や記述した内容への感情を洗い流します。これだけ距離を置けば、欠陥のある考えから脱却できます。立ち上がるだけで「引数を逆にして試していなかった」と気付くこともあります。休憩は数分でも効果はあります。アイデアは逃げません。どうすれば?疲労の悪循環から抜け出すために、様々なレベルの休憩を取ります。数時間単位の休憩 キーボードの側に水の入ったボトルを置いておきます。そうすれば、定期的な休憩を生理的に取りたくなります。1日単位の休憩 定時後の約束は、睡眠不足で進捗が進まない場合に作業を止める

    kk6
    kk6 2012/08/12
  • RspecとCucumberでTDD/BDDを極める (The Rspec Bookの紹介) - Masatomo Nakano Blog

    の紹介第2弾。少し前、Twitter上でTDD/BDDについて盛り上がっていたので、このを紹介してみたくなった。 「The Rspec Book: Behaviour Driven Development With Rspec, Cucumber, and Friends」という。 このは、RspecとCucumberを使い、どう考え、どうシステムを作っていくか、というをチュートリアルを交えながら紹介する構成になっている。 ただUnit Testを紹介するだけではなく、Unit TestツールであるRspecに、BDDツールであるCucumberを組み合わせて使うことで、Unit Testでカバーできない部分をCucumberで補い開発をする、というところがこのの肝になっている。 このを読み、実践することで、Unit Test*だけ*を書いてシステムを作っているときのモヤモヤ感

  • C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう

    はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、JavaRubyPHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に

    C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
    kk6
    kk6 2011/12/15
  • TDDを学ぶべき10の理由 #TddAdventJp - やさしいデスマーチ

    かなり香ばしいタイトルですが、TDD Advent Calendar jp: 2011のエントリーとなります。前日の@bleisさんのエントリーの次になります。 はじめに TDD(テスト駆動開発)とは、「テストファーストを原則とし、テストが成功するようにプロダクションコードを書くというサイクルを繰り返す開発手法」です。XPのプラクティスの1つとして10年近く前に紹介され、ここ数年で再び1つのムーブメントとなっています。これは、TDD Boot CampがTDDへの敷居を下げ、体験する機会を提供した事も1つの大きな要因でしょう。 自分もTDDに魅せられたエンジニアの1人です。ぶっちゃけ、TDD信者とかTDD厨とか言われても可笑しくはありませんし、むしろ嬉しいくらいです。一方で、TDDを嫌う人もいるのも事実です。しかし、自分もTDDを銀の弾丸とは思っていませんし、適用しにくい領域もある事も理解

    TDDを学ぶべき10の理由 #TddAdventJp - やさしいデスマーチ
    kk6
    kk6 2011/12/10
  • TDDのはじめかた #TddAdventJp - 千里霧中

    エントリはTDD Advent Calendar jp: 2011の12/8の担当分の記事で、id:t-wadaさんの「右手に感情、左手に数値 - カバレッジを味方にしよう - t-wadaの日記」に続くものです。 はじめに TDDはシンプルな原則に則った手法ですが、とっつきの悪さもしばしば持たれがちです。また一連のTDD Advent Calendarで起こった議論や会話の中でも、TDDの始め方はどうすれば良いかという話が散見されましたので、自分の担当枠では「TDDのはじめかた」についてまとめたいと思います。なお紹介するのはあくまで数ある入門方法のうちの1つです。たぶん他にも色々な良い入門方法があると思います。 全体像 紹介する入門方法は以下のようなステップバイステップの構造となります。 いつでも軽快に使えるユニットテスト環境を構築する 必要と感じたらすぐテストを活用する テスト並行を

    TDDのはじめかた #TddAdventJp - 千里霧中
    kk6
    kk6 2011/12/10
  • TDD の基礎体力と、TDD に対する想い - ぐるぐる~

    TDD Advent Calendar 2011 の 4 日目の参加エントリです。 前半では、TDD を学ぶ前に身に付けておくといいと思う基礎体力について書きました。 後半は、まぁ、その。後悔はしていません。反論ウェルカム、議論しようぜ。 不安をテストに 「レッド - グリーン - リファクタリング」は、TDD の根っこの部分であり、これ自体が「どう TDD をやればいいか」を教えてくれるものではありません。 それに対して、「不安をテストに」というのは、「どう TDD をやればいいか」という指針を与えてくれる言葉です。 この言葉自体は、TDD Boot Camp で自分のものにできました。 不安については、テスト駆動開発入門では (言及されているものの) 自然に組み込まれていて、最初に読んだときには全然気づきませんでした。 しかし、TDDBC で id:t-wada (和田さん) に短くて

    TDD の基礎体力と、TDD に対する想い - ぐるぐる~
    kk6
    kk6 2011/12/04
  • http://atnd.org/events/22027

    http://atnd.org/events/22027
  • Test Driven Development With Python

    A quick overview of the popular unit testing frameworks in python. Covers unittest, py.test and nose

    Test Driven Development With Python
    kk6
    kk6 2011/10/19
  • PythonでTDD その2 – 日曜研究室

    さっき書いたばかりのPythonでTDDですが、Python2.7でunittestのdiscoveryができるようになった今、複数テストの自動実行がそんなに面倒な訳がないと思い、調べ直してみたところすげー簡単に全体テストとサブパッケージ毎のテストが出来ることが判明。 ディレクトリ構成は前回のままで、test.pyとtests配下の__init__.pyが必要なく、以下のコマンドでそれぞれ実行出来ます。 全体テスト(全部の単体テストを実行) python -m unittest discover -p '*test.py' -v サブパッケージ毎のテスト python -m unittest discover -s 'tests/tests_libs' -p '*test.py' -v 単体テスト python -m unittest discover -s 'tests/tests_li

    kk6
    kk6 2011/10/19
  • Rolling with Ruby on Rails

    Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology AI/ML Few technologies have the potential to change the nature of work and how we live as artificial intelligence (AI) and machine learning (ML). Future of the Firm Everything from new organizational structures and payment schemes to new expectations, skills, and tools will shape the future of the fi

    Rolling with Ruby on Rails
    kk6
    kk6 2011/10/19
  • テスト駆動開発・実践編 - Strategic Choice

    ケント・ベック師の著書で、TDDの教科書「テスト駆動開発入門」の、「Part1 Money オブジェクトの例」を写経して、TDDを「実践」し、これまで学習した「パターン」「プラクティス」を理解し、定着させます。目次テスト駆動開発・実践編01・黄金の回転(「第1章 複数通貨のMoney」より)テスト駆動開発・実践編02・テストファースト(「第2章 オブジェクトの退化」より)テスト駆動開発・実践編03・(「第3章 すべてに対する等価性」より)テスト駆動開発・実践編04・(「第4章 プライベート化」より)テスト駆動開発・実践編05・(「第5章 『フランク』に話す」より)テスト駆動開発・実践編06・(「第6章 再度、すべてに対する等価性」より)テスト駆動開発・実践編07・(「第7章 りんごとみかん」より)テスト駆動開発・実践編08・(「第8章 オブジェクトの生成」より)テスト駆動開発・実践編09・

    kk6
    kk6 2011/10/19
  • jQueryのためのテストツール QUnit でテスト駆動開発入門を写経する | バシャログ。

    こんにちは!まだまだ開発者テスト修行中のktanakaです。 今日は、jQueryについてくるユニットテストツールのQUnitで遊んでみます。 QUnitの概要 QUnitはjQueryプロジェクトの為のユニットテストツールです。(QUnit - ABOUTより)有名な各種xUnitフレームワークよりチェックのための関数も少なく、シンプルに書けそうな感じです。そしてなによりブラウザ上でテストが走ります。 Using QUnitを見るとテストに必要なものがわかりますが、必要なファイルは、jquery.js, QUnitのテストランナー(testrunner.js)とスタイルシート, テスト対象のコードとテストコードです。 Moneyオブジェクトの例を写経 いきなりjQueryプラグインのテストとか心臓に悪そうなので、普通のテストをやってみます。(dollar.test.js) ちなみにこのエ

    jQueryのためのテストツール QUnit でテスト駆動開発入門を写経する | バシャログ。
    kk6
    kk6 2011/10/09
  • なぜUnitTestは理解されない?

    TwitterでこんなTweetが流れた… エビデンスとしてNUnitGUIのスクリーンショットと、対応するテストコードが含まれている部分のVSのスクリーンショットを取る作業が終りません・・・ UnitTestのエビデンスって…なに? 一般的にテストのエビデンスというと、次の2点を指す。 テスト手順を明らかにするもの(ex. テスト設計書、テスト仕様書、...) テスト結果の証拠(ex. 画面ハードコピー、DBスナップショット、...) UnitTestでは、これはこのように解釈できる。 テスト手順を明らかにするもの = テストコード テスト結果の証拠 = 今実行すればテストが全てグリーンになること これがなぜか理解されず、軋轢とストレスと大きな工数追加になっている現場がずいぶんある。 なぜUnitTestはいつまでも理解されないのだろう。 余談。これらのことは、Seleniumなどを使

    なぜUnitTestは理解されない?
    kk6
    kk6 2011/05/30
  • #91 [Python][TDD]テスト駆動開発でFizzBuzzしてみようず! « Python « a wandering wolf

    Does a wandering wolf dreams of a wondering, sometimes programming sheep? 前回投下したエントリを受けて、今回はPythonでテスト駆動開発(TDD)をやっていこうと思います。 タイトルをご覧になっていただければ分かりますが、今回作りたいのはFizzBuzzプログラムです。 「FizzBuzzって何?」と思われた方は、以前上げたエントリを読んでいただけるといいかもしれません。 ところで、テスト駆動開発をするに辺り、オススメの教科書をご紹介しておきます。 テスト駆動開発入門 著者:ケント ベック 販売元:ピアソンエデュケーション (2003-09) 販売元:Amazon.co.jp クチコミを見る 実は、まだ私はこれを読んでいませんw ですが、TDDに精通する多くの方が書を推しており、私も今年中には読みたいと思っていま

    kk6
    kk6 2011/05/26
  • 1