タグ

TDDに関するnunulkのブックマーク (12)

  • 私がTDDを実践しない理由(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: 37signals Dev — Pending tests 原文公開日: 2023/03/01 原著者: Jorge Manrubia -- 37signalsのエンジニアです 日語タイトルは内容に即したものにしました。 私は「テストファースト」で作業することも、テストでコードの設計を支援することも、めったにありません。 最近の私は、37signalsである新しいことに取り組み始めました。何も決まっていない白紙の状態なので作業はすいすい進み、来る日も来る日もこってりしたプルリクを作成しています。会議に先立って早めに投げておきたいと思っていたプルリクには、もれなく以下が含まれていました。 ご覧のように、私はほとんどの場合テストを最後に書いていることが見て取れます。例外があるとすれば、テストを書くことで最短で結果をフィードバックで

    私がTDDを実践しない理由(翻訳)|TechRacho by BPS株式会社
    nunulk
    nunulk 2023/05/30
    "単にTDDは私の使うツールではないと思っているだけです。"
  • 「自動テストとテスト駆動開発、その全体像」を執筆しました(Software Design 2022年3月号) - t-wadaのブログ

    【更新】寄稿した記事が Web に公開されました 技術評論社様のご厚意により、 Software Design 2022年3月号に寄稿した「自動テストとテスト駆動開発、その全体像」が gihyo.jp にて公開されました。誠にありがとうございます! gihyo.jp はじめに 2022年2月18日発売の Software Design 2022年3月号 にて、第2特集「そろそろはじめるテスト駆動開発」の第1章「自動テストとテスト駆動開発、その全体像」を執筆いたしました。第1章では、混同されることの多い自動テスト関係の概念を自動テスト、テストファースト、テスト駆動開発(TDD: Test-Driven Development)の3つの段階に分け、それぞれの効果や注意点を包括的に整理整頓しています。 ソフトウェアデザイン 2022年3月号 作者:大竹 章裕,瀬戸口 聡,庄司 勝哉,光成 滋生,

    「自動テストとテスト駆動開発、その全体像」を執筆しました(Software Design 2022年3月号) - t-wadaのブログ
    nunulk
    nunulk 2022/02/22
    読もう
  • モックは必要悪で、しないにこしたことはない - blog.8-p.info

    Mockitogomock が使いやすいせいか、単体テストというのはモックするものである、という思い込みがあるのか、人々がモックしすぎているのを時折みかける。 モックは必要悪で、しないにこしたことはない。外部の API サーバーとかはガンガン叩くわけにもいかないけれど、ファイル読み書きくらいは、実際にファイルを作ったり消したりしてしまっていい。/etc/passwd を消すとか、1GB のファイルを作るとかだと難しいかもしれないけれど、その場合でも、パスのプレフィックスを指定できるようにして、一時ディレクトリの中の etc/passwd を使うとか、ファイルサイズを指定できるようにするとか、逃げ道はいくつもある。そこを飛ばして「ファイル操作は一律モックしましょう」とか頑張りだすと辛いことになりがちだ。 モックの一番の問題は、番とテストで違うコードが走ることで、これは自動テストの価値

    nunulk
    nunulk 2021/10/15
    自分もモック(スタブ)は外部 API 叩くやつくらいだなぁ、あとはたまに内部のモジュールに強制的に固定値返させたいときとか
  • Laravelでテスト駆動開発はどうやるの? “大いなる自信を伴うコード”を得るための守破離と序破急

    オープンソースのスクリプト言語 PHPを沖縄で普及するために開催された「PHPカンファレンス沖縄2021」。nunulk氏は、Laravelでのテスト駆動開発について発表しました。 テスト駆動開発の目的は「自信を伴うコードを書く」こと nunulk氏(以下、nunulk):「Laravelでテスト駆動開発を行う際の守破離と序破急」というタイトルでお話しします。PHPカンファレンス沖縄は前回も参加して、自分としては沖縄大好き芸人枠で参加が義務で、今回はあまりネタが思い浮かばなかったんですが、がんばってスライド作りました。 今は沖縄で仕事もいただいていて、Alpaca.Labという会社で「AIRCLE」という運転代行のサービスのバックエンドを担当しています。沖縄は車がないとけっこう不便なので、沖縄にお越しの際はぜひレンタカーを借りて、この「AIRCLE」使ってみてください。 それから、もう1つ

    Laravelでテスト駆動開発はどうやるの? “大いなる自信を伴うコード”を得るための守破離と序破急
    nunulk
    nunulk 2021/09/28
    いちおうセルクマ ʕ•ᴥ•ʔ ʕ•ᴥ•ʔ
  • TDD実践を経て変わったこと

    Qiita × Uzabase Tech Meetup#1 技術講演②「TDD実践を経て変わったこと」 で発表した内容になります。 https://connpass.com/event/210103/

    TDD実践を経て変わったこと
    nunulk
    nunulk 2021/04/28
  • Slow database test fallacy (DHH)

    By David Heinemeier Hansson on April 30, 2014 The classical definition of a unit test in TDD lore is one that doesn't touch the database. Or any other external interface, like the file system. The justification is largely one of speed. Connecting to external services like that would be too slow to get the feedback cycle you need. That was probably true in 1997 when you were connecting to a mainfra

    nunulk
    nunulk 2021/03/20
    "Don't pervert your architecture in order to prematurely optimize for the performance characteristics of the mid-nineties."
  • テスト駆動開発(TDD)を身に着けるために、知るべきこと - Qiita

    業務でテスト駆動開発(TDD)を実践するようになってから約 2 か月が経ち、現在のチームでの開発スタイルにも慣れてきました。 TDD の実践のため、ケント・ベック氏の「テスト駆動開発」を読んだところ、TDD 初心者が知るべき内容が多いと感じたので、私のような方に共有できればと思います。 テストの粒度 TDD を行っていると、テスト実装の際このような疑問が浮かんでくる。 ・各々のテストがどのくらいをカバーすべきか ・リファクタリングの家庭で中継地点をどのくらい作るか ロジックに一行加えることや、少量のリファクタリングを行う際にテストを書くべきか? ロジックに数百行加えたり、数時間かかるリファクタリングを行う際にテストを書くべきか? この答えは、「どちらもできるようになろう」だ。 小さいステップで行うのがテスト駆動開発者の傾向ではあるが、アプリケーションレベルのテストのみで駆動する人もいるよう

    テスト駆動開発(TDD)を身に着けるために、知るべきこと - Qiita
    nunulk
    nunulk 2020/09/15
    "不安が退屈に変わるまでテストを書く"
  • プライベートメソッドのテストは書かないもの? - t-wadaのブログ

    この文章の背景 この文章はプライベートメソッドのテストを書くべきか否かに関する knsmr さんのご質問に対して 2013/03/13 に QA@IT で回答したものです。残念ながらQA@IT のサービス終了(2020/02/28)と共にアクセスできなくなってしまったため、運営を行っていたアイティメディア株式会社様、開発を行っていた永和システムマネジメント様、そして質問をされた knsmr さんに許可とご協力をいただき、当時の回答をサルベージしてブログに転載する運びとなりました。 プライベートメソッドのテストはよく議論になるテーマですので、当時の回答を再編集し、knsmr さんのご質問も含め、ご利用いただきやすいライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で公開いたします。 目次 この文章の背景 目次 knsmr さんのご質問 私の回

    プライベートメソッドのテストは書かないもの? - t-wadaのブログ
    nunulk
    nunulk 2020/04/09
    たしかにこれいつも悩む。最近は、テストはしたいけど、プライベートにもしたい、という場合は、無名クラスを使ってる
  • 付録Cだけじゃない!付録Aに隠されたTDDの狙いとは?〜テスト駆動開発をやめて、なお残すべき習慣とは(10)

    前回から、書籍を辿り、TDDの再考を試みています。TDDを既に知っている、実践しているという人にとっても、TDDについて新しい発見、ジャメヴ(未視感)が起きれば幸いです。 付録AにはTDDの狙いが含まれる著者のケント・ベック氏は、そもそも、プログラミング中にどんなフラストレーションを感じて、テストファーストやTDDを編み出し解消を試みたのでしょうか? 彼が解きたかった問題の説明は、書籍の三部で記載されたパターンの問題記述や25章の「テスト」に出てくる因果ループ図、付録Aに記載された因果ループ図が参考になります。 新訳『テスト駆動開発』が出版されたときは、和田さん書き下ろしの付録Cに注目が集まりましたが、実は付録Aの因果ループ図も「著者が取り組みたかったテーマがいったい何だったのか?」を的確に把握する上で欠かせません。 今回は、付録Aに記載された因果ループ図を参考に、「ケント・ベックが解消し

    付録Cだけじゃない!付録Aに隠されたTDDの狙いとは?〜テスト駆動開発をやめて、なお残すべき習慣とは(10)
    nunulk
    nunulk 2020/04/06
  • Jim Coplien and Bob Martin Debate TDD

    http://www.infoq.com/interviews/coplien-martin-tdd Bob Martin is also known as Uncle Bob. He is an Agile Manifesto author, and author of books on Agile Programming, XP, UML, Object Oriented Programming, and C++. Jim Coplien is a software pioneer in Object Oriented programming and C++ and multi-paradigm design. He is also co-author of DCI paradigm. Debate sprang up at JAOO '07 around Bob Martin'

    Jim Coplien and Bob Martin Debate TDD
    nunulk
    nunulk 2020/04/01
  • TDDはゆるく実践しても大丈夫 - 千里霧中

    最近、TDDのテストコードは捨てても良いかみたいな議論を見ました。 これに対する自分個人の経験上の意見ですが、TDDは雑多にテストコードを使い捨てても効果を出せると思います。 もちろん、TDDで保守性が高く価値あるテストを書いて、捨てずにCIや中長期的なリファクタリングで再利用していくと、TDDの効果を増幅できます。ただ、それをするにはスキルや事前の工夫、労力が必要ですし、できる場面に限りがあります。 そういったことをやらず、もっとゆるい姿勢で取り組んでも、費用対効果をプラスにできる手法がTDDだと考えています。 今回は、そのTDDでゆるくしてもよいポイントを、実経験からまとめたいと思います。 TDDのテストは使い捨てでいい TDDのテストはプログラマのこまごまな課題に応じて累積的に作られるため、保守コストがかかるテスト・保守する価値の低いテストが生まれがちです。そのためテストの使い捨ての

    TDDはゆるく実践しても大丈夫 - 千里霧中
    nunulk
    nunulk 2019/10/14
    "パッケージや、アーキテクチャレベルのレイヤといった大きな粒度の方が、有効・堅牢な自動テストを書きやすい場面は少なくありません。"
  • マニアが潰したテスト駆動開発〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (5)

    昨年12月に行われた和田卓人氏と『時を超えたプログラミングの道』編集長/『スクラム実践入門』著者の家永英治氏の『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談の記事第5弾をお届けします。 対談のこれまでの記事は以下になります。

    マニアが潰したテスト駆動開発〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (5)
    nunulk
    nunulk 2018/03/20
    マニアってオブラートに包んでるけどようは原理主義者ってことだよね…
  • 1