タグ

TDDに関するo_showのブックマーク (15)

  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • 右手に感情、左手に数値 - カバレッジを味方にしよう - t-wada の日記(旧)

    このエントリは、 TDD Advent Calendar 2011 の 7 日目の参加エントリです。前日は @sue445 さんの実録!TDD風景でした。 しかし TDD Advent Calendar 2011 は、名エントリが多いですね……ハードルが上がり続けていて胃に穴があきそうです。私の言いたいことの多くは、既に @bleis さんのTDD の基礎体力と、TDD に対する想いや、 @shuji_w6e さんのTDDを学ぶべき10の理由で語られています。二つとも素晴らしいエントリなので、ぜひ読んでみてください。 そろそろカバレッジについて一言いっておくか さて、今日書くのは、カバレッジについてです。 @bleis さんのエントリに以下のような記述があります。 もう一度言いますが、TDD のテストは Developer Testing であって、品質保証を目的としたテストではありません

    右手に感情、左手に数値 - カバレッジを味方にしよう - t-wada の日記(旧)
    o_show
    o_show 2011/12/08
  • Better Mocking in Ruby

    In TDD we write tests to discover the interface of the object we’re testing. Mock objects extend TDD by discovering an object’s collaborators. [1] By mocking an object’s collaborators we can truly test an object in isolation. Changes in the implementation of its collaborators, but not their interface, will not cause a test in which those collaborators are mocked out to fail. This results in a more

    Better Mocking in Ruby
  • Infinity Test: Flexible Continuous Testing with Multiple Ruby Implementations

    Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news. Infinity Test is a new library by Tomas D'Stefano that pitches itself as a "flexible alternative to Autotest." If you want your project's tests (both RSpec or Test::Unit are supported) to be automatically run when changes are made, this is a great place to start. The big benefit of Infinity Test is the support for testing

    o_show
    o_show 2010/09/30
    Autotestのようなもの。最初からRVM連携が視野に入ってる。DSLで動作を設定可能。
  • The Pragmatic Bookshelf | Continuous Testing with Ruby

    Releases, Offers & More Be the first to hear about our newest content, best promotions and upcoming events. Plus get 25% off your next purchase. Newsletter Sign Up Download Accounts Your email address is your account identifier. You can create a password, or just download from the links sent via email. My Orders (Resend order emails) How We're Different Hands-on instructions Solutions to real-worl

  • RSpec の入門とその一歩先へ、第3イテレーション - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ、第3イテレーション』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 大きく時間が開いてしまいました(すみません…)、RSpec 入門の第三イテレーションです。 (第3回 coffee.rb の開催に合わせたライブ更新で書かれましたので、まだ詳細の説明は途中のところもあります。) 第1イテレーション 第2イテレーション 前回終了時点のコードと実行結果 この「RSpec 入門とその一歩先へ」シリーズでは、メッセージフィルタを RSpec を使って開発することで、 RSpec の機能と TDD を同時に学ぶことを狙いとしています。 前回終了時点のコードと実行結果をまず記します。 message_filter.rb class MessageFilter def initialize(*w

  • RSpec の入門とその一歩先へ、第2イテレーション - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ、第2イテレーション』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 #coffee.rb の写経会に招かれた(というよりは押しかけた?)ので、先日の RSpec チュートリアルの続きを記します。このエントリは写経会に参加しながらのライブ更新でした。 (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 前回終了時点のコードと実行結果 前回終了時点でのコードを以下に記します。 message_filter.rb class MessageFilter def initialize(word) @word = word end def detect?(text) text.include?(@word) end end message_filter_spec.rb r

  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

    o_show
    o_show 2010/02/28
    超わかりやすい
  • TDDを行うとソフトウェアの信頼度が上がる理由 - babie, you're my home

    「TDDはテスト手法か否か」の議論で、いまいち私の考えが伝えきれてないようでした(link1, link2)ので、表題にあることを通じて、私のTDDに対する理解の説明を試みます。 用語説明 題に入る前にこれから使う用語を説明しておきます。 科学的方法には、伝統的な方法としてベーコン由来の実証主義、割と最近のポパー由来の反証主義があります。それぞれ批判はあるのですが、2大潮流といって差し支えないと思います(私は科学哲学については勉強中であり近年の研究はフォローしてないこと、また、観点が反証主義よりなことを、お断りしておきます)。 ここでは、 実証主義……実証の積み重ねから信頼度の高い理論が導けるとする態度 反証主義……様々な反証テストに耐えた理論が信頼度が高いとみなす態度 とします。 先の用語に出てきた、実証、反証とは、 実証……ある理論を経験や実験から真であると証明すること 反証……ある

    TDDを行うとソフトウェアの信頼度が上がる理由 - babie, you're my home
    o_show
    o_show 2010/02/26
  • TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中

    先日、twitter上でTDDに関する談義があったのだけれど、気になったのがそれに対するテストや品質の方々の反応。特にTDDの戒めである「品質保証を目的としていない」という書き込みに対してネガティブな反応が多かったのが気になった。 開発経験もあり定義や概念の扱いに注意深い方々なので誤解の可能性はないと思うが、結構問題が入り組んでいるように感じたので、今回テストエンジニアと開発者の視点の差異を焦点にして一部の論点を整理したいと思う。 開発者のいう品質保証の定義 まずTDD談義で開発者が「品質保証のためのテスト」「品質管理のためのテスト」などと呼んでいるテストの定義は、乱れや不統一感も多少あるけど、基的にKent Beckや和田さんが使われているQAテストの定義によるもの(http://gihyo.jp/dev/serial/01/tdd/0003)。 この定義で「品質保証のための単体テスト

    TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中
    o_show
    o_show 2010/02/24
  • 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*だけ*を書いてシステムを作っているときのモヤモヤ感

  • RSpecでテストを書く - 昼メシ物語

    Rubyのテストでは、RSpecを使うと幸せになれます。 HelloWorld的な事は Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編) を順に試せばいいと思います。 インストール $ sudo gem install rspec --format-executableruby1.9 と 1.8 を、program-suffix つけて共存させてるような人は、こんなふうに --format-executable オプションを付けておくと、 spec コマンドが 「spec1.9」という名前になって、1.8 の rspec と喧嘩しないようになります。 テストを書いてみる こんな感じのテストを「spec/array_spec.rb」という名前で保存。 RSpecの文法については このへん を参照。 des

    RSpecでテストを書く - 昼メシ物語
  • オブジェクト倶楽部2009夏イベントで話しました - moroの日記

    オブジェクト倶楽部2009夏イベントの若人セッションでお話しする機会をいただきました。 タイトルは「プロジェクト特化言語 という夢を見たんだ」です。自然言語で仕様を記述できるCucumberと、英語ライクな書き方を目指す方向から徐々に方針転換を遂げつつあるRSpecという構図を見立て、対お客様/対開発メンバーというそれぞれのレイヤでのコミュニケーションツールとしてのテスティングフレームワークが云々という話をしました。CukeのstepとRSpecのCustomMatcherが大きなトピックです。あとは最近流行のsubjectについても少々。 TDD frameworks let me dream "Project Specific Language"View more presentations from Kyosuke Morohashi.少し前から話したかったことをいろいろ話せてすっき

    オブジェクト倶楽部2009夏イベントで話しました - moroの日記
  • CucumberとWebratの組み合わせが素晴らしすぎる - (゚∀゚)o彡 sasata299's blog

    2009年07月05日13:34 Ruby CucumberとWebratの組み合わせが素晴らしすぎる UK STUDIO - Cucumberの登場でRailsのテスティング環境が変わった Cucumberがアツい - moroの日記 Webratがスゴい(続:Cucumberがアツい) - moroの日記 Cucumber にふれてみた - yuum3のお仕事日記 この辺りの記事を読んで、「Cucumber」って何か凄そうだなぁ、使ってみるか!と思ったささたつです。こんにちわ。今日も暑いですね。。。(*´Д`) Cucumber にふれてみた - yuum3のお仕事日記 Cucumber自体は日語などの自然言語でテストシナリオを書けるフレームワーク的なもので、実際のテスト機能は含まれていません。ここでは実際のテストはWebratというWebアプリの受入テスト用ソフトでおこないます。

  • - テスト熱中症

    テスト作業が、開発作業の中にしっかりと組み込まれていない。こうなる と、開発の進み具合を計測することは不可能になってしまう。というのも、あ るの機能が動き始めたのはいつか、またある機能が動かなくなったのはいつか、 まったくわからなくなるからだ。 JUnit を使えば、苦労なく、しかも段階的に、テストスィートを構築 できる。このテストスィートは、進捗状況を把握したり、意図しない副次効果 を見つけだしたり、また開発で労力をかけるべき箇所を明らかにしたりする上 で役に立つだろう。 目次 問題 実例 テストする習慣(プラクティス) 結語 問題 どんなプログラマだって「コードを書いたらテストも書くべきだ」というこ とは知っている。にもかかわらず、実際に書いている人は少ない。「何で書か なかったの?」という質問に対しては、「あまりにも忙しすぎて」という同じ 答えが返ってくる。しかしこれは悪循環のはじま

    o_show
    o_show 2008/07/07
  • 1