タグ

TDDに関するmiholovesqのブックマーク (17)

  • 【翻訳】テスト駆動開発の定義 - t-wadaのブログ

    このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent BeckがTDDの定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ 2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent Beckは、substackにTDDに関するポストを連投して論戦を繰り広げていました。TDDはその誕生から20年以上が経ち、その間に「意味の希薄化」が発生して議論が噛み合わなくなっていました。意味の希薄化(Semantic Diffusion)とは、新しく作り出された用語が広まる際に来の意味や定義が弱まって伝わる現象です。 私(和田)はTDDと関わりの深いキャリアを歩んできました。Kent Beckの著書『テスト駆動開発』の翻訳者であることもあり、TDDの正

    【翻訳】テスト駆動開発の定義 - t-wadaのブログ
    miholovesq
    miholovesq 2024/03/08
    翻訳ありがたい。業務でやらないのでTDDワイワイ会でキホンのキをストイックにやる練習を続けている
  • テスト駆動開発のはじめの一歩|t_wadaさんに聞く1人で始める自動テストのコツと考え方 - Agile Journey

    アジャイル型の開発が導入されていない現場であっても、そして一人であっても、実践可能なアジャイルに関するプラクティスは存在します。 例えば、自動テストや、テストファースト、テスト駆動開発(TDD:Test Driven Development)です。ユニットテストフレームワークを使ってテストコードを書いて開発しながらテストを実行する「自動テスト」、実装の前にそのテストコードを書く「テストファースト」、テストと実装を繰り返しながらインクリメンタルに設計・開発を行うのが「TDD」。これらプラクティスのなかで、はじめの一歩となるのが自動テストですが、1人で実践するには、どこからはじめるか、どうテストを組み立てればよいのか、あるいは自分のテスト方法は適切なのか、不安を持つこともあるでしょう。 そこで稿では、さまざまなチームや組織へのテスト手法の導入を支援し、精力的に講演や執筆などを行ってきたこの分

    テスト駆動開発のはじめの一歩|t_wadaさんに聞く1人で始める自動テストのコツと考え方 - Agile Journey
  • 最小限のコードで動く最も汚いコードから始める

    最小限のコードで動く最も汚いコードから始める 2023.09.02 コードを書く際の重要な要点は、読みやすく他人に理解される「良いコード」を書くことです。しかし、完璧を目指して最初から書こうとすると行き詰まります。代わりに、荒削りながらも動くコードを作成し、徐々にリファクタリングして完成度を高めます。型エラーやリントエラーを無視しても構わないので、まずは動くものを作成しましょう。それからリファクタリングして「良いコード」を作成できます。 コードを書くときに最も大切なことってなんだろう?聡明な読者諸君ならご存知だろうが、コードは書く時間よりも読む時間のほうが長い。だから他人に読まれることを意識して、読みやすい「良いコード」を書かなくっちゃならない。コンポーネントは適切な粒度で分割されていて、適切な名前がつけられている。型システムに安全性だって守られてるし、最新のなんとかアーキテクチャにも準拠

    最小限のコードで動く最も汚いコードから始める
  • ユニットテストをGitHub CopilotとChatGPT使って書いてみたらやばかったです | DevelopersIO

    GitHub Copilotとの単体テストがやばい。ChatGPTが書いてくれるテストもすごい。もうこれらがない時代には戻れないような気がします。 こんにちは。AWS事業コンサルティング部に所属している今泉(@bun76235104)です。 みなさんユニットテスト書いてますか? 昨今AIがダミーデータを書いてくれたり、ユニットテストそのものを書いてくれたりと技術の進歩がすごいですね。 私はリファクタリングが好きですが、リファクタリングをする前に絶対に必要なもの。 そうテストですね。 今回私がテストを後回しにしてしまった以下のOSSについてGitHub CopilotとChatGPTのそれぞれの力を借りながら、テストを書いてみました ※ これは以前私が始めたプロジェクトであり、OSSとして公開されているので学習に使われても問題のないコードです。 なお、GitHub Copilotの料金や

    ユニットテストをGitHub CopilotとChatGPT使って書いてみたらやばかったです | DevelopersIO
  • ReplitのTeams for Educationを使ってElixirの授業をしてみた - Qiita

    Replitは複数人でコラボレーションできるブラウザ上で動作するIDEです. 下記のReplitのトップページを表示して下へスクロールさせてみてください.SF好きの人は気に入ると思います.(Replitにログインしている人は一度ログアウトして試してください) Teams for EducationはReplit教育向けソリューションです. さっそく試して授業で活用してみましたので報告します. ログインするとサイドバーに次のように出ます. Teamsを選択します.すると右側のメイン画面に次のように出ます. "+ New Education Organization"を選択します.すると次の画面が出ます. "Organization name"には組織名を入れます.またその後の選択肢については,私の場合は,大学に勤務していて,大学の授業で使うので,Higher Educationを選択しまし

    ReplitのTeams for Educationを使ってElixirの授業をしてみた - Qiita
  • テスト駆動開発(TDD)への招待 | Sqripts

    更新 2024.03.08 テスト駆動開発(TDD)は、ソフトウェア開発の“やり方”の一つで、その名の通り、テストが開発を牽引する方式です。 しかし、初めて聞く方や、なんとなく理解しているだけの方にとっては、具体的な内容やそのメリット、実践方法がわかりづらいかもしれません。この記事では、テスト駆動開発とは何か、なぜそれに取り組むのか、そしてどのように始めれば良いのかについて詳しく解説します。 また、テスト駆動開発についての誤解や勘違いを解きほぐすための情報も提供します。 テスト駆動開発は、一見すると長い道のりに見えるかもしれませんが、実際には一歩一歩進めば容易に始めることができます。この記事を通じて、テスト駆動開発の理解を深め、その取り組みを始める一歩を踏み出してみてください。 テスト駆動開発とは|TDDとは何か テスト駆動開発は、プログラミング手法、コードを書き進めるやり方です。プログラ

    テスト駆動開発(TDD)への招待 | Sqripts
    miholovesq
    miholovesq 2022/09/08
    TDDワイワイ会を紹介してくれてる! そろそろやるか〜 #tddyyχ
  • 質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition

    質とスピード(2022春版、質疑応答用資料付き)

    質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
  • テスト駆動開発(TDD)のゴール「動作するきれいなコード」について考えてみる - やっとむでぽん

    「偉大な書籍は偉大な出だしで始まる。ケント・ベック著『テスト駆動開発』(2003, 2017)はこう始まります。 「動作するきれいなコード」。Ron Jeffriesのこの簡潔な言葉が、テスト駆動開発(TDD)のゴールだ。 」 テスト駆動開発エバンジェリストとして活躍している、和田卓人さん(t_wada)の講演より引用 セミナー講師やアジャイルコーチの立場で、私もTDDを教えることがよくあります。そんなときはこの言葉を意識しつつ、TDDはあくまでスキル、手法のひとつに過ぎず、当に求めるべきは動作するきれいなコードなのだと、伝えるようにしています。そのことを説明する補助として、こんな図を作りました。 絵を描いてみて気づいたのですが、「動作する(Works)」には2つの側面があります。書いたコードが、書いたつもりの通りに動くこと(Verification)と、期待に応えて働き実際に役立つこと

    テスト駆動開発(TDD)のゴール「動作するきれいなコード」について考えてみる - やっとむでぽん
    miholovesq
    miholovesq 2022/02/14
    面白い〜。"Clean code that works"のworksの分解。"(意図通りに)動作する"と"うまく働く(役に立つ)"。昔顧客の前でライブデモしてリアルタイムでフィードバックをもらったのはいい経験だったな。
  • テストの自動化とテスト駆動開発

    組織としてテスト自動化に取り組むべき理由と、手段としてのテスト駆動開発を紹介する講演資料です。以下のような内容です。 ねらい: ・主に顧客向けの業務システム(B2B)を開発している、 ・プロジェクトベース、ウォーターフォールプロセスが主流の開発現場や運用保守の現場にいる、 ・マネージャーのかたに向け、 ・テスト自動化が自分たちのメリットになると納得してもらい、 ・その道筋として2つのアプローチを紹介して、 - テスト駆動開発 - ペアプログラミング ・組織的・長期的に取り組む価値を感じてもらう アジェンダ: 1.自動化したい理由 2.必要な人材を考える 3.テスト自動化の端緒 ~テスト駆動開発について~ 4.深めつつ広げる鍵 ~ペアプログラミングについて~ 5.見る夢について

    テストの自動化とテスト駆動開発
    miholovesq
    miholovesq 2021/03/30
    力作。説得力が足りないときに助けてもらおう。。tddyyχも紹介されてる!
  • TDD Boot Camp 2020 Online #1 基調講演/ライブコーディング

    編開始は 19:05 からです こちらのイベントのYoutubeLive配信のアーカイブです https://tddbc.connpass.com/event/183044/ チャプター 0:00:00 準備開始 0:19:05 講演開始 0:41:55 ライブコーディング開始 0:57:20 プログラミング開始 1:02:00 最初の RED ? 1:19:00 fake it 1:26:50 最初のリファクタリングおわり 1:36:40 質問タイム 1:51:20 5の倍数に着手 1:53:40 前半のデモのまとめ 1:55:20 質問タイム2回目 1:56:45 リリースから3年後の世界(テストをメンテナンスしやすくする) 2:14:20 テストの構造化とリファクタリングの説明

    TDD Boot Camp 2020 Online #1 基調講演/ライブコーディング
    miholovesq
    miholovesq 2020/08/03
    よいものを見た
  • 動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α - t-wadaのブログ

    この文章は、2019年4月18日に開催された国際カンファレンス SeleniumConf Tokyo 2019 で行った基調講演の文字起こしを土台に加筆修正したものです。 当日の講演資料は speakerdeck で、動画は YouTube で公開されています。 Clean code that works - How can we go there? - Takuto Wada | SeleniumConf Tokyo 動作するきれいなコード - どうたどり着くか 日の講演タイトルは「動作するきれいなコード - どうたどり着くか」です。動作するきれいなコードへ至る道の話をさせていただこうと思います。 資料は公開予定で、講演の写真撮影も問題ありません。ツイッター等での実況も大歓迎です。ハッシュタグは #SeConfTokyo です。 改めて自己紹介です。和田卓人(わだたくと)といいまして、

    動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α - t-wadaのブログ
    miholovesq
    miholovesq 2019/12/28
    去年と今年、数年ぶりにt-wadaさんの話を聞くことが何回かあったのだけど、基本的には昔からブレずに同じ話をしているにも関わらず、理路整然として説得力が増していてプロの仕事のすごさに感服したのだった
  • Agile Vietnam Conference で TDDワイワイ会の話をしてきた #tddyyχ - ナイスビア珍道記

    スピーカー名札 12/7〜8の2日間、サイゴン(ホーチミンシティ)とハノイで行われたAgile Vietnam Conference 2019にセッション公募が通って登壇してきた。 サイゴンの登壇者ずらり ここ数年参加しているカンファレンスで、ベトナムで講演するのは2015年以来。正確には2016年にワークショップをやっているけれど、純粋にトークで登壇するのは4年ぶりだったらしい。 サイゴンで登壇して夜飲んで翌朝ハノイに移動*1、ハノイで登壇という強行軍(いつもそうだけど)だった。 TDDワイワイ会(正式名称「TDD+モブプログラミングでワイワイする会」、tddyyχ)についてはこちら。 miholovesq.hatenablog.com Introduction to TDDYYΧ ある部屋のアジェンダ(わたしのセッションがある) サイゴンでは3トラックある中で1トラックのお昼の直前のス

    Agile Vietnam Conference で TDDワイワイ会の話をしてきた #tddyyχ - ナイスビア珍道記
    miholovesq
    miholovesq 2019/12/16
    ベトナムのカンファレンスで講演してきた話
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • 組織にテストを書く文化を根付かせる戦略と戦術(2019夏版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2019 Summer Edition

    デブサミ夏 【B-4】 2019/07/02 13:15 ~ 14:00 https://event.shoeisha.jp/devsumi/20190702/session/2077/

    組織にテストを書く文化を根付かせる戦略と戦術(2019夏版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2019 Summer Edition
    miholovesq
    miholovesq 2019/07/03
    最新版だ
  • テスト駆動開発の過去・現在・未来 / History of TDD - XPJUG 2018 Keynote

    テスト駆動開発の過去・現在・未来 XP祭り2018 基調講演 2018/09/08 http://xpjug.com/xp2018-session-keynote/

    テスト駆動開発の過去・現在・未来 / History of TDD - XPJUG 2018 Keynote
    miholovesq
    miholovesq 2018/12/30
    講演たいへんよかったです
  • バーチャルパネル: コードとテストの比率、TDD、BDD

    JB:この件について一般化するのは嫌なので、私がTDD/BDD使うときとその理由を説明させてください。 私が初めてTDDに出会ったのはミス(欠陥といってもバグといってもいいでしょう)を防ぐ方法を求めていたからです。プログラム上の多くのミスのおかげで私は完璧さの感覚を失ってしまいました。どんなことを成し遂げても仕事が完璧に近づいたと感じたことはありませんでした。そして、書いたコードをテストすれば、ばかげた小さなミスを見つけ修正できるのではないかと考えました。テストをしてミスを見つけたかったのは、愚かにみられるのを防ぐためというより、仕事に対する完璧さの感覚を失わないようにするためです。実際テストは役に立ちました。数年経って、TDDはコーディングのミスを防ぐのに役に立つだけでなく、デザインの失敗を防ぐのにも役に立つことに気づきました。そしてBDDを学び、どのような機能を実装するかについての失敗

    バーチャルパネル: コードとテストの比率、TDD、BDD
    miholovesq
    miholovesq 2018/09/04
    色褪せない
  • スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita

    あまりにバズってしまったので、前書きを追加 ここまでバズってしまって正直すまんかった。 この記事はもともと愚痴記事をマイルドにして投稿しただけなので「テストを勧める」とか「テストを信奉する」とかそこまで強い意図は特にありません。(私がテスト好きなのは否定しません) 「テスト書こう」に対して「そんなコストはない」と言いながら、いろいろ問題が生じる現状を愚痴りたかっただけです。愚痴るだけだと生産性がないから、なんでこんなに認識が違うんだろうと原因を考えた結果、テストを書くことに対する技術で実際にコストが大きく異なるなと気づいて書いた次第です。 この記事の対象は「テストを書く技術がなく、テストを書く気がない」組織に所属する人です。 アジャイル開発において「テストコードは当然」なのか?という記事で(私の記事をきっかけとして)テストコードの「徹底」とか「カバレッジ100%」とかを批判し、トレードオフ

    スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita
    miholovesq
    miholovesq 2018/08/09
    “テストを書く前提で書かれないコードは書き直さないとテストを追加できない”
  • 1