TDDに関するbleis-tiftのブックマーク (24)

  • NUnit 2.6 で実装された Action 属性について - 狂言日誌

    リリースされていたので目玉のひとつになりそうな Action 属性についてちょっと調べてみました。というか、公式ページの解説を抄訳しただけともいえますが。 すごく簡単なしくみです。 Action 属性を使うことで、これまで SetUp/TearDown/FixtureSetUp/ FixtureTearDown みたいな属性をつけた上でメソッドとして書いてきた準備とか後始末を、Action クラスにカプセル化して、属性ベースでテストに適用できるようになります。 テストの眼目は当然テストコードにあって、その準備や後始末については、テストの質ではありません。ただ、どういったコンテキストかでのテストであるかということを示す情報として意味はありますから、完全に隠蔽するのも良くありません。そこで、準備や後始末自体が抽象化され、名前がついた状態で再利用できることはたしかに意味がありそうです。 前述の

    NUnit 2.6 で実装された Action 属性について - 狂言日誌
  • TDDBC 福岡 2日目 午後のメモ - 日々常々

    TDDとペアプロで"MotsunabeZombieProject"と戦うお話です*1。お題がKanonで提供されるなど、TiDD成分も交えた感じでよかったです。 ITSとTDDも相性いいんですよね。どちらも「何をする」が明確になってから手をつける点で同じですし、何を達成したら良いかが先に判るのでテストが書きやすくなります。また、ITSとGitの相性の良さも感じました。特にブランチの作りやすさと切り替えの早さは異常。ローカルファイルって言うこともあるしね。 お題とやり方 会場で用意されたサーバで稼動しているKanonに接続し、チケットの形で提示されているお題をやっていく形式でした。 1.普通のつぶやきを判定 2.ハッシュタグを含むつぶやきを判定 3.リプライを含むつぶやきを判定 4.メンションを含むつぶやきを判定 5.複数の種別を含むつぶやきを判定 6.ネットワークからつぶやきを取得して判定

    TDDBC 福岡 2日目 午後のメモ - 日々常々
    bleis-tift
    bleis-tift 2011/03/25
    TDDBC福岡2日目午後の感想。ペアプロ時のコミットのタイミングは勉強になりました! #tddbc
  • テスト駆動開発とPDCAサイクル - 開発者がテスト駆動開発をすると、生産性が上がる理由

    テスト駆動開発とPDCAサイクル - 開発者がテスト駆動開発をすると、生産性が上がる理由 目次 PDCAサイクルとは? 図1)PDCAサイクル 参考 しかし、PDCAサイクルは品質改善の手法なのでは? テスト駆動開発とPDCAサイクルに、何の関係があるの? 図2)テスト駆動開発の持つサイクル テスト駆動開発の実際 当に必要となるまでコードを書かない テストを先に書く 図3)テスト駆動開発の実際の流れ タイプ別 - テストファーストの説明 テスト結果に失敗があるときには、まず、そのエラーを修正する バグ報告があったときには、バグをテストコード化する 何故テストに失敗したのかを知り、そこから学ぶ 自動テストを用意したら、リファクタリングせよ! 参考 まとめ 書いた人 関連ページ コメント 開発者がテスト駆動開発をすると、生産性が上がる理由 PDCAサイクルとは? PDCAサイクルとは業種に関

  • TDDを行うとソフトウェアの信頼度が上がる理由 - babie, you're my home

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

    TDDを行うとソフトウェアの信頼度が上がる理由 - babie, you're my home
  • RBCS Software Testing Training & Consulting: Articles

    A Story about User Stories and Test-Driven Development By Gertrud Bjørnvig, James O. Coplien, and Neil Harrison Test-Driven Development, or TDD, is a term used for a popular collection of development techniques in wide use in the Agile community. While testing is part of its name, and though it includes tests, and though it fits in that part of the life cycle usually ascribed to unit testing activ

  • BDDIntro

    2   問題 テスト駆動開発(TDD)は今や広く受け入れられている。大企業は自社のプログラマに、多くのコストを掛けてTDDを教育している。カンファレンスでTDDは人気のトピックだ。アジャイル系はもちろん、それ以外でも。 TDDについての書籍も何冊か出版されている。筆者(Dave Astels)自身の著作はJolt awardを受賞した。では、何もかもがうまくいってると言えるのだろうか? TDDを実践している人々全てが、TDDについて深く理解し、TDDの恩恵を最大限に受けていると言えるのだろうか? んなこたぁない! TDDの当の姿を正確に理解している人を私はごくわずかしか知らない。要するにTDD実践者の多くは、TDDの恩恵を最大限には受けていないのだ。何がまずいのだろうか? 2.1   テスティングが焦点 さて...なによりもまず、みんなTDDはテスティングだと考えている。TDDはそれだけ

  • TDDを真面目にやってみて気付いたこと - Masatomo Nakano Blog

    何を今更、なことかもしれないないのだけど、もしかしたらこれを知ることでTDD(Test-driven development)をやることのハードルが一気に下がる人がいるかな、と思ってメモ。 特に、ある程度プログラマとして経験があるけど、どうもTDDは慣れないという人向き。 “TDDとは、TDD以前に脳内や機上でやっていたことをコードに落とすことに過ぎない” このことが解ってから、TDDをするのが一気に苦痛ではなくなり、むしろ楽しくなった。 TDDでなくても、コーディングをするとき、temporaryなテストコードを書いたり、目視でのチェックはしたりするものだろう。たとえば、一時的に変数の値をハードコードして挙動を変えてみて、それを目視で確認したり、printデバッグとかもその一部だ。 つまり、このtemporaryなコードや目視している部分をpermanentにするのがTDDで書くテストコ

    bleis-tift
    bleis-tift 2010/03/18
    ちょっと違和感がある。後で考える。
  • テスト駆動開発の効果はどのくらいある?

    ソフトウェアの開発を行うときに、まずテストケースを先に作ってから機能を作り込む「テスト駆動開発」(Test-Driven Development:TDD)。これにより、ソフトウェアの開発工数や品質にはどの程度の変化があるのでしょうか。 TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ この疑問について調査した論文を、奈良先端科学技術大学院大学 助教の森崎修司氏が3月10日のブログ「国立大学法人奈良先端科学技術大学院大学 助教」のエントリ「TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社」で紹介しています。 開発時間はやや増えたがコードの品質は上がった 論文全文は有料なので読めないものの、森崎氏のブログによると次の知見が得られたとのことです。まず、ソフトウェ

    テスト駆動開発の効果はどのくらいある?
  • TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ

    ここ(ブログの過去エントリ)で、IBMとMSでのTDD(Test Driven Development)の適用評価事例を報告する論文を紹介した。TDDの適用評価は他にもあり、ここで紹介するのも、そのうちの1つ。 Boby George, a and Laurie Williams: A structured experiment of test-driven development, Journal of Information and Software Technology Vol. 46, No. 5, p. 337-342(2004) 論文では、24人の実務経験者を対象にテスト駆動開発をした場合としなかった場合(設計→実装→テスト)の比較をしている。報告されている主な知見は以下のとおり。 TDDを実施した場合に機能テスト(ブラックボックス)で不具合を検出するテーストケース数が削減さ

    TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ
  • 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 ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

  • プログラミング初等教育とTDDの相性は最高

    1年半ほど前、入社前はプログラミング経験ゼロの@chibisayoを新入社員としてチームに迎え、私がOJT担当っぽくなった時の経験から、プログラミング初等教育とTDDの相性は最高であることをきちんと文章に残しておきたかったので、このビックウェーブに乗ることにしました。

  • 最近の TDD 議論についてちゃんと僕の気持ちを書いてみる - 宇宙行きたい

    最初に ちょっと最近,ドタバタしてて twitter だと腰を据えて話せないなと感じたので,ちょっと最近のTDD 議論についてちゃんと僕の気持ちを書いてみようと思います. これは僕が"今"感じてる事とか考えている事を書いているだけですので,誰かを論破したいとか,誰かを説得したいという意思は無いです. 当に裏とかはなく,純粋に「"庄司嘉織"という人間は"今この時"にこういう事を感じてこういう事を考えた」というだけです. もちろん明日には考えが変わるかもしれないし,逆に過去の発言とは違うかもしれませんが,「最近はこう感じている」という事をちゃんと書いておこうと思いました. デブサミでの発表について id:babie さんにちゃんと返事をしていなかったので,まずちゃんと返事をしておこうと思います.(遅くなってしまってすいません) @kakutani は興味なくても、あのスライドだと @yosh

    最近の TDD 議論についてちゃんと僕の気持ちを書いてみる - 宇宙行きたい
  • TDD について

    「深夜のテスト TL - http://togetter.com/li/5878 」 「TDD はテスト手法か否か - http://togetter.com/li/6759 」 の後も続いている議論を、皆でまとめませんか? 誰でも編集可能にしているので、どんどん発言を足したり、問題があったら削除したりしちゃってください。

    TDD について
  • TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中

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

    TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中
  • 三周遅れのXP

    三周遅れのXP - Téléchargez le document au format PDF ou consultez-le gratuitement en ligne

    三周遅れのXP
  • デブサミ2010 - すがブロ

    二日目だけ、参加してきました 強く印象に残ったところだけ書きます。 当日の発表資料は下記にどんどん追加されていくようです*1。 404 error. Page Not Found. 【19-B-3】三周遅れのXP -僕とドワンゴのXP- id:Yoshiori さんのTDDの話。個人的に一番刺さったのはこの発表でした。 タイトルについて 1週目はケントベックが道を作った 2週目は角谷さんたちが道を広めた そして今僕たちは三週目(だから正確にはタイトルは間違っていて、二週遅れ) 3週目の僕たちは高速道路を作る 「XPの4つの価値」を実現するための方法 コミュニケーション(チームで気軽にコミュニケーションできるように"おやつ神社"というのがある) シンプルさ フィードバック 勇気 TDDとは(極端に言えば) 開発手法であって、テスト手法ではない リファクタリングできれいなコードにしていくための

    デブサミ2010 - すがブロ
    bleis-tift
    bleis-tift 2010/02/22
    ここを勘違いしている人は多いよねー "UnitTest になってしまって、網羅的にテストケースを書いてしまう 自分の不安な箇所に対してテストコードを書いてテストしていくので、UnitTestではないよ"
  • テスト駆動開発 - Wikipedia

    テスト駆動開発 (てすとくどうかいはつ、英: test-driven development; TDD) とは、プログラム開発手法の一種で、プログラムに必要な各機能について、最初にテストを書き(これをテストファーストと言う)、そのテストが動作する必要最低限な実装をとりあえず行なった後、コードを洗練させる、という短い工程を繰り返すスタイルである。多くのアジャイルソフトウェア開発手法、例えばエクストリーム・プログラミングにおいて強く推奨されている。近年[いつ?]はビヘイビア駆動開発へと発展を遂げている。 開発サイクル[編集] 最も基となる開発サイクルは以下のようになる。 失敗するテストを書く できる限り早く、テストに通るような最小限のコードを書く コードの重複を除去する(リファクタリング) なお、テストの実行環境ツールであるxUnitでは、テストの失敗を赤いバー、成功を緑のバーで通知するため

  • 深夜のテストTL

    ヨシオリX @yoshiori なんか「テストファースト」って言葉に2種類の使われ方があって、混乱するなぁ…… テスト手法のテストファーストと、開発手法のテストファーストはわけるべきだよなぁ 2010-02-15 00:43:52 ヨシオリX @yoshiori 「TDD はテスト計画をせずにテストしてしまうから……」とか「品質管理のためには……」とか言われるとなぁ TDD はあくまで"開発"手法であって、テスト手法では無いんだよね。もう、TDDで品質があがるって啓蒙するの止めちゃえば、いっそ変な誤解が広がらないんじゃないかなぁ。 2010-02-15 00:47:13

    深夜のテストTL
  • Eclipseショートカット・編集 - Strategic Choice

    サクサク編集するタメに。キー機能Ctrl+D行削除Alt+↑行移動(上)Alt+↓行移動(下)Ctrl+Alt+↑行コピー(上)Ctrl+Alt+↓行コピー(下)Ctrl+Q最後の編集位置へキー機能Alt+Shift↑選択範囲・構文要素単位・拡大Alt+Shift↓選択範囲・構文要素単位・縮小Alt+Shift←選択範囲・方向・前方拡大Alt+Shift→選択範囲・方向・後方拡大キー機能Ctrl+/行コメントトグルCtrl+Shift+/ブロックコメントCtrl+Shift+\ブロックコメント解除キー機能Ctrl+Shift+FフォーマットCtrl+Shift+Oimport文の編集Ctrl+Shift+Sソースメニュー行削除カーソルのある行を削除します。複数行選択すれば、複数行削除できます。行移動・行コピーカーソルのある行を移動・コピーします。複数行選択すれば、複数行を対象とすることがで