タグ

tddに関するudzuraのブックマーク (21)

  • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

    和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
    udzura
    udzura 2013/11/29
    あの、いやな感じのやつは「Assertion Roulette」と名前がついていたのか
  • ドリコムに入社して1年経ちました - くりにっき

    退職エントリ転職エントリはよく見るけど転職して1年経ちました系はあまり見ないので書いてみます お仕事 社内ツールとかいろいろ作っています。 ソーシャルゲーム開発だと数10人でチームを組んで開発しているのですが、自分の所属してるチーム(ソーシャルゲームや分析系の基盤)だと細かい案件を1〜2人くらいで回すことが多いです。 自分の場合はマーケティング部関係の雑用お手伝いすることが多いです。アプリを作ることもあればLPをサーバにアップロードしたり、マーケがやりたいことの技術検証とかやってます。 自分の仕事の性質上あまり表に出ることはないのですが、最近だと ファンタジスタドール ゲーム公式サイト の事前登録のシステム全般見ています。 お仕事以外 業務以外でもツール作成 Jenkins Gitlab Logo plugin Gitlabで設定されているアイコン*1をJenkins上で表示するためのプ

    udzura
    udzura 2013/07/01
    WEB+DBご購読ありがとうございます事例
  • 軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ

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

    軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ
  • Start Testing Your Migrations. (Right Now)

    Start Testing Your Migrations. (Right Now) Christian Bradley · January 27th, 2011 Migrations are a necessary part of any Rails project. At some point, you need to modify the structure of your database, normalize data that exists within those tables, or refactor the architecture entirely. The migrations for these tasks can vary in complexity from simple “add_column” statements to extreme SQL with n

    Start Testing Your Migrations. (Right Now)
    udzura
    udzura 2012/10/24
    ブクマしてなかった。。
  • こくちーずプロ - 無料で使えるイベント・セミナーの告知・集客サービス

    個人から法人まで幅広い主催者の方にご活用いただいています。 イベント主催者8万人以上 チケット販売550万枚以上

    こくちーずプロ - 無料で使えるイベント・セミナーの告知・集客サービス
    udzura
    udzura 2012/07/04
    ”静的型付け関数型言語じゃなくても大丈夫です。 Groovyじゃなくても大丈夫です。”
  • #tddbc 大阪。ありがとうございました!

    感謝 ======================== 参加者のみなさん、ありがとうございました。スタッフのみなさん、ありがとうございました。 そして講師の和田さん、関さん、吉岡さん、ありがとうございました。 想像以上に、ものすごい熱気に包まれていて、楽しかったです。 惜しかったのは、1日目も2日目もワタワタしていて、 和田さんのセッションをゆっくり聞くことができなかったことです。 むむむ・・・。それが聞きたくて主催したのになぁ。 でも楽しかったです! 参加者のみなさん ======================== 主催者として色々と至らない点がありましたが、みなさまが優しくフォローしてくださったおかげで なんとか無事終えることができました。ありがとうございました。 みなさんが楽しそうに(最後の方はぐったりとしてましたが)ペアプロをしているのを見てとても嬉しかったです。 エンジニアとし

    udzura
    udzura 2012/06/08
    Groovy愛...興味深い
  • Testing like the TSA

    When developers first discover the wonders of test-driven development, it’s like gaining entrance to a new and better world with less stress and insecurity. It truly is a wonderful experience well worth celebrating. But internalizing the benefits of testing is only the first step to enlightenment. Knowing what not to test is the harder part of the lesson. While as a beginner you shouldn’t worry mu

    Testing like the TSA
    udzura
    udzura 2012/04/16
    今日の炎上現場
  • MIT Media Lab新所長、伊藤穰一とPivotalのCTO,Ian McFarlandが語る会に行った - seikoudoku2000のブログ

    27日(金)にこのイベントに行ってきたので、内容のメモ。 http://atnd.org/events/16029 スライドがあって云々ではなく、ほぼ伊藤さんのフリートークで、時々、Ianが回答するという形式だったので箇条書き形式にて。 アジャイル全般 スクラムなど、日から出てきたコンセプトも幾つかあり、海外エンジニアには、日アジャイル先進国だと思っている(勘違いしている?)人も多い。 外注方式ではアジャイルを実践することは不可。ビジネスオーナーと作成者が同じ組織にいなければならない。 基的な方向性は決まっているけど、最終的なアウトプットは決まっていない状態で実装が進められていく。このため、プロジェクトマネージャーという役割は存在しない。 1〜2週間に1回、ピボットと呼ばれるタイミングを設け、これまでのアウトプットや各フィードバック(数字の話、他社の新機能の話など)を元に次の進め

    MIT Media Lab新所長、伊藤穰一とPivotalのCTO,Ian McFarlandが語る会に行った - seikoudoku2000のブログ
    udzura
    udzura 2012/02/21
    ははあ
  • TDDや自動化について色々話した

    Kenichiro Ota @oota_ken 井芹さんも書いていたようになぜ日にはテスト自動化スペシャリストがここまで少ないのか。いや、開発者がやっちゃうのかとどっかで議論したい。デブサミ後の囲む会できょんさんとかなあ。 みかまま @mikantsuki @oota_ken 毎年、新しく入ってきた卒論生に自動テスト環境の構築をさせてみると、しみじみ大変そうだなぁと実感できます。基礎知識がないとけっこうはまるみたいねぇ

    TDDや自動化について色々話した
    udzura
    udzura 2012/02/02
    rack-block のときは、DSLをこう書くとこう動くべき、ってのが頭に先にあったので、それをSpecにそのまんま書いて、通るように本体を書いたんだけれど、それでTDD(BDD?)になるのかな。
  • TddAntiPatterns - TDD のアンチパターン

    TddAntiPatterns - TDD のアンチパターン 目次 この文書について TDD のアンチパターン TDD アンチパターン・カタログ 嘘つき。 (The Liar) セットアップ過多 (Excessive Setup) 巨人 (The Giant) モック酔い (The Mockery) 検査官 (The Inspector) 太っ腹な残り物 (Generous Leftovers) 地元の英雄 (Local Hero) 小姑 (The Nitpicker) 秘密のキャッチ (The Secret Catcher) ペテン師 (The Dodger) 大声 (The Loudmouth) はらぺこキャッチ (The Greedy Catcher) 序列屋 (The Sequencer) 隠れ依存 (Hidden Dependency) 点呼 (The Enumerator)

    udzura
    udzura 2012/01/10
    ほほ
  • [TDD] スタート地点で止まらない為のTDD TIPS - 2012-01-10 - ぽにくすじゃないだいありー

    10:50 | 皆さんは設計という名の「下手の考え休むに似たり」をして時間を無駄にしてしまったり、作りたいモノがあるんだけどどうやったらそれを作れるのかのイメージを組み立てられずに結局は何も作らずに無為に時間が過ぎたような事ありませんか?僕はあります。最近になってTDDはそんな人がスタートを切るための有効な技法なのではないかと気づきました。ここでは最近そういった状況を打破する為に試した事をTIPSとしてまとめてみます。TDDがどういう物かは知っているというのが前提です。TDDを知らない人はTDD BootCampとか参加してみるといいかもしれません。もしかしたら今回のTIPSはTDD的には邪道かもしれません。TDDについて詳しい人の突っ込みお待ちしております。 今回の記事に直結するTDD原則のおさらい1. TDDはクォリティテストの為の技法じゃないです。製品のクォリティを維持する為のテスト

    udzura
    udzura 2012/01/10
    ナルホド~
  • プロトタイピングとアジャイル開発

    アジャイル開発とプロトタイピング、割と近い文脈ででてくる用語なのだけれど、それぞれ別のものなんじゃないかと考えている。別、というよりもフェイズが違うというべきか。アジャイル開発はあくまで開発であり、プロダクションレベルのものをよりスマートに作り上げるための手法であるのに対し、プロトタイピングはアイデアを出す、またはぼんやりとしたアイデアの形を作るためのものなのだと思う。(ちなみにアジャイルといってもアジャイルUCDという用語もあるけれど、とりあえずここで触れているアジャイルアジャイル・デベロップメントのことです) 先日のPivotal LabsのIan McFarlandさんと伊藤 穰一の対談(詳しくは安藤日記へ)にてIanが「プロトタイプのコードは絶対に捨てる」と言ったのを聞いた時はハッとさせられる思いだった。曰く、プロトタイプはユーザーストーリーを決めるものでコードはその発展系として

    プロトタイピングとアジャイル開発
    udzura
    udzura 2011/12/27
    「プロトタイプのコードは絶対に捨てる」
  • TDDに関する記事のリンク集|ネスケラボ

    こんにちは、青木です。 これは、TDD Advent Calendar jp: 2011の12/24分のエントリーです。 前日は@irasallyさんのエントリ「職業プログラマに贈るTDDのススメ」です。 翌日は@biacさんのエントリ「TDD とアジャイルを支えるバックボーン」です。 このエントリーではTDD(テスト駆動開発)に関する記事を、一覧に整理しています。 TDDには素晴らしい記事が多く、100を超えるリンク集になっています。 そこで目的に近い記事を探しやすいように、大まかな区分で分類して、内容について簡単なコメントを追記しました。また、昔の記事か最近の記事かわかるように掲載年月も記載しました。 TDDを学ぶときにこのリンク集が役立てば幸いです。 TDDとは [動画で解説]和田卓人の“テスト駆動開発”講座(Gihyo.jp) http://gihyo.jp/dev/serial/

    udzura
    udzura 2011/12/26
    うおっ、、、「日本うづらの会公式ブログ」、、、、、、、
  • アジャイルにTDDしようとしてペアプロして失敗した話 - 水まんじゅう2

    これはTDD Advent Calendarの18日目。 記事としては @mao_instantlife さんの TDDやってみてコメントが減った話 のあと、@cubeon さんの きっと方眼の理から逃れられないお前たちにも告げる!テストコードを手に入れるのだ! の前となります。 最近、新しい開発手法の一貫としてTDDを採用しようとするプロジェクトが出始めている印象があります。 ただし、とりあえず取り入れてみたけれどもうまくいかなくて結局ウォーターフォール方式に逆戻りという例も多いのではないでしょうか。 以前、アジャイルにTDDをしようとしてペアプロして失敗したプロジェクトの話を聞いたことがあるので書こうと思います。 その時のプロジェクトでは数百人月前後の工数をかけてそれまであったレガシーシステムをJavaでリプレイスしようとしていたようです。 それなりの規模のプロジェクトに多いように、さ

    アジャイルにTDDしようとしてペアプロして失敗した話 - 水まんじゅう2
    udzura
    udzura 2011/12/19
    "ほとんどの組織は見積方法を含めてウォーターフォール方式に併せてある程度最適化されているはずなので、TDDも含めて新しい開発手法を取り入れないというのも英断だと思います"
  • 私のTDD

    Cognitoが大型アップデート!�Managed Loginとパスワードレスログインを�実際に使ってみた@しむそくRadio Special Day1

    私のTDD
  • モックによるインターフェイスの発見 - Digital Romanticism

    設計ツールとしてのモックの使い方について考える。 導入 先日、"Mock Roles, not Objects"の日語版「ロールをモックせよ」を公開しました。この論文は2004年に書かれたもので、著者はSteve Freeman氏、Nat Pryce氏、Tim Mackinnon氏、Joe Walnes氏という豪華メンバーです。また、Steve Freeman氏とNat Pryce氏は『Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))』(いわゆるGOOS)の著者でもあり、"Mock Roles, not Object"で語られている思想はGOOSのベースになっているとも言えます。 今回は、この"Mock Roles, not Objects"(以下、MRnO

    モックによるインターフェイスの発見 - Digital Romanticism
    udzura
    udzura 2011/10/04
    ......ブクマ済みだった
  • 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の日記
    udzura
    udzura 2011/06/20
    凄い良記事ですね。でも、TDDにもCIにも興味が無いのが真のPH(ry
  • テスト駆動開発・実践編01・黄金の回転 - Strategic Choice

    「第1章 複数通貨のMoney」より開始時TODOリスト TODOリスト(no-task)開始時コード // (no-class) 開発まず要求仕様を確認します。このような帳票があります。銘柄口数価格総計IBM10002525000GE40010040000   65000複数通貨を扱う場合もあります。銘柄口数価格総計IBM100025 USD25000 USDNovaritis400150 CHF60000 CHF   65000 USD総計を導き出すため、異なる通貨の計算を行っています。よって為替レートも存在します。換算元換算先レートCHFUSD1.5作業を開始する前に、必要があると思われるテストのリストを書き出します(『テストリスト』)。 TODOリストレートが2:1の場合、$5 + 10CHF = $10$5 * 2 = $101つ目の「異なる通貨の加算」は複雑そうなので、2つ目の

  • テスト駆動開発・実践編03・三角測量 - Strategic Choice

    「第3章 すべてに対する等価性」より開始時TODOリスト TODOリストレートが2:1の場合、$5 + 10CHF = $10$5 * 2 = $10amountのプライベート化Dollarの副作用開始時コード public class MoneyTest { @Test public void multipulication() { Dollar five = new Dollar(5); Dollar product = five.times(2); assertThat(product.amount, is(10)); product = five.times(3); assertThat(product.amount, is(15)); } } public class Dollar { int amount; Dollar(int amount) { this.amount =

  • 【資料公開】テストについて考える

    Ryutaro YOSHIBA / Agile Coach, CTO at Attractor Inc. 翻訳者/ Scrum Alliance認定スクラムトレーナー(CST) / 認定チームコーチ(CTC) /書籍→『SCRUM BOOT CAMP THE BOOK』『プロダクトマネージャーのしごと』『エンジニアリングマネージャーのしごと』『チームトポロジー』『スクラム実践者が知るべき97のこと』『プロダクトマネジメント』『みんなでアジャイル』『レガシーコードからの脱却』『カンバン仕事術』『Effective DevOps』他 ご相談はお気軽に!!

    【資料公開】テストについて考える