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

タグ

tddに関するtarchanのブックマーク (47)

  • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」をサイトに掲載します。第2章以降については、誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp
  • 第20回 テストコードの重複はアリかナシか | gihyo.jp

    ニコニコ動画:https://www.nicovideo.jp/watch/sm2326646 第17回で、プロダクトコードの重複の話をしました。そこでは、DRY(Don't rpeart yourself)原則、コードの「重複は悪」という話をしました。 では、テストコードの重複はどうでしょうか? 今回はその点について議論してみたいと思います。 テスト対象、納品対象のコードは、コードの重複や機能の重複というのは、あってはならない、というか理想的には1行も重複がないという状態で書かれるべきですが、ではテストコードはどうなのかという話です。 テストコードの中の重複をどんどん排除してくと、たとえばテストのヘルパクラスをたくさん作ったりとか、テストクラスの継承がどんどん深くなるといった結果になり、そのテストが実際にどのように動いているのかを調べるために、いろんなテスト用クラスを行ったり来たりしなけ

    第20回 テストコードの重複はアリかナシか | gihyo.jp
  • UnityでTDDハンズオンRepositoryを作っている - imog

    最近更新したのでちょっと宣伝。 github.com なにこれ 最近、副業だったりプライベートなどでUnityを使う人でテストに興味ある方を対象にTDDについてお話する活動などをしています。その際に座学としてお話することもあれば、ハンズオン形式で実際に手を動かして書いてもらうということもあります。その際に使うサンプルリポジトリです。 ぜひお手元で考えながら書いてみてください。勉強会の資料などで使っていただいても大丈夫です。 なぜやってるのか ゲーム開発はソフトウェア開発の中でもかなり複雑性が高いと感じています。そして性質上変更頻度も高い。ゲームごとに作り方が変わる以上これは仕方ないことだと考えています。だからこそより変化に対応できるようにテスタビリティの高いコードになっていてほしいと考えていますがその難易度、そしてそもそものテストコード文化というものがないためにテストコードが書かれているこ

    UnityでTDDハンズオンRepositoryを作っている - imog
  • “オブジェクト指向”と“テスト駆動開発”は非常に相性がいい 2010年前半におきたツールのムーブメント

    受け入れテスト駆動開発(ATDD)が2013年からどのように変化してきたかについて、デロイトトーマツコンサルティング合同会社執行役員のkyon_mm氏とBASE BANK株式会社テックリード兼マネージャーの東口氏がトークをしました。全4回。1回目は、ATDDの歴史とkyon_mm氏の試みについて。 ATDDについて8年越しのリプライ kyon_mm氏(以下、キョン):今日のイベントについて説明します。みなさんconnpassでお集まりいただいたと思うんですが、1990年代に広まりはじめたTDD(テスト駆動開発)について、2013年くらいに私がちょっと話をしました。 先日、日でも有数の優秀なエンジニアたちが集ってプレゼンテーションする「July Tech Festa」というカンファレンスの中で、東口さんがATDD(受け入れテスト駆動開発)のプレゼンテーションをしていたんですね。そのときに私

    “オブジェクト指向”と“テスト駆動開発”は非常に相性がいい 2010年前半におきたツールのムーブメント
  • 動作するきれいなコード: 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のブログ
    tarchan
    tarchan 2020/01/07
    >プログラミングの名も無き1ステップとしてタスク未満の大きさのリファクタリングを常に行うことによって、 はじめて必要十分な量のリファクタリングが行えるようになります。
  • 『テスト駆動開発』を読んで - まめめも

    テスト駆動開発posted with amazlet at 17.10.12Kent Beck オーム社 売り上げランキング: 563 Amazon.co.jpで詳細を見る オーム社さまから電子書籍を贈いただきました。ありがとうございます。 書はテスト駆動開発(TDD)の原典で、たいへん有名なです。が、自分はわず嫌いで読んだことがありませんでした。 というか、TDD 自体もちゃんと理解したことがありませんでした。なんだろう、なんか怖かった。 そんな自分が今回このをいまさら読んでみたら、なるほどこれは確かにいいでした。なんというか、語りたくなる感じ。ということでご紹介。 紹介 テストとプログラムを交互に書いていく開発方法 TDD を、例題を用いて実演していくです。 TDD というと「プログラムより先にテストを書く」というところだけ強調されますが、正直それではよくわからないのでし

    『テスト駆動開発』を読んで - まめめも
  • テスト先に書きたい若者よ - hitode909の日記

    弊社では毎年インターンを受け入れているのだけど,いまもインターンが来てて,テスト先に書きたいけど油断すると先に実装を書いてしまう,とか話してた. 個人的には,テスト先に書くのが大事というよりかは,意識して仕様を先に考えるのが大事だと思っている.テストを先に書くと,先に仕様を考えざるを得ないので,良いスタイルが身につく. 僕がよくやるのは,関連しそうなクラスの絵をひと通りノートに書いてみて,その図だけで,うまく動くことを説明できるくらい考えてみる.その時点でおかしかったら,コード書いてもおかしくなる.ノートに方眼ついてるとクラス図書きやすい.UMLとかじゃなくても,自分で見て分かるくらいでもいいと思う. 紙でうまくいったら,外部仕様だけソースコードに書いてみる.クラス名と,メソッドの定義と,メソッドの上くらいに,ひと通りコメントでも書いてみて,この関数はこういうことをするんです,こういう引数

    テスト先に書きたい若者よ - hitode909の日記
    tarchan
    tarchan 2014/08/18
    >個人的には,テスト先に書くのが大事というよりかは,意識して仕様を先に考えるのが大事だと思っている.
  • ■ - hitode909の日記

    今日テストなくてめちゃくちゃに壊れてるアプリケーションのテストを一から書いてて、わりと書けてよかった。午前中セットアップに手間取ってて、午後からテスト書き始めて、小さいアプリケーションだったのでC0 90%くらいまでいけた。3年間くらいテストないせいでびくびくみんな触っててめちゃくちゃに壊れててよくなかった。テストえいって書けば書けるんだから、隙を見て書いていきたい。ずっとテストのあるWebアプリケーション眺めてるのでだんだんコツが分かって気がする。まず最初にCIに載せて、カバレッジ測れるようにする。面倒だけど、これやっておくと後で役立つ。普通にテスト書くと、実行環境までは定められないけど、CIがあれば、そこをベースに議論できる。最初は、アプリケーションのルートのモジュールをuse_okするだけ、くらいでまず通して、カバレッジも取れるようにする。たとえば、MyAppっていうアプリケーション

    ■ - hitode909の日記
    tarchan
    tarchan 2014/07/11
    >本当はブラックボックス的に仕様だけを書けるといいけど、ぶっ壊れてるアプリケーションの仕様とか知らないから、まずはカバレッジを高めて、一通りの仕様を知ることを優先した方が楽。
  • Appleの新言語「Swift」を使ったテスト駆動開発と、機能の紹介|CyberZ 公式エンジニアブログ

    CyberZ 公式エンジニアブログ アドテクや最新のテクノロジーについて情報発信していきます ブログトップ 記事一覧 画像一覧 怠惰のすゝめ。Do・・・ » Appleの新言語「Swift」を使ったテスト駆動開発と、機能の紹介 2014-06-05 14:20:52NEW ! テーマ:ブログ 新言語「Swift」とは新プログラミング「Swift」は、先日のWWDCで突如として発表された、Appleの作った新プログラミング言語です。Objective-Cに比べてモダンな文法が盛り込まれていたり(どことなくScalaやC#に似ていたり)、速度が早くなっている特徴があります。 Xcodeとの親和性の高い連携も示唆されており、今後広まっていく可能性が十分にあると思います。FizzBuzzとはFizzBuzzとは、プログラミングの課題などでよく出される問題で、1から順番に数字のループを行い、3の倍数

    Appleの新言語「Swift」を使ったテスト駆動開発と、機能の紹介|CyberZ 公式エンジニアブログ
  • TDDは死んだ。テスティングよ栄えよ。 by DHH | 2014-04-24 - やっとむでぽん

    DHHの"TDD is dead. Long live testing."を、訳してみました。 翻訳 やっとむ By David Heinemeier Hansson on April 23, 2014 著 David Heinemeier Hansson 2014年4月23日 Test-first fundamentalism is like abstinence-only sex ed: An unrealistic, ineffective morality campaign for self-loathing and shaming. テストファースト原理主義は禁欲のみを唱えた性教育のようなものだ。つまり、自己嫌悪に陥っている人に向けた、非現実的で効果のない、道徳教育のようなものだ。 It didn't start out like that. When I first disco

    TDDは死んだ。テスティングよ栄えよ。 by DHH | 2014-04-24 - やっとむでぽん
    tarchan
    tarchan 2014/04/25
    >テストファーストのユニットテストは、中間的オブジェクトや間接的で過剰に複雑な構造を生みがちだ。
  • 不具合にテストを書いて立ち向かう - t-wadaのブログ

    テストを行っている品質保証チームや、実際にシステムを使っているお客様から不具合が報告されたとき、あなたはどう思いますか? 悲しんだり、恥ずかしいと思い、不具合修正にすぐに着手したいと気がはやるのが人情というものです。しかし、焦っているときに行う作業はしばしば視野が狭く、一つの不具合修正が三つの新たな不具合を生んでしまうようなことになりがちです。 テスト駆動開発(TDD : Test Driven Development)は、プログラマが自分の不安を克服し、自分が書くコードに自信を持ちながら一歩一歩進んでいくための手法です。不具合の発生は、端的に言えばこれまでの「自信」を揺らがせる事態です。テスト駆動開発者は不具合にどう立ち向かうのでしょうか? やはりテストを書いて立ち向かってゆくのです。私はテスト駆動開発を数年間実践してきた中で、心がけているひとつの「掟」があります。それは「不具合の修正時

    不具合にテストを書いて立ち向かう - t-wadaのブログ
    tarchan
    tarchan 2014/02/16
  • テスト書きすぎ問題 - hitode909の日記

    テスト書きすぎるとよくないって言ってる人がいた.DHHっていう人.作業時間の1/3以上テストしてたらおかしいとか,ActiveRecordのバリデーションなど,Railsの機能はテストしない,とか. Signals vs. Noiseの去年のエントリに、テストをどれくらい書くべきかということについてDHHが指針を示していたものがあったので... - Sooey 偉い人が言ってるからという理由で,テスト手抜き派の人に良い材料を与えてしまった.僕は意見ちがって,作業時間半分以上はテスト書いたりしてる. テストたくさん書くと,最初に書くときのコストは増える.けど,あとから読む時や,変更したい時には,読むだけだし,書くのも差分だけで良い.コード体を理解できれば,要らないテスト捨てるのは,落ちたのを消すだけだから簡単.あとで見て,テスト足りないと分かったときに,明文化されてない仕様からテストを補う

    テスト書きすぎ問題 - hitode909の日記
    tarchan
    tarchan 2014/01/21
    >テスト書きすぎるとよくないというスローガンのために,テストが足りなくて,あとから読んだ人が分からなくなる,というほうが,リスクが高い.
  • テスト考2014 - Hidden in Plain Sight

    年々、ウェブアプリを開発するときにテストを書こうという機運が強くなっていると感じる。 これは、開発パラダイムの成熟を意味することであり、基的に良いことだと思っている。 しかし同時に「テスト原理主義」とでもいうような極端な考え方もでてきていて、開発スタイルをめぐって摩擦が起こっている。 そして、この議論は「テストは、ないよりあったほうが良いよね」という、微視的には誰も反論できないロジックに押し通されがちで、「地獄への道は善意で舗装されている」の典型的な現象に見えて仕方がない。 テストを書かない、というと背景にどんな深い考えがあっても素人くさく聞こえ、逆にテストを書くというだけで良いプログラマーに見える、という非対称な化粧効果がある。ソフトウェア・コンサルティング会社がテスト好きなのは決して偶然ではない。 ソフトウェアというのは、結局のところ、動いてナンボ、使われてナンボである。 期待するも

    テスト考2014 - Hidden in Plain Sight
    tarchan
    tarchan 2014/01/21
    >使ったことのない人は2014年のやることリストに「Airbrakeの導入」を追加しておこう。
  • テストのめどい話

    最初にめどい言い訳をせねばならぬ俺は江島氏ともきょん氏とも面識はないですが、お二人ともが俺のことを知ってることを俺も知ってる程度には狭い業界であり。どちらかに肩入れしたいわけではないです。喧嘩したいわけでもないです。普段あまりここでは言及しないですが俺は今の仕事としてはテストを書いたりテストを実施したりする係をしてノリクチをしのいでおり、いわばテストは業ですので、テストに言及することは今現在の同僚に対して意図しない受け取られ方をする可能性があるので困るので、それもあって普段はここではあまりテストの話はしないわけだが、だからと言って沈黙を破ってテストの話をするのが同僚に対して含みがあるというわけでもないです。とはいえ俺は大学等で真面目にソフトウエア工学の講義を受講したことがなく、経験と勘と昔取った杵柄だけでってるので、そういう意味では若干の後ろめたい気持ちもある。で、テストって何なん俺が

    テストのめどい話
    tarchan
    tarchan 2014/01/14
    >我々が必要としているのは止まらないソフトウエアじゃない。止まらない業務だ。
  • テスト自動化のこれまでとこれから

    2. 自己紹介  経歴 1976年 富士通入社、ソフトウェア事業部検査部 ~1990年 メインフレームOS の製品検査、品質保証 ~1999年 UNIX/PC のソフトウェア製品の検査、品質保証 ~2009年 社内システム支援、サービスビジネス、知財・特許 2009年~ 高度情報通信人材育成支援センターに出向  活動(昔) 富士通のソフトウェア品質保証活動(共著)(1987年) Conceptual Support for Test Case Design(COMPSAC'87) Test Case Design Support System(ICQC’87) 富士通におけるソフトウェア品質保証の実際(共著)(1989年) ソフトウェア品質管理ガイドブック(共著)(1990年) ソフトウェア品質管理事例集(共著)(1990年)  活動(最近) ソフトウェア品質知識体系ガイド(SQuB

    テスト自動化のこれまでとこれから
  • Martin Fowler's Bliki in Japanese - Junit新インスタンス

    http://martinfowler.com/bliki/JunitNewInstance.html JUnit testing framework のあるデザインについて、よく質問を受ける。 テストメソッドを走らせるたびに、新しいオブジェクトができる点についてだ。 blikiへ投稿するに値する内容だと思ったのでここに記す。 ( 念のために言っておくが、JUnitについて何か書くからといって、 その他のテストのやり方が重要じゃないと思っているわけじゃないですから。 有益なテスト方法はたくさんあるわけで、 JUnit やその親戚(xUnit)がいくら便利だからって、 すべてを解決してくれるわけじゃない。 テストについて言及してるblogがいくつかあるから、 そちらを読んでみることをお勧めする ( Brett Pettichord, Brian Marick, James Bach )。

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

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

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
  • Knockout + ContainerJS でテスタブルにToDoリストを作るチュートリアル - うなの日記

    Knockout + ContainerJS + Require.js で テスタブル にToDoリストを作るチュートリアルです。 ポイント MVVMアーキテクチャでテスタブルに MVVMアーキテクチャを採用し、View(HTML/CSS)とViewModel,Modelを分離。 ViewModel、Modelは HTMLに非依存となるため、単体テストが可能になります。 オブジェクトの生成と依存関係を、DIコンテナで一元管理 DIコンテナを利用して、ViewModel、Modelの生成と関連付けを自動化。 コンポーネント間の結合を疎にでき、テスト時のモックへの差し替えも簡単にできるようになります。 JavaScriptソースはクラスごとに分割管理 1ファイル200行超えたらメンテナンスとか無理ですよね! ということで、ソースファイルはクラスごとに分割管理します。 ソース間の依存関係解決と読

    Knockout + ContainerJS でテスタブルにToDoリストを作るチュートリアル - うなの日記
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
    tarchan
    tarchan 2013/09/18
    >ユニットテストを導入するならば、実装コストの2倍以上を見積もるべきです。
  • Playの充実したテスト環境で行う5種のテスト

    Playの充実したテスト環境で行う5種のテスト:Javaの常識を変えるPlay framework入門(6)(1/3 ページ) サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、シンプルな単体テストに加え、ビューやコントローラ、routeファイルのテスト、ブラウザテスト、テスト用の環境設定について解説します。 前回「Playで体得するRESTfulアーキテクチャの基礎知識」までの連載で、Play frameworkのMVCモデルを解説し、簡単なアプリケーションを作ることができるようになりました。 今回は、作成したコードに対してテストを書いていきます。 連載第1回「Java開発で泣かないためのPlay frameworkの基礎知識」で述べたとおり、Play framew

    Playの充実したテスト環境で行う5種のテスト