タグ

tddに関するhajimepgのブックマーク (25)

  • かっこ悪くて面倒でもテストコードを書こう - 今川館

    Python | 10:08わたしはプログラマーではありませんが、いくつかの仕事でテストコードを見たり書いたりすることがあったので、その過程で思ったことをメモとして残しておきます。コーディングとテストを分けて工数を言う癖をやめようどっちもコードを書くのだから分けて考える必要はないテストコードの重要性は理解しているけど、工数も厳しいし客がテストコードを書くことに工数を割くことを認めてくれない。ありがちな話ですが、それがテストを書かないことの根拠であるならば少し考え直しましょう。コーディングとテストを異なる工程と考えるのをやめてしまえばそんなことに悩む必要はなくなります。つまり、「テストを書きながらコーディングする」のです。だいたい、普段プログラムを書いているときだって手元で動かしながらものを作っているでしょう。それと同じことをプログラムを書いてやればいいだけです。客がテストを書かせてくれない

  • xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中

    最近、昔作ったTest Doubleの解説資料を参照・引用してくれる方がちらほら出ていて恐縮しているのですが、見直してみると結構わかりにくい資料なので今回文章としてまとめたいと思います。内容は世間一般的に言われているMock、Stub、Fake、Dummyといった言葉の定義になります。 Test Doubleとは Test Doubleとは、テスト実行時に、テスト対象が依存しているコンポーネントと置き換わるものです。「テスト代役」と訳されることもあります。世の中でMock、Stub、Fake、Dummyなどと呼ばれているものの総称に位置づけられます。 簡単な例を以下に示します。このコードでは、テストメソッド「テストコード()」がメソッド「テスト対象()」をテストしています。また「テスト対象()」は、中でメソッド「外部メソッド()」を実行しています。なお「外部メソッド」はテスト対象でないとし

    xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中
  • テストが間違ってたら? - 日々常々

    「テストが間違ってたらどうするんだ」 自動テストの話をするとよく言われます。テストが間違ってたらわからないじゃないか。手動テストであれば、注意深く目で確認していれば間違いに気づけると言う主張です。 「目で確認していれば気づける」のは間違いではありません。必ず気付けるわけではありませんが、十分な知識を持った人が、十分な集中力と責任感をもってエビデンスを確認すれば、誤りに気付ける可能性は高いと思います。 品質(主に機能性)を目的とした自動テストでも、それを行う必要があります。それがテストコードのレビューです。 手動テストの場合、テスト実施前に手順や確認項目のレビュー、実施中の確認、実施後のエビデンス確認と、人が確認するタイミング*1が三カ所あります。 これに対し自動テストの場合、テストが書かれた時のみ。実行中は勿論、実行結果の確認に注意はありません。ただ成功か失敗かだけなので。ならば、テストコ

    テストが間違ってたら? - 日々常々
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

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

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • TestFirstで新人教育もやれば?という話

    最近、あるソフトハウスの新人が、準委任契約の開発現場にアサインされるにあたって、顧客企業の開発部門の責任者の面接を受ける事になり、その現場に居合わせる機会を得た。 で、人のスキル不足に関しては、新人だからと言う事で、まあしょうがないという雰囲気だったが、xUnit の経験が無いという話になると、顧客側責任者から、その新人に同行したソフトハウスの上司に対して厳しい指摘が飛んだ。 曰く、「これからの現場では、xUnit を用いたテストコードによる自動テストを"しなくてよい"なんて事はあるわけが無いから、新人研修では絶対にテスト駆動開発も教えるべき。」という事だった。 私としては、立場上、浮かれた態度を取れない状況だったので、その場ではほぼノーリアクションで神妙にしてたけど、内心は「我が意を得たり」の心境で、ちょっと気分が良かった。 開発の現場にいると、「先にやっておくべきことを後に回すと、利

    hajimepg
    hajimepg 2012/02/06
  • ソフトウェアテストを勉強しはじめて10ヵ月でやったこと - うさぎ組

    WACATE 2011 夏に誘われたのがキッカケでソフトウェアテストを勉強しはじめて10ヵ月くらいがたちました。 先日、わんくま名古屋でソフトウェアテストの勉強法についてLTしたのですが、みなさんにいろいろ聞かれたのでここにまとめておこうと思います。 当は1年の区切りで書こうと思ったけど、まぁいいでしょう。 追記ここから わんくまで発表したLT資料はこちらです うさみみのソフトウェアテスト勉強法 View more presentations from Kyon Mm 追記ここまで こういうのを書くときに時系列で書くべきか、コツを書くべきか悩みますね。 でも、みんなが知りたいのは僕の歴史じゃなくってコツだと思うので後者で書きます。前者はTwitterとか勉強会とかお事とかお茶でもしているときに聞いてみてください。 以下では多くの書籍を紹介していますが、僕がこの10ヵ月で読んだ。ってい

    ソフトウェアテストを勉強しはじめて10ヵ月でやったこと - うさぎ組
  • TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP - うさぎ組

    @t_wada「TDDはスキルです。量は質に転化する」 TDD Advent Calendar2011の記事になります。 TDD Advent Calendar jp: 2011 : ATND 前:@irof テストと言うパートナー #TddAdventJp - 日々常々 次:@yuya_takeyama さんです。 はじめに これは僕の主観であって、間違いもあると思います。それは僕の勉強不足から生じるものです。 どちらかというと、これを読んだ方に「そこはちょっと認識が一般的じゃない」「そもそも違うよ」って突っ込んでもらうためのものです。 「TDDよくわからないので教えてください」っていう記事です。 TDDをはじめたい人、TDDに行き詰まっている人 TDDがどんなものかよくわからない人、とりあえずテストコードって書いているけど毎回つまずいて成長が実感出来ない人、現場に導入したいけど伝え方が

    TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP - うさぎ組
  • テストと言うパートナー #TddAdventJp - 日々常々

    TDD Advent Calendar jp: 2011の 12日目です。 前:あなたは写経しますか - pocketberserkerの爆走 次:TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP - うさぎ組 テストはパートナー 「何を言ってるんだ?」な感じかもしれませんが、私にとってテストはパートナーです。 私がTDDのコンテキストで言う「テスト」はDeveloperTestです。このテストは開発者の開発者による開発者のためのテストであり、つまり開発者たる私のためのものです。私だけのためにテストは働いてくれます。 テストに対する不安 TDDや自動テストと言う言葉に触れ、「いざテストを書こう」と思った時。もしくはよく知らないままテストコードを書かなければならなくなった時。テストに対して不安を感じると思います。TDDは「不安をテストにする」とか言いますが、そもそもテス

    テストと言うパートナー #TddAdventJp - 日々常々
  • あなたは写経しますか - pocketberserkerの爆走

    @katzchangさんの次となるTDD Advent Calendar jp: 2011の11日目記事になります。 登録者一覧を眺めるたびに「他に学生がいない…」と嘆きつつ、ハードルが上がり続けたタイミングでの担当回というこで胃に穴があきそうです。 11月時点では「TDDBCについて書こう」と思っていたのですが、12/1の素晴らしい記事によって書くことがなくなったり*1、日々追加されていく素敵記事を眺めながらどんな内容にするか悩んだ結果、釣り気味なものになってしまいました… はじめに とりあえず、この10日間に書かれたTDD Advent Calendar記事を振り返ってみましょう。まだ読んでない方は、まずは10日目までの読んでみてください。 まず、TDD少年の想いや学ぶべき理由を知ることができます。そしてTDDを学ぶ前に身に付けておくといいと思う基礎体力が提示され、TDD入門方法の1つ

    あなたは写経しますか - pocketberserkerの爆走
  • VOYAGE GROUP エンジニアブログ : 滅びの言葉をテストする

    2011年12月10日00:00 カテゴリprogrammingネタ 滅びの言葉をテストする こんばんは。VOYAGE GROUPの野良クルー、@katzchangです。 ところでみなさん、バルスしてますか? バルスとは滅びの言葉、つまりおまいらに解かりやすく言うと、異常系処理をキックするコマンドなわけです。で、やはり、異常系処理も含めてテストされるべきですよ。当然ですね。 ということで、テスト駆動開発、いわゆるTDD"風味"で、バルスのJava実装を作ってみました。とはいえ、要するに System.exit(1) すればよいので、実装は大したことがない。でも、実際にどのような動作になるか、あまり試したことがないのは僕だけじゃないはず。試す価値はありそうです。 方針としては、balseメソッドを実装したBalsableクラスを用意し、システムが無事に異常終了することを確認すればよいというこ

  • C言語でもレガシーでも、TDD をやってやれないことはない(レガシーコード改善成分90%、TDD成分10%) - yujioramaの日記

    id:goyoki さんの次になるTDD Advent Calendar jp: 2011の9日目です。 まったく自重しない素敵エントリが続いているので、ここらで息抜きをしましょう。 TDD についての理論、情緒、実践についてはすでに語られてしまったので、現場で使われた話を書きたいと思います。 前提 このお話は フィクション です。 現実によく似た光景を見たり聞いたりしたとしても、それは幻想です。幻想のはずです。幻想ということにしてくださいお願いします。 はじめに そこには C 言語のシステムがありました。 規模にして数万行の中規模なシステム。 24時間365日動き続けることが要求されるもので、僕の仕事は、このシステムの中枢部をうまいこと改修することでした。 テストコードはあるものの、設計に大きな変更が入る前のプロダクトコードが対象となっていて、ユーティリティ関数以外のテストは全滅という、

    C言語でもレガシーでも、TDD をやってやれないことはない(レガシーコード改善成分90%、TDD成分10%) - yujioramaの日記
  • TDDのはじめかた #TddAdventJp - 千里霧中

    エントリはTDD Advent Calendar jp: 2011の12/8の担当分の記事で、id:t-wadaさんの「右手に感情、左手に数値 - カバレッジを味方にしよう - t-wadaの日記」に続くものです。 はじめに TDDはシンプルな原則に則った手法ですが、とっつきの悪さもしばしば持たれがちです。また一連のTDD Advent Calendarで起こった議論や会話の中でも、TDDの始め方はどうすれば良いかという話が散見されましたので、自分の担当枠では「TDDのはじめかた」についてまとめたいと思います。なお紹介するのはあくまで数ある入門方法のうちの1つです。たぶん他にも色々な良い入門方法があると思います。 全体像 紹介する入門方法は以下のようなステップバイステップの構造となります。 いつでも軽快に使えるユニットテスト環境を構築する 必要と感じたらすぐテストを活用する テスト並行を

    TDDのはじめかた #TddAdventJp - 千里霧中
  • 右手に感情、左手に数値 - カバレッジを味方にしよう - 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 の日記(旧)
  • 実録!TDD風景 #TddAdventJp - sue445's Blog

    Search this site Recent Entries Recent Comments Recent Trackbacks

  • TDDを学ぶべき10の理由 #TddAdventJp - やさしいデスマーチ

    かなり香ばしいタイトルですが、TDD Advent Calendar jp: 2011のエントリーとなります。前日の@bleisさんのエントリーの次になります。 はじめに TDD(テスト駆動開発)とは、「テストファーストを原則とし、テストが成功するようにプロダクションコードを書くというサイクルを繰り返す開発手法」です。XPのプラクティスの1つとして10年近く前に紹介され、ここ数年で再び1つのムーブメントとなっています。これは、TDD Boot CampがTDDへの敷居を下げ、体験する機会を提供した事も1つの大きな要因でしょう。 自分もTDDに魅せられたエンジニアの1人です。ぶっちゃけ、TDD信者とかTDD厨とか言われても可笑しくはありませんし、むしろ嬉しいくらいです。一方で、TDDを嫌う人もいるのも事実です。しかし、自分もTDDを銀の弾丸とは思っていませんし、適用しにくい領域もある事も理解

    TDDを学ぶべき10の理由 #TddAdventJp - やさしいデスマーチ
  • TDD の基礎体力と、TDD に対する想い - ぐるぐる~

    TDD Advent Calendar 2011 の 4 日目の参加エントリです。 前半では、TDD を学ぶ前に身に付けておくといいと思う基礎体力について書きました。 後半は、まぁ、その。後悔はしていません。反論ウェルカム、議論しようぜ。 不安をテストに 「レッド - グリーン - リファクタリング」は、TDD の根っこの部分であり、これ自体が「どう TDD をやればいいか」を教えてくれるものではありません。 それに対して、「不安をテストに」というのは、「どう TDD をやればいいか」という指針を与えてくれる言葉です。 この言葉自体は、TDD Boot Camp で自分のものにできました。 不安については、テスト駆動開発入門では (言及されているものの) 自然に組み込まれていて、最初に読んだときには全然気づきませんでした。 しかし、TDDBC で id:t-wada (和田さん) に短くて

    TDD の基礎体力と、TDD に対する想い - ぐるぐる~
  • It's just same as dust ahead of a wind: TDD Advent Calendar jp: 2011 day 3 : Perl でのテスト自動実行 & 通知環境

    11/12/03 TDD Advent Calendar jp: 2011 day 3 : Perl でのテスト自動実行 & 通知環境 TDD Advent Calendar jp: 2011 : ATND の 3 日目担当 shishi です。 私より前の日程の方達見て業界に名だたるお二人を見てビビり、後ろの日程のビッグネームな方達を見てまたビビり、と「前門の虎、後門の狼」のような心持ちですが、自分の担当をしっかりやっていきたいと思います! Perl での自動テストはテスト自体はしやすい言語であるにも関わらず、資料が多くはないように思います。TDD だとなおさらです。なので、テストの実行が楽な環境をつくるところからの説明があると良いのではと思いました。 そこで、Perl での TDD をしやすいように、自動でテストを実行する環境について書きたいと思います。 Perl での自動的

  • [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp

    第16回プログラミング言語とTDDは、どちらを先にマスターすべきか? 和田卓人 2007-12-21

    [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp
  • NameBright - Domain Expired

    If this is your domain name you must renew it immediately before it is deleted and permanently removed from your account. To renew this domain name visit NameBright.com

  • #tddbc の作り方( #TddAdventJp ) - bluebird

    TDD Advent Calendar jp: 2011の先頭バッターであるこのエントリでは、先日開催したTDDBC横浜での経験をもとに、みなさんがTDDBCを開催することになった場合に、気をつけるといいことを書きたいと思います。 宣言 まずは「やります!」と宣言することからはじまります。TDDBCはやりたいと意思表明すれば誰でも開催することができますが、TDDBCのMLで宣言すると、開催経験のあるみなさんのサポートを受けることができてよいでしょう。 会場手配 会場を確保しないことには話がはじまりません。地域にもよりますが、首都圏の場合は半年以上前から公共施設の受付がはじまるので、早めのスタートが肝心です。また、多くの自治体では、公共施設の予約の時に使用者登録が必要となります。 会社の会議室を借りれる場合はスケジュールに余裕はでますが、稟議のフローは確実に進めてください。 基調講演の手配

    #tddbc の作り方( #TddAdventJp ) - bluebird