Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

tddに関するbobbyjam99のブックマーク (43)

  • テストの説明に安易に「正しく」とか書かない - Object.create(null)

    みなさんテストは書いていますよね. 書いていなければふりだしに戻る. 例えば関数 add に対して, 以下のようなテストコードがあるとします. describe("add", () => { it("正しく計算できる", () => { expect(add(1, 2)).toBe(3); }); }); よさそうですね? もしよくないと思うのであればここから下は読まなくても大丈夫なくらい理解している方だと思います. 続いて関数名を変えただけのこちらをどうぞ. describe("sub", () => { it("正しく計算できる", () => { expect(sub(1, 2)).toBe(3); }); }); なんだか明らかに間違っている気がします. もしこのテストが通過してしまったとき我々はどうすればよいのでしょうか. 考えられるパターンは 2 つあります. 実装もテストも正

    テストの説明に安易に「正しく」とか書かない - Object.create(null)
    bobbyjam99
    bobbyjam99 2020/07/24
    “ここではテストコードが "正しい" ことが何であるかを定義すべきであるはずなので, やはり「正しく計算できる」といった説明には何の意味もない”
  • 夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ

    こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに

    夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ
    bobbyjam99
    bobbyjam99 2015/09/08
    ためになります
  • 自動テストの誤解とアンチパターン in 楽天 Tech Talk

    2014/02/12の楽天Tech Talkに登壇させてもらったときの発表スライドです。 2013年に発表したいくつかの内容をまとめました。 基的に、ソフトウェアテストの絶望を聞きたい人向けです。Read less

    自動テストの誤解とアンチパターン in 楽天 Tech Talk
  • TDDをめぐる、最近の議論についての私見。 - ふぃーるどのーつ

    はじめに DHH氏のTDD is dead. Long live testing. (DHH)のエントリは、国内でもさまざまな議論を呼び起こしました。ですが、そのセンセーショナルな見出しの影響もあり、「(TDDと同一視した上での)ユニットテストは不要」などの、ミスリードされた論調も見られます。乗り遅れた感もあるのですが、前述のエントリに限らず、TDDについて最近考えていることをまとめたいと思います。 TDD=テストファーストではない ケントベックの「テスト駆動開発入門」や、Uncle BobのTDD三原則の影響もあり、TDDでは、まずテストファーストするのだ、という印象をお持ちの方がいると感じてるのですが、いきなりテストファーストするというのは、教条主義なところがあり、現場に適用するのは敷居が高いのは確かです。 TDDを実践する上で大事なのは、テストによって開発が駆動されることです。すなわ

    TDDをめぐる、最近の議論についての私見。 - ふぃーるどのーつ
  • TDD with Chef

    A brief introduction to test-driven development with Chef. This was given for the Infracoders London meetup group.

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

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

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • ユースケースからテスト駆動開発へ

    4. ユースケースから テスト駆動開発へ 2.0 2013.01.13 TDD BootCamp 大阪 Shuji Watanabe (@shuji_w6e) 3 13年1月14日月曜日 5. テスト駆動開発のFAQ 問. どのくらい事前設計すべきでしょうか? どうすれば、いつやめるかわかるのでしょうか? 答. 何を構築すべきかわかるまでです。 Derick Bailey http://www.infoq.com/jp/news/2008/03/tdd-smells 13年1月14日月曜日

    ユースケースからテスト駆動開発へ
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

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

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • より良いテスト駆動開発を行うためのチートシートの紹介

    みなさんこんにちは。@ryuzeeです。 planetgeek.chというサイトでUrs Enzler氏がTDDのチートシートを公開していたのでご紹介します。 Clean Code and Clean TDD Cheat Sheets (PDFファイルでダウンロード可能です) 以下で、チートシート内の一部を意訳にてご紹介しましょう。 Unit Test Smellsテストが何もテストしていない一見するとテストが有効に機能しているように見えるが、実はテスト対象をテストしていない テストに過度なテスト準備が必要とされるテストが環境をセットアップするのに長いコードを必要としている。こういうノイズがテストが当にテストしたいのが何なのか?ということを分かりにくくする。 大きすぎるテスト有用だが大きすぎるテスト。たぶんテストが1つではなく複数の機能をチェックしているか、テストが1つ以上のことをやろう

    より良いテスト駆動開発を行うためのチートシートの紹介
  • 埴科ーず 

    ──────┛ _..-'ッ    ''" _..-'"゙,/´ _/゛.,..‐″ _,,,..y         _.. -''''゙,゙`-     ,/_..-'" _,.. -'''゙゙ /       ._,, ‐'″._..-'"      ..r←'´ ‘゛ .,..-'"     .,..-'"゛ ._..-'"゛ . ‐'"     ._..-'゙_,,..-‐'" .l゙‐''"゛ ,..イ!″ _..-' / _..-'^  γ"´ ̄ ̄ヽ _   ._ ,..-'" .,/゛  {     ( ̄│.│.../ / ._..-'″ _/゛    \__  ̄\..V ./"⌒.ヽ.              .「 ̄| ._..-'″ .,/゛          丿 ..│  ../..|  ,-、\   ┌───┐...│.│ ,..-'″  . /        . 

  • TDD のこころ

    The spirit of TDD - Oct 22, 2010 at Cybozu Developers ConferenceRead less

    TDD のこころ
  • レガシーコードは南斗聖拳(外から攻める)。新規開発は北斗神拳(内から攻める)、レガシーコード改善ガイド読書会ふりかえり - 未来のいつか/hyoshiokの日記

    社内テスト勉強会でレガシーコード改善ガイド読書会の報告をした。 読書会を地味に開催してテストの価値観を共有できたのは非常によかった。そして実際、自分のプロジェクトに試してみた人たちの報告もあった。 一方で社内読書会の課題も見えてきた。やはり、参加者のスケジュール調整が難しいこと、少しずつ参加者が減ってしまうことなどである。皆忙しいし、時には突発のトラブルでスケジュールどおりに参加できない事はある意味致し方ない。忙しいと読書会どころではなく、それに参加しつづけるモチベーションの確保も難しい。*1 レガシーコード改善ガイド読書会View more presentations from Hiro Yoshioka. 今あるレガシーコードとどう向き合うか 新規にソフトウェアを作る場合はTDDでユニットテストを書いていけばいい。この方法論についての報告、参考書などは豊富にある。 レガシーコードという

    レガシーコードは南斗聖拳(外から攻める)。新規開発は北斗神拳(内から攻める)、レガシーコード改善ガイド読書会ふりかえり - 未来のいつか/hyoshiokの日記
  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

  • チケット駆動開発とアジャイル開発の密接な関連 - プログラマの思索

    小川 明彦, 阪井 誠 : チケット駆動開発 日のソフトウェア開発の現場で生み出された「チケット駆動開発」という概念を、数多くの実例を元にモデル化・体系化を試みた最初の。 小川 明彦, 阪井 誠 : Redmineによるタスクマネジメント実践技法 Redmineによるチケット駆動開発の実践技法に関する最初のアジャイルなソフトウェア開発への適用方法、TestLinkによるテスト管理手法についても言及。 清水 吉男: 「派生開発」を成功させるプロセス改善の技術と極意 組込システム開発をベースとして、ソフトウェア開発特有のスタイルである派生開発、特にXDDPについて解説した世界でも稀な。既存製品を保守するのではなく継続的に機能追加していく昨今の開発では、派生開発特有の問題を意識しなければならない。XDDPはプロセス論だけでなく、要件定義などの上流工程の品質改善にも役立つので注意。 Le

    チケット駆動開発とアジャイル開発の密接な関連 - プログラマの思索
  • 全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

    この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Railsrubyということを言う人もいるよね)。 少なくとも僕は、Eclipse

    全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
  • なぜTDDとペアプログラミングで生産量が増えるのか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    なぜTDDとペアプログラミングで生産量が増えるのか
  • TDD、TDDと言うけれども。TDDのダークサイドについてそろそろ一言語ってみる。 - Fly me to the Luna

    id:t-wadaさんの話の中で、TDDが品質を保証するわけではない、という話があったんですが、それについて私見をつらつらと。ちなみに自分は2年くらい仕事でTDDをやってきました。 やってきた中で下記のTDDの利点を感じることができました。 その時に気づいた最もシンプルなコード、クリーンなコードができる テストコードからコードを書く、と言うのはプロダクトコードの利用方法が考えられるのでとても有効に作用します。id:t-wadaさんもリファクタリングが一番重要と話されていましたが、テストコードがあれば安心してリファクタリングができます。 より高い品質のコードが書けるようになる これはt-wadaさんの話の中でもありましたね。なぜかと言うと、プロダクトコードが実行される時の前提条件を知ろうとすると、結構いろいろなコードに目を通すことになります。コードに目を通すことで優れた先人の知恵を見つけるこ

    TDD、TDDと言うけれども。TDDのダークサイドについてそろそろ一言語ってみる。 - Fly me to the Luna
    bobbyjam99
    bobbyjam99 2009/06/12
    "TDDで書いたプロダクトコードは、部分最適なコードになりやすい。"/"あらかじめコードを書く時点で分かりそうな事は、最初に入れておくことは悪ではないはずです。何事もバランスが肝心"
  • 第二回チキチキ 日本ペアプログラミングの会java-ja支部会(仮)にて TDD の講演をさせていただきました - t-wada の日記(旧)

    イベントに参加された皆様、ありがとうございました。 そして、会場を提供してくださった株式会社ドワンゴさま、そして会場設営、配信設備等々ご尽力いただいた coji さんにお礼申し上げます。ありがとうございました。 久しぶりの java-ja でしたが、 java-ja はやはり java-ja でした。話していて当に楽しかったです。まとめると、 TDD は黄金の回転なのでみんな SBR(Steel Ball Run) を読んでくださいね。 当日資料はこちらです(またも slideshare の埋め込みに失敗。なぜだろう?) ペアプロのデモは id:kompiro とふたりで行いました。id:kompiro は前日 Twitter で無茶振りしたにも関わらず快諾してくれました。ありがとうございます。Eclipse のショートカット機能や Quick-JUnit プラグイン、そして Kent

    第二回チキチキ 日本ペアプログラミングの会java-ja支部会(仮)にて TDD の講演をさせていただきました - t-wada の日記(旧)
  • 第15回 java-ja (第2回 TDD) に行ってきた - onkはギリギリ霊長類

    久々に java-ja 行ってきた java-ja@東京の真面目なイベントは久々ですね。実に半年ぶり?(ノ ∀`) ドワンゴの会議室にお邪魔しました。来なら土日は空調が止まっちゃうんだけど,無理言って動かして貰ったと聞きました。ドワンゴ++。id:coji++。 50人ぐらい入れて,無線 LAN 完備の会議室ってなかなか無いんですよねぇ。ああ,無線も私物でしたっけ。重ね重ねありがとうございます。 TDD は黄金の回転 前半は id:t-wada による TDD 講座。だいたいいつもの奴をなぞった感じだなぁw 予習が生きた。 「TDD は黄金の回転である」というのは元ネタが SBR であることを意識すると実はものすごく深い言葉だということにようやく気づけた。黄金の回転はスタンドではない。スキルだ。つまり TDD は努力によって手に入れることが出来る技術なのだ。 「タワーズ・クエストのロゴは