タグ

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

  • 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とテスト容易性(試験性)の関係 - 千里霧中

    最近ソフトウェアテスト方面の方々に対してTDDの講義を行う機会を頂いていて、テスト・QCの視点とTDDの視点の関わりについていくつかの点で考えるようになっている。その延長線上で、少し前に話題になっていた、TDDとテスト容易性(試験性)の関係についても考えを整理しているのだけれど、区切りのいいタイミングなので今回文章としてまとめてみたい。 なお今回は、割と代表的な単体テストの運用形態と思われる、ウォーターフォール的に単体テストを用意するアプローチ(設計のブレークダウンで確保するアプローチ)と、TDDで0から単体テストを蓄積していくアプローチ(インサイドアウトのTDDで確保するアプローチ)を比較していく形で、TDDとテスト容易性の関係について説明していきたいと思う。 無防備なテストラストの弊害 まず前提の話になるけど、取りあえず何も考えずにテストラスト(後からテストを書くアプローチ)で単体テス

    TDDとテスト容易性(試験性)の関係 - 千里霧中
  • オブジェクト指向の学び方 - 千里霧中

    ソフトウェア開発 実は最近オブジェクト指向に関する指導などで、オブジェクト指向の学び方について考える機会が増えています。今回は思考の整理も兼ねて、その学び方についてまとめてみようと思います。オブジェクト指向をめぐる混乱 オブジェクト指向の定義やアプローチに関しては、一部混乱が存在します。そららは学習を阻害するリスクを十分持っていますので、学び方に入る前の予防的な確認として、一度主要なものを列挙したいと思います。 工程間での混乱 オブジェクト指向は様々な工程に導入されていますが、それぞれで独自の世界が形成されている領域があります。 例えば分析工程では、アクターやデータベース、機能プロセスといった現実世界や仕様上の構成要素にオブジェクトやクラスを割り当て、その挙動やコミュニケーション手段を継承やプロパティで表現する方法論が、オブジェクト指向分析やUMLモデリングといった形で確立されています。そ

  • 1