タグ

tddに関するkanu-orzのブックマーク (38)

  • 開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とは

    開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とは:いまさら聞けないTDD/BDD超入門(4)(1/3 ページ) 連載目次 前回の『TDD/BDDにおける「振る舞い』の意味するところとは何なのか」までで述べたような、TDD/BDDを導入するときには、現場で「で、今までやってきた単体テストと結合テストって、どうやってこれに組み込めばいいんだっけ?」「網羅的なテストをどうやって書けばいいんだろうか?」「テストを先に書くだけくらいにしか違いがないのではないだろうか?」などの疑問が出てきます。 今回は、これらの導入時の疑問を解決するようなパターンを紹介します。まずは説明のためにいくつかの言葉の定義を紹介してから、どういったことで保守性の高いTDD/BDDを実現できるかを紹介します。 テストレベルの定義 大まかに言えば、「テストレベル」とはテスト対象の大き

    開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とは
  • TDDという名の幻想... - Qiita

    TDDは死んだ。テスティングよ栄えよ。 by DHH http://d.hatena.ne.jp/yach/20140424#p1 【翻訳】TDD is Fun http://diskogs.hatenablog.com/entry/2014/04/25/085112 を読んで思ったことをつらつらと書いてみます。 TDDはできれば、やったほうが良いのは確か?です。 しかし、実際の開発現場で全面的に採用するのは ミドルウェア等の画面の存在しないソフトの開発以外では ほとんどの場合、無益です。 なぜなら、TDDを採用すると開発時間が膨らむ、すなわち、開発コストが 膨らむからです。そして、ソフト開発では細かな仕様は変化していきます、 するとTDDではそれに合わせ、テストを修正していかなくてはなりません。 また、TDDで書かれたテストが全てのケースを抜けなく網羅できていること は稀です、抜けは必ず

    TDDという名の幻想... - Qiita
    kanu-orz
    kanu-orz 2014/05/06
    後でコメント込みでじっくりと読む
  • 【TDDを再定義したほうがいいって話だったのさ】UncleBob, Martinfowler, DHHのツイートまとめ

    Dave Thomas @pragdave @unclebobmartin "Fundamentalism is the demand for a strict adherence to orthodox theological doctrines…" Seems to me @dhh chose a mot juste 2014-04-26 14:52:36 Uncle Bob Martin @unclebobmartin @pragdave Since there’s no Theos involved with TDD; that definition does not apply. His use of the term is, and is meant to be, offensive. 2014-04-26 22:01:14

    【TDDを再定義したほうがいいって話だったのさ】UncleBob, Martinfowler, DHHのツイートまとめ
    kanu-orz
    kanu-orz 2014/04/28
  • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

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

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

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    bitbucketの使い方
  • ユニットテストが何のことかわからなかったわけだが。 - 馬車馬のクリップボード

    2013-10-08 ユニットテストが何のことかわからなかったわけだが。 私事 いまだにユニットテストって受け入れられないんだろうな - 個人的なまとめこちらの記事を読んだ。 まず最初に、ユニットテストってなんぞ?となり、はてなのキーワードを見たのち、一応グーグル先生にも訊いてみた。結果、単体テストのことらしいと把握。自分が認識してる単体テストと上記の記事で言われてるユニットテストが同じものであるかは置いといて、単体テストをやらないプロジェクトの恐ろしさに震えた。 自分は基的にエンドさん相手に仕事してる。たまに違うときもあるけど、基的にエンドさんに直接顔合わせる機会がある仕事が大半。んで、碌にテストしてないようなものを放り込むと最終的に残された人間が泣きを見る状況に陥らされる。 なので、単体テストもしないプロジェクトって経験したことないんだけど、ブコメとか見ると案外そういうプロジ

    kanu-orz
    kanu-orz 2013/10/13
    本人は気がついたようだけど、同じ様に思い込んで思考停止している人は多いんだろうなぁ。
  • Steve Freeman氏とのペアプロ雑感 #tddbc

    README.md Steve Freeman氏とのペアプロ雑感 http://tddbc.doorkeeper.jp TDD Boot Camp 2013-07 -- TDDBC で、偶然にもロンドンから来日していたSteve Freeman氏を招くことができた。ちなみに当に偶然の来日で、その日の夕方にご家族と隅田川の花火を見る予定だったらしい。貴重な時間である。 20分ほど講演していただき、さらに参加者と一緒にペアプロ課題に挑戦してもらった。しかもペアプロでっていう貴重な体験をさせてもらったので、そのことについてまとめたい。 Steve Freeman氏は書籍 "Growing Object-Oriented Software, Guided by Tests" (邦訳「実戦テスト駆動開発」)の共著者の一人で、Javaのモックフレームワーク "JMock"の開発者の一人。当然、自動販

    Steve Freeman氏とのペアプロ雑感 #tddbc
  • 理想のJavaScript入門書 - L'eclat des jours(2011-12-08)

    _ 理想のJavaScript入門書 アスキーの鈴木さんから、テスト駆動JavaScriptをいただいた。 これは、実に良い。おれが考える理想のJavaScript入門書に限りなく近い(というか、おれが書くより良いから上方向から近い)。 まず、これはTDDのであり、JavaScriptの問題点は、それがRubyなどのスクリプト言語より、固いプログラミング言語(JavaとかCとか)に近い構文を持っているのが原因だと思うけど、どうしても変数とか関数名とか長く書きたくなるし(これは不思議な心理的な要求による)、言語が持つ予約語自体が長いし(functionだよ)、つまりいやでもタイプミスして死ぬ。 どうすれば良いかといえば、解決方法は2つしかない。プリプロセッサを用意して未定義変数とか利用していないかチェックするか、あるいはテストするかだ。前者よりも後者のほうがまあ有意義だ。というわけで、TD

  • TDD Boot Camp 横浜で初めてGroovy触ったらかっこよすぎワロタwwww #tddbc - (カチャカチャカチャ…) (ッターン!)

    1日たってしまいましたが、11/06にTDD Boot Camp 横浜に参加してきました。詳しい記事は、id:absj31さんの記事が素晴らしくまとまっているので、ご覧くださいませ。 TDD Boot Camp 横浜に参加してきた #tddbc - Diary of absj31 TDD BCの感想と、Groovyを初めて触った感想です Groovyペアに立候補した理由 「募集」をしているわけで、立候補すれば、その場でペア成立 Groovyを触ったことがなくても大丈夫という前提 プログラミング言語好きとしては、Groovy触ってみたかった 普通なら、師匠は直々に、言語のフォースを教えくれない 運営の方と、TDDやったほうが身につきそう! たしか、こんな理由だったと思います。打算と興味が五分五分といったところでしょうか。運営の方が、Groovyを持ってきてくれて、 パラパラと見た第一印象は

    TDD Boot Camp 横浜で初めてGroovy触ったらかっこよすぎワロタwwww #tddbc - (カチャカチャカチャ…) (ッターン!)
  • TDDBCの前にTDDについて知っておいてもらいたい3つのこと

    個人から始める変化〜 IKIGAIマップ、マルチ・ポテンシャライト、ザ・メンタルモデルを入口にして〜(公開変更版)Takeshi Kakeda

    TDDBCの前にTDDについて知っておいてもらいたい3つのこと
  • テスト駆動開発が嫌いだ - きしだのHatena

    テスト駆動開発が嫌いだ。 ただし、ここでの「テスト駆動開発」は日で今TDDと呼ばれてる多義的なものじゃなく、「テスト駆動開発入門」にかかれている「テスト駆動開発」。 もっと正確にいうと「テスト駆動開発入門」がミスリーディングをわざと誘ってて有害で嫌い。 テストは、プログラムが正しく動くことは検証できるけど、プログラムが正しいことは検証できない。そのようなテストに設計を依存してしまうと、正しく動くプログラムは作れるけど正しいプログラムは作れない。 設計も含めてテストによって駆動しましょうという「テスト駆動開発入門」のやり方では正しいプログラムが作れない。プログラムの正しさを別のやり方で担保しつつ、そちらを中心に開発を駆動して、あくまでも開発作業だけをテストで駆動するという考え方のほうが、正しいプログラムに近づける。 そして、TDDをいまがんばってる人たちも、それは当たり前にわかってると思う

    テスト駆動開発が嫌いだ - きしだのHatena
    kanu-orz
    kanu-orz 2011/08/27
  • 『TDD信者が増えてきてるのでこの辺で一言言っとくか。』

    令和からの働き方について -TownSoft- 元「傲慢SE日記」で、しばらく放置していました。 2020年からはこれからの働き方などについて書いて行こうかと思います。 TDDは良いか? とりあえず、過去に色々TDDについて記事を書きましたのでそれを掲載します。 仕事が出来ない人ほど横柄なのは何故?(2007年05月12日) リファクタリング、テスト、開発速度など(2007年08月01日) テストファースト(2007年08月21日) まぁ、この中で一番参考になるのは最後に書いたテストファーストかな。今の僕の考えと合わせると心情が良く分かる。 TDDはプログラムを書く前に仕様の詳細まで把握する事が出来て、なおかつテストコードまで作ってくれる優れものだ。しかし、局面によってはTDDは不要になる。僕も数年前はTDDやテストファーストを実践していた。効率的だと思った所もあるが、大体はマンネリに陥っ

    『TDD信者が増えてきてるのでこの辺で一言言っとくか。』
    kanu-orz
    kanu-orz 2011/08/08
    ムズムズするけど…
  • TDD Boot Camp 東京 1.6に参加してきた #tddbc - Diary of absj31

    TDD Boot Camp 東京 1.6 #tddbc on Zusaar Togetter - 「TDD Boot Camp 東京 1.6 #tddbc」 関東地方久々のTDDBC 1.5 in Tokyoが告知即定員オーバー瞬殺且つ定員の3倍近い募集が殺到(定員36名:募集114名)し、改めて関東/東京の需要の高さを実感。 TDD Boot Camp in Tokyo #tddbc : ATND TDDBC in Tokyo 1.5 主催レポート #tddbc | Act as Professional - プロとしての行為 勉強会主催者はなかやん・そるじゃー・ゆーき(TwitterID:@pocketberserker) さん。開催に至るまでの経緯は下記ブログに記載されていますが、彼のおかげでこうしてイベントに参加&貴重な体験をする事が出来ました。ありがとうございます! TDD Bo

    TDD Boot Camp 東京 1.6に参加してきた #tddbc - Diary of absj31
  • 恥知らずなTDD使いがいた! - くろまほうさいきょうでんせつ

    俺はRDDを使い手なんだがプロジェクトリーダーがが残念なことにTDDを使ってきたので「お前それで良いのか?」と言うと「何いきなり(テスト書かずに)実装してるわけ?」と言われた。 俺の前プロジェクトチームがTDDの熟練者なのだがおれはいつもデスマーチにするから気の毒になったので聞いただけなんだがむかついたので「お前中身が空のテストでボコるわ・・」と言ってプロジェクト開始直後にバグを溜めてコミットしたら多分リアルでビビったんだろうな、、カバレッジ測定してきたから無視してカカッとコミットしてから障害だしたらかなり青ざめてた おれは一気に次の実装をしたんだけどリーダーがテンパってておれの作業を見失ったのか指示出してこなかったから独自インデントでコーディング規約を崩した上についげきのオレオレデザインパターンでさらにプロジェクトへのダメージは加速した。 わざとチームから距離をとり「俺はこのまま納期に間

    恥知らずなTDD使いがいた! - くろまほうさいきょうでんせつ
    kanu-orz
    kanu-orz 2011/07/11
    もう一回良く読む
  • BDDについて自分なりにまとめてみた - UKSTUDIO

    BDDについて自分なりにまとめてみた Published on 2011-07-02 Updated on 2011-07-02 BDDという言葉も割と人によって指すものが違うようなので「俺の中でのBDDはこうだよ」って内容のエントリ。別に絶対的なものでもないと思うので参考までに 結論から とりあえず結論だけ知りたい人向けに。 BDDにはふたつの種類がある TDDの言い換えのBDD(開発寄り) ATDD(受け入れテスト)でのBDD(ユーザ寄り) 振る舞い BDDは振る舞い駆動開発と言われたりするように、テストという言葉のかわりに振る舞いという言葉を使う。日語的には仕様と言うほうがわかりやすいかもしれない。多分、BDDのイメージが掴みにくいのはこの振る舞いという言葉にあると思う。と言うのも振る舞いと言うのは、人の立場よって変わるからだ。例えば、プログラマがあるクラスを実装している時に言う振

  • 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
    kanu-orz
    kanu-orz 2011/06/08
  • TDD Boot Camp 札幌 1.5 終了しました - やさしいデスマーチ

    日、TDD Boot Camp札幌 1.5を開催いたしました。 TDD Boot CampはTDD(テスト駆動開発)を実践形式で学ぶ体験型のイベントで、id:t-wadaさんの主導の元、全国各地で開催されています。札幌でも1月に行われ、盛況の中で終了しましたが、折角TDDの熱が高まった気運を下げてはいけないと、今回の開催に至ったわけです。今回は、ゲストはいませんので、自分の方からTDDについて講義を行い、午後からは共通のお題に4人1チームで取り組んでみました。 参加者は定員の16名です。前半のセッションは特にプログラミング言語には依存しない話でしたが、午後のお題に関しては、自分のスキル的な問題もあり、Javaに限定して行いました。 午前中はTDDに関するセッションです。内容としては開発プロセスにおけるユニットテストの位置付け、ユニットテストにおける型(パターン)、テスト駆動開発とはどんな

    TDD Boot Camp 札幌 1.5 終了しました - やさしいデスマーチ
    kanu-orz
    kanu-orz 2011/05/16
  • テスト駆動開発チートシート - やさしいデスマーチ

    TDD(テスト駆動開発)のチートシートを作ってみた。 TDDBCでid:t-wadaさんが話している内容とかテスト駆動開発入門から引っ張ってきています。 ダウンロードはこちらからどうぞ。 PNGイメージ: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.png PDFファイル: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.pdf 追記 印刷・再配布などはご自由にどうぞ。 もし、元データ(OmniGraffle)が欲しいという人は、コメント欄かTwitter経由で教えていただければ差し上げます。 追記2 このチートシートは、OmniGraffleで作りました。他に使えそうなツールとしては、イラレとか。Visioでもたぶん作れると思います。

    テスト駆動開発チートシート - やさしいデスマーチ
  • 次第に腐るテストコード - Fly me to the Luna

    結論を最初に書くと、 テストコードを書くだけではダメで、デイリービルドなりCIしないと意味ないんじゃないっすか?という事です。 最近Hudsonを使っていてすごいいいなぁ、と思うのがこの画面。 「リグレッション」という表現はすごい的を射ているなぁ、と思います。以前は「失敗」となっていたと記憶しています。 なんで的を射ているかと思ったかと言うと、テストコードって回帰テストの中で動かされると、その結果は「成功」と「失敗」だけではありませんよね。仕様変更による影響がテストコードので、テストコードが失敗すると言う事もある訳で。確かid:hyoshiokさんのブログだったかで拝見したかなんかだったんですが、Oracleでは毎朝デベロッパが出社すると、QA担当の人から失敗した回帰テストが回覧し、デベロッパに「これは障害なのか、仕様変更による影響なのか」を判断してもらった、と言う話を目にしました。テスト

    次第に腐るテストコード - Fly me to the Luna
    kanu-orz
    kanu-orz 2011/01/17
    腐ったまま放置して結局テストコードを使わない運用になっている事例が・・・orz
  • テスト駆動開発とかんばんは似ている、とケント・ベック氏

    コードを書くときにまずテストから書き始め、そのテストが通るようにコードを書くことで開発を進めていく「テスト駆動開発」。テストファーストとも呼ばれますが、この開発手法と、「かんばん」と呼ばれる、現場の進捗状況をかんばんによって見える化することで、開発プロセス全体の無駄をとり、価値の流れを作り出す手法には共通点が多い、というエントリ「TDD is Kanban for Code」をブログにポストしたのは、エクストリーム・プログラミング (XP) の考案者でアジャイルソフトウェア開発宣言の起草者の一人でもあるケント・ベック氏。 この2つにどのような共通点があるのでしょうか? かんばんとテスト駆動開発 「かんばんの目的は、開発プロセスの中で価値の流れを最大化することだ」とケント・ベック氏。簡単にまとめると、かんばんでは看板を使って各工程を見える化することで、下流工程から上流工程に要求が伝わり、仕掛

    テスト駆動開発とかんばんは似ている、とケント・ベック氏