タグ

ブックマーク / goyoki.hatenablog.com (6)

  • 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等の定義) - 千里霧中
  • TDDのはじめかた #TddAdventJp - 千里霧中

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

    TDDのはじめかた #TddAdventJp - 千里霧中
    irof
    irof 2011/12/09
    "TDD入門で詰まったときに" おすすめ。
  • テスト自動化の目的 - 千里霧中

    最近あるMLでテスト自動化の目的について考える機会があったのですが、今回は整理としてそこで言及したことをまとめたいと思います。 色々な目的 よく言及されていますが、テスト自動化の目的は単に「人がやっていることをツールにやらせて楽をする」といったものに限りません。思いつくものでも、例えば以下があります。 繰り返し作業を効率化する 何度も繰り返す作業を自動化して、繰り返しによる作業重複分を効率化します。 継続的なテストの実現 テストの繰り返し実行を容易にして、高頻度の回帰テストを実現します。例えばCIへのテストの組み込み等を実現します。 素早いフィードバックの実現 継続的なテストの実現により、コミットといった小さな追加・変更のステップごとのテスト実行を実現します。これによりプロダクトやテストの追加・変更を小さな単位でテストをしつつ進められるようにします。 バグの早期検出の実現 頻繁な回帰テスト

    テスト自動化の目的 - 千里霧中
  • JaSST'11 Tokyoに登壇 - 千里霧中

    少し前になりますが、先日JaSST'11 TokyoにTDD研究会として登壇させていただきました。 拡張型TDD@JaSST'11 Tokyo View more presentations from H Iseri JaSSTソフトウェアテストシンポジウム-JaSST'11 Tokyo このセッションでは、当に様々な方々に大変お世話になりました。改めて御礼申し上げます。 なお発表では色々なフィードバックをいただくことになりました。そのお陰で、かなり贅沢な形で、考案した方法論の課題や可能性などを炙り出すことができたと実感しています。 現在はそれらを活かして研究会で更に検討を進めている状況です。発表の機会もいくつか研究会で検討中ですのでご期待ください。

    JaSST'11 Tokyoに登壇 - 千里霧中
    irof
    irof 2011/04/01
    単体テストによる品質確保をTDDに取り込むって話。
  • XP祭り関西にてユニットテストの保守に関する発表 - 千里霧中

    先週末、XP祭り関西2011にて「ユニットテストの保守性を作りこむ〜設計・実装の工夫で支えるテストの継続的活用〜」と題した講演をさせて頂きました。 今回は内容として、ユニットテストをより継続活用するためテストの実装とテスト設計の工夫でユニットテストの保守性を高めていく、という話を取り上げさせて頂いています。 ユニットテストの保守性を作りこむ, xpjugkansai2011View more presentations from H Iseri. ※PDF版 今回は、直前にJaSST'11 Tokyoで登壇機会(残務処理が終わり次第報告したいと思います)があり、また仕事も急がしいままという状況が重なって準備でしんどい思いをしましたが、何とか無事に終わりかなり安堵しています。 登壇者として声をかけて頂いた細谷さんや、すばらしいイベントを作り上げているXPJUG関西の方々に深くお礼申し上げます

    XP祭り関西にてユニットテストの保守に関する発表 - 千里霧中
    irof
    irof 2011/03/21
    テストを書けるようになっても、そこで止まらないこと。保守性超大事。ではどうやって?
  • ユニットテストの網羅性の扱いについて - 千里霧中

    テストの網羅性については様々なものがある。基的な網羅性の観点としては、構造ベース、仕様ベース、外部の標準や指標ベースなどが挙げられる。 そして観点ごとに、様々な網羅性の指標がある。ユニットテストの場合だと、例えば以下がある。 コードの構造網羅 コードの構造を網羅する。ここでいうコードの構造としては、制御フロー、データーフロー、例外フローなどがある。具体的な指標としては、コードカバレッジが有名。コードの構造網羅では、コードカバレッジなどを基準にして、基準以上の網羅性を確保できるようにテストを設計する。 なお、構造網羅というと、一般的な定義ではコード以外の構造も扱われるが、このブログでは便宜上「構造網羅をコードの構造を網羅すること」という定義に絞り込んで説明する。 仕様網羅 コードの仕様を網羅する。コードの仕様には、対象(対象の粒度はテストレベルに依存する。例えば関数やクラス、モジュールを単

    ユニットテストの網羅性の扱いについて - 千里霧中
    irof
    irof 2011/03/21
    「何の網羅」かはとても重要。構造網羅率は 85-95% が良いらし(100%はむしろ危険とか)。
  • 1