タグ

tddに関するToQozのブックマーク (20)

  • 軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ

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

    軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ
    ToQoz
    ToQoz 2012/12/16
  • 1-byte.jp - CakePHPを使ったテスト駆動開発

    ブログ初ポストはCakePHPを使ったテスト駆動開発です。 CakePHPはユニットテストとしてSimpleTestに対応しています。 SimpleTestをインストールするだけで、モデルやコントローラ、シェル、ルーティングクラスなどのユニットテストが出来るようになります。 今日はこのCakePHPSimpleTestを使ってテスト駆動開発の流れを説明します。 ただ、僕自身テスト駆動開発を学んだのは去年のCake祭りなので、至らない点が多々あります。 もし何かあれば、コメントでご指摘ください。 今更感もありますが、この場を借りてCake祭りでテスト駆動の指導をしてくださった、@sizuhikoさんに感謝します。 開発手順 まずは開発手順を示します。少し細かいですが、テスト駆動では以下のような順で開発していきます。 設計する。 テストケースを書く。 テストケースをデバッグする。 コー

  • BDD on Haskell チュートリアル その3-3 : 仕様変更はテストから

    前回までのエントリーはこちら BDD on Haskell の為のディレクトリ構成を考える BDD on Haskell チュートリアル その0 Haskell の浮動小数点小数の同値比較について BDD on Haskell チュートリアル その1 : HUnit で TDD を BDD on Haskell チュートリアル その2 : QuickCheck でランダムテスト BDD on Haskell チュートリアル その3-1 catch できない哀しみ BDD on Haskell チュートリアル その3-2 throw Exception を使わず基は Either を使おう 今回のテーマ - 「テスト済みのモジュールの仕様変更」前回書いたように,IO が絡まないはずの関数群に Exception を throw させるよりは Either <Error> <Success>

  • BDD on Haskell チュートリアル その1 : HUnit で TDD を

    すこし日が空いてしまったけど,BDD on Haskell チュートリアルの続き. 前回までのエントリーはこちら BDD on Haskell の為のディレクトリ構成を考える BDD on Haskell チュートリアル その0 今回は HUnit を使って,基的な TDD (BDD でなく) の進め方について. 例 商と,小数の余剰を返す関数 を定義してみる今回のチュートリアルで適当に「ある程度需要があって,あるとそれなりに便利なもの」として,Scheme の RSR6 で採択された div mod をやってみる. Haskell の mod についてHaskell の標準実装である mod rem は整数型しか受付けず,また返りも整数型なので,たとえば,JavascriptRuby のように小数の余剰を返すことは無い. $ ghci Prelude> :t mod -- mod

  • アジャイル開発とTDDを半年間実践してみた顛末と、これから

    PHP Conrefence Japan 2011 Sep 10thでの発表資料 http://phpcon.php.gr.jp/2011/Read less

    アジャイル開発とTDDを半年間実践してみた顛末と、これから
    ToQoz
    ToQoz 2011/09/12
  • js テスト放浪記

    Wandering about JavaScript Testing - Mar 8, 2011 at Test.js, presented by Shibuya.js

    js テスト放浪記
  • もし永和の新入社員がケントベックの『テスト駆動開発入門』を読んだら

    Ashokrao Mane College of Pharmacy, Peth- Vadgaon•71 views

    もし永和の新入社員がケントベックの『テスト駆動開発入門』を読んだら
    ToQoz
    ToQoz 2011/07/11
  • TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ

    DevLOVE X Day1 C-5のセッションです。 ITの活用範囲の広がりとともに、費用・品質よりもデリバリを優先するプロジェクトも増えてきました。しかし「しっかり考えるよりも、作ってリリースしちゃおうぜ、正解なんて誰にも分からないんだから」というマントラを唱えながら、返済見込みの立たない大量の技術的負債を抱える。それが最善の選択なのか、もう少しだけ立ち止まって考えてみませんか? YAGNIという言葉を便利に使いすぎてはいませんか? コードを書きなぐるのと、ちょっと考えて設計して作るのとで、そんなに開発スピードに違いがありますか? 考えてみたいと思います。

    TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
    ToQoz
    ToQoz 2011/07/10
  • 既存システムでTDDするのが難しい理由 - くろまほうさいきょうでんせつ

    TDDしたい、CIしたいと思ってもなかなか導入できない。何でだろう? PHP製WebアプリケーションでのTDDを学び始めた現時点の気持ちまとめ。 Seleniumを使うような高いレイヤーのテスト どんなテストを書けばいいのかわからない 例えばDBから商品情報取ってページ生成する場合。 商品カテゴリごとに異なる趣きのページを作るのでそれぞれにviewのテストを書いたとする 各ページ内の商品詳細URLにパラメータが追加されることになった URL生成は共通のモデルで行っている 修正は一ヶ所で簡単なもの だったとしてもviewのテストはそうは行かない。 先に用意したテストケースを全部書き直さなきゃならない。 小さな変更にかかるコストが大きくなる 単純に時間がかかるというより めんどくさくなる → どうせやらなくなる という思い。 コントローラーとか中間くらいの層のテスト viewよりは下、ユニット

    既存システムでTDDするのが難しい理由 - くろまほうさいきょうでんせつ
    ToQoz
    ToQoz 2011/06/19
  • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

    はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

    PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
    ToQoz
    ToQoz 2011/06/19
  • TDD Boot Camp 札幌 2.0に行ってきた - How to disappear completely

    TDD Boot Camp 札幌 2.0 : ATNDに行ってきた。 去年の秋くらいにTDDBCなるものがあるらしいとの情報を得てからTDDとはなんぞやと思いつつも手を出してこなかった僕ですがいよいよ札幌で幾度目かになるTDDBCに参加してみちゃったりしました! 当日、会場に着くなりあまりの頭の痛さに打ちのめされそうになりました・・・寝不足だった・・・ id:shuji_w6eさんのTDDとTDDBCの紹介が、お話がうまくて面白かったです。 各言語の班長のLTも楽しめました。 id:t-wadaさんのTDDのおはなしは、なるほどなるほどと思いながら聞かせていただきました。(テストの無いコードはレガシーコード。ちぃ覚えた!) すみません。このへんで10分くらい寝かせていただいたのは僕です。 午前中はそんなこんなでちょっとぼーっとしましたが・・・いくつか覚えてるうちに此処に書いておこう。 "汚

    TDD Boot Camp 札幌 2.0に行ってきた - How to disappear completely
    ToQoz
    ToQoz 2011/06/11
  • TDD(テスト駆動開発)をはじめたい人にオススメの資料(無料) | Act as Professional

    TDDBC in TokyoをPHPUnitでやる予定なので、TDD関連資料をあさってました。 実際に手を動かして、1から2時間で最後までやり通せるTDDの資料を見つけました。 TDDに興味を持った方が最初にやるのにちょうど良い内容なので、お知らせします。 オブラブで公開されている車窓からのTDDです。Java+JUnitの構成で書かれていますが、PHP+PHPUnitで、ほとんどPHPっぽく書き直せば問題なくTDDの雰囲気を学べる内容です。 Fake It 三角測量 リファクタリングなどのタイミングを具体的に理解できるストーリー仕立てになっています。内容のボリュームもお手軽なので、TDDに興味のある方は、やってみてはいかがでしょうか?TDDの良さが体験できると思います。 PHPのコードをgithubで公開しています。「PHPでどう書くの?」って思った方は参考にしてください。

    TDD(テスト駆動開発)をはじめたい人にオススメの資料(無料) | Act as Professional
    ToQoz
    ToQoz 2011/06/08
  • テスト駆動開発のすすめ - Perl日誌

    hachiojipmに行ってきたのですが#4でも#5でもTestを書くのが難しいという声が聞こえたので「テストは書いてみると簡単」「テストがあると開発が楽」という事を伝えてみようと努力する試みです。 ということでサンプルコードを書いてみました。 https://github.com/okamuuu/Sample-Plack-Test 紹介するサンプルコードについて ここで紹介しているスクリプトはある男がBlogを作ろうと思ったがどうせたいしたことしないので俺俺WaFをつくってやろうとして実際にやったテスト駆動開発です。 おもむろにt/web.tとかつくってみる 最初にテストを書いてみましょう。 #!/usr/bin/env perl use strict; use warnings; use Test::Most; use Plack::Test; use HTTP::Request::C

    テスト駆動開発のすすめ - Perl日誌
    ToQoz
    ToQoz 2011/06/05
  • The only one big thing every programmer should know

    The only one big thing every programmer should know - Feb 18, 2011 at Developers Summit 2011

    The only one big thing every programmer should know
    ToQoz
    ToQoz 2011/05/30
  • text.ssig33.com - RSpec の書き方について

    RSpec の書き方について 要約:RSpec は単なるテストを英語っぽく書けるツールではなく開発の全プロセスを加速するツールであるのでプロジェクト初期から有効に利用する必要がある。 4/1 ですが気にせず真面目な話を書きます。 RSpec は多分 Ruby 界隈で一番使われているテストフレームワークの一つだと思います。であるので使い方の解説や概念の解説多いですが、個人的にはそれらの解説は的を外したものが多いと考えています。 RSpec の真髄を会得するには、 RSpec の spec をどのように書くかということを考えてゆく必要があると思います。 まず RSpec の特徴的な点とはなんでしょうか。 RSpec でテストは以下のように書かれます。 describe "肛門" do context "排便する時" do it "高速に排便されると肛門がすりきれる" do 肛門がすりきれるとい

    ToQoz
    ToQoz 2011/05/24
  • Vows で クライアントサイドの CoffeeScript / JavaScript のテストをする時の Tips

    0. node.js の Vows フレームワークがとてもかわいい JavaScript のTDD, BDDフレームワークはたくさんあるけど,テスト結果の見た目の良さと記述の楽さで Vows というフレームワークを使っている.RSpec からの影響を受けていて,Rack アプリケーションのテストと同じような感覚で書ける,というのが良い. たとえばこんな感じでテストコードを CoffeeScript で書く で --spec オプションをつけて実行するとこういう風に表示してくれる. assertion でテストが通らないと黄色く,内部エラーの場合は赤にラベルが表示される. しっかり全部通すと このように表示される.見た目が良いし,ラベリングを丁寧にやるとテストの内容がわかりやすい. 元々 node.js のテスト用なので,require exports など, pure JavaScript

    Vows で クライアントサイドの CoffeeScript / JavaScript のテストをする時の Tips
  • iPhoneアプリ開発記(6−1):Objective−C + Xcode で ユニットテスト - Natural Software

    もともと一つだった記事を個別のエントリに分けました。 iPhoneアプリ開発記(6):Objective−C + Xcode で ユニットテスト と CI iPhoneアプリ開発記(6−2):Objective−C + Xcode で CI 参考サイト 動画で解説してあってとてもわかりやすい TDD & Objective-C in XCode: Getting Started on Vimeo XcodeでのUnitTestプロジェクトの作成 プロジェクト名のコンテキストメニューから[追加|新規ターゲット]を選択(ここではUnitTest) 「Unit Test Bundle」を選択しプロジェクト名をつける 作成したターゲットのコンテキストメニューから[追加|新規ファイル]を選択(ここではSampleTest) 「Objective-C test case class」を選択しファイル名

    iPhoneアプリ開発記(6−1):Objective−C + Xcode で ユニットテスト - Natural Software
  • テスト駆動開発入門 - 科学と非科学の迷宮

    テスト駆動開発入門 作者: ケントベック,Kent Beck,長瀬嘉秀,テクノロジックアート出版社/メーカー: ピアソンエデュケーション発売日: 2003/09メディア: 単行購入: 45人 クリック: 1,058回この商品を含むブログ (161件) を見る TDDって真面目に勉強したことなかったので読んでみました。 Amazon書評では翻訳がひどいということがしきりに叫ばれていますが、別に我慢できないほどじゃないと感じました。慣れれば読めます。K&Rより100倍マシです……。 さて、テスト駆動開発ですが、私がこのを読む前に持っていた知識は以下のような感じです。 テスト・ファースト テスト手法じゃないよ開発手法だよ グリーン→レッド→リファクタリング→グリーン…… で、実際にを読んでみると、上記の理解はあまりに浅すぎることを知りました。 以下、特に参考になった点を挙げていきます。

    テスト駆動開発入門 - 科学と非科学の迷宮
    ToQoz
    ToQoz 2011/03/28
  • Google App Engineでテスト駆動開発を行うための3つのTips | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必

  • Rails3でTDD環境を整えたメモ - ひげろぐ

    2011/07/07追記 実はこの記事の内容よりも以下のGuardを前提にした構築がおすすめ。 Rails3+RSpec2+Spork+Guard(guard-rspec,guard-cucumber)で最速のBDD(振舞駆動開発)環境を作る | Curiosity Drives Me Guard便利すぎです。 久々にRailsでできる仕事が来たので久々に環境構築。 記事の一番最後に挙げた参考の渡り歩きつつ設定した。 Rubyのバージョンは1.9.2。Railsは3.0.5。 プロジェクトの作成 $ rails new -T hoge RSpecを使うのでUnitTestはいらないということで。 Gemfile 必要なものをBundlerでさくっと入れる。 group :development, :test do gem 'spork', '~> 0.9.0.rc' gem 'rspec-

  • 1