タグ

*programmingとtestに関するhiroponzのブックマーク (22)

  • neue cc - Rx + MolesによるC#での次世代非同期モックテスト考察

    最近、妙にテストブームです。Chaining Assertionを作ったからですね。ライブラリドリブンデベロップメント。とりあえずでも何か作って公開すると、その分野への情報収集熱に火がつくよね。そしてテスト厨へ。さて、ユニットテストで次に考えるべきは、モックの活用。C#でモックといえばMoqが評価高い。メソッドチェーンとExpression Treeを活かしたモック生成は、なるほど、良さそうです。読み方も可愛いしね。もっきゅ。もっきゅ。 というわけでスルーして(えー)Molesを使いましょう。Microsoft Research謹製のモックフレームワークです。PexとのセットはMSDN Subscriptionが必要ですが、MolesのみならばFreeです。VS Galleryに置かれているので、VSの拡張機能マネージャーからでも検索に引っかかります。 Moles。Pex and Mole

    hiroponz
    hiroponz 2011/09/20
    C#でのテスト作成の参考にする
  • neue cc - メソッドチェーン形式のテスト記述ライブラリ

    Chaining Assertion for MSTest 昨日の今日で特に更新はないのですが、せっかく画像作ったので再解説。命名は見たとおりに、メソッドチェーンで切らさずアサーションが書ける!ということから付けました。テストを、限りなくシンプルに素早く迷いなく書けるようにしたかった。その答えが、メソッドチェーンで最後に値を取ることです。 // 全てIs一つでメソッドチェーンで流るまま! Math.Pow(5, 2).Is(25); "foobar".Is(s => s.StartsWith("foo") && s.EndsWith("bar")); Enumerable.Range(1, 5).Is(1, 2, 3, 4, 5); Assert.AreEqualの最大の問題は、どっちがactualでどっちがexpectedだか悩んでしまうこと。一秒でも引っかかったら「気持よくない」のです

    hiroponz
    hiroponz 2011/04/20
    chaining assertionの説明
  • Chaining Assertion for MSTest

    Surface Pro 12 インチ、ペン付きキーボード、充電器がついたセット。4 月 1 日より、特別モデルが $ • • • • • • で一般のお客様も単品よりお得にご購入いただけます。

    Chaining Assertion for MSTest
    hiroponz
    hiroponz 2011/04/20
    テストを書きやすくする拡張
  • テストファーストの弊害

    テストファーストは、XP(エクストリームプログラミング)の中でも特に広く浸透したプラクティスの1つである。 テストファーストは、モノを作るよりも前に、まずテストから着手する、という手法だ。モノが無ければテストできないという常識を、根からひっくり返す斬新なアイディアは、多くのソフトウェア開発者に衝撃を与えた。 テストファーストは、短期開発におけるXPの有効性が認められ、JUnitなどのテストツールが普及した今では、広く受け入れられるようになった。 だが、このようなまったく新しい手法は、初めはなかなか受け入れられ難いが、いったん受け入れられると、今度は逆に、魔法の技術であるかのように盲信されやすい。テストファーストについても、最近では「JUnitでテストコードを書いていれば、ソフトウェアの品質は問題ない」という風潮が広まりつつあるような危惧も感じる。 テストファーストの効果は、多くの人が認め

    hiroponz
    hiroponz 2010/06/30
    テストファーストで陥りやすい罠。たいして重要でない簡単なテストケースが量産されて、開発工数の浪費につながる危険性がある
  • 脱Excel! TestLinkでアジャイルにテストをする

    今回はTestLinkをテスト工程でどのように使うのか、テスト特有のマネジメント手法や概念を、TestLinkの機能に合わせて詳しく説明した。 【1】TestLinkの概要 TestLinkはPHPで作られたテスト管理Webシステムである。最新版はVer 1.8.3 (2009年6月)で、GPLで公開されている。WAMP、LAMP環境で動作する。 主な機能は下記である。 (参考:「きちんと学びたいテストエンジニアのためのTestLink入門」(gihyo.jp)、「簡易マニュアル - TEF有志によるテスト管理システムTestLink日語化プロジェクト」) 数千から数万のテストケースを一括登録して貯蔵できるので、テストケースを再利用できる テストケースとは別に、テスト実施結果を履歴として残せる テスト実施結果をいろいろな観点で集計できる テストケースからバグ管理システムと連携してバグ修正

    脱Excel! TestLinkでアジャイルにテストをする
  • .NET Tools : テスト駆動開発ツール最前線(後編)(2/3) - @IT

    これが意味するところは、従来はテスト対象のメソッドの表側しかチェックしていなかったものが、メソッドの裏側からもチェック可能になることを意味する。表側のチェックは、メソッドがすべての処理を終了してから結果をチェックすることになるので、メソッドのどこで問題が起きたか分かりにくい。 それに対して、裏側のチェックは、パラメータに渡したMockオブジェクトのメソッドが呼び出されるときに行われるので、テスト対象メソッド実行の途中で意図した呼び出しシーケンスから外れた瞬間にそれを検出することができる。それにより、問題発生個所の検出精度がアップするとともに、より具体的に問題の内容を把握できる可能性が出てくる。 では、具体的に、このようなMockオブジェクトをどのように用意すればよいのだろうか。もし、あまりに膨大な手間がかかるのであれば、いくらメリットがあろうと現場では実践できないことになる。果たして、どの

    hiroponz
    hiroponz 2010/01/07
    Mockオブジェクトを使ったテストの仕方
  • C# 2008 Express + NUnit 2.5 で、 初めてのテストファースト Step by Step - TDD.NET

    C# 2008 Express + NUnit 2.5 で、 初めてのテストファースト Step by Step ※ 初出: biac の それさえもおそらくは幸せな日々@nifty 「NUnit の "Hello, world!" ~ C# 2008 Express + NUnit 2.5 で、 テストファーストの Step by Step」 ( 2009/05/27 ) NUnit をインストールして動作確認までできた ので、 次は、 NUnit を使ってテストファーストでプログラムを作る方法についてです。 開発環境としては、 Visual Studio 2008 Express Edition SP1 の C# を使います。 なお、 Visual Studio 2008 の Pro. 版以上には、 MS 独自の単体テスト機能がありますが、 基的な考え方は NUnit を使う場合と変

    C# 2008 Express + NUnit 2.5 で、 初めてのテストファースト Step by Step - TDD.NET
  • moroの日記 - Railsでテストを書く勘所

    昨日はOSCに行ってきました。セミナーやブースはほとんど行かず、例によってRubyの会のあたりでだらだらしてたわけですが。 思いがけず師匠の師匠、id:t-wadaさんにもお会いできてびっくり。 で、そこでRailsとTDD(BDD)の話なんかしたので、一週間で思ったことをつらつらと。たぶん不正確というか、理解の足りないところもいろいろあるので、そのへんのツッコミをいただけると感謝です。 書いてたら長くなったのでagenda モデルのテストでは、とにかくロジックを書いたらテストを書く*1。def..endブロック(wを書いたら必ずテストもあるはず。 RailsのMVCコンポーネントの中では一番テストし易いので、そういう意味でもモデルを厚くすると幸せになりやすい。 コントローラのテストでは、基的にリクエストを受けてから表示対象のオブジェクトを導出するまでをテストしたい。 ビューのテストでは

    moroの日記 - Railsでテストを書く勘所
    hiroponz
    hiroponz 2009/11/11
    テストの書き方について良くまとまっている
  • RSpecの標準Matcher一覧表 - 本当は怖いHPC & AI

    追記2(2015/09/08)ありがたいことに、未だにこの記事をブックマークしてくださる方がいらっしゃいますが、2008年に書いた記事なのでご注意下さい。内容はアップデートしていません。私自身はすでにRubyを使っていません。 追記:古い情報ですので、記事の日付とお使いのRSpecのバージョンを見比べて、参考程度にご覧ください。大部分は通用するはずですが。 Matcherをいちいち調べるのが面倒になって、公式のリファレンスマニュアルは一覧性が低いから、自分で一覧表を作った。 RSpecそのものについては、スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)などをどうぞ。そのうちRSpec on Rails版も作る予定。 名前 not((should_notで使えるかどうかという意味。)) 意味・機能 == ○ ==演算子を利用して比較する。ex

    RSpecの標準Matcher一覧表 - 本当は怖いHPC & AI
  • ヽ( ・∀・)ノくまくまー(2009-07-21)

    UnitTest で部品をしっかり守っているのに運用時にエラー さらに version up 時には頑張って書いた UnitTest が無駄になる UnitTest の存在意義に疑問が出てくるから、書こうとする気力が落ちる 思考停止して頑張ってまた書いても、また運用時にエラーが起きちゃう こうして悪いリズムが生まれていく 長期的な回帰テストとしては UnitTest は無力 まず書くべきは End to End のテストだった・・・ 河田・・・受入テストにつけ! なるほど、UnitTest よりも受入テストの方が対象となるシステムの挙動と密接であるため、確かに テストコードが長生きする とことがわかる。うん、それで問題が解決しているよ。でも、さらに「実行者が人でないといけない」と言ってるのはなぜ?ここからが問題の核心だが、その答えから言えば 人である方がテストコードがさらに長生きする から

    hiroponz
    hiroponz 2009/07/26
    変更に強い受け入れテストの書き方
  • Shoulda(もっと早く使っていれば)by 達人プログラマ。Rubyのテストには、RSpecもいいけど、Shouldaが良いよ。 « kentaroi’s weblog

    Shoulda(もっと早く使っていれば)by 達人プログラマ。Rubyのテストには、RSpecもいいけど、Shouldaが良いよ。 Rubyのテストには、RSpecもいいけど、Shouldaが良いよ。ってことで、 達人プログラマのDavid ThomasがShouldaを分かりやすく紹介してくれていたので、仮訳してみたよ。 (翻訳・公開することを快く承諾してくれました。) 英語が苦手なので間違いもあると思います。指摘してくれると嬉しいです。 オリジナルの記事:Shoulda used this earlier —– ここから —– Shoulda(もっと早く使っていれば) 色んな意味で、ソフトウェアをテストすることは、外に出て運動をすることに似ている。しなきゃいけないことは分かってるし、運動は自分を良い状態にしてくれるのは分かってるんだけど、それをやらない言い訳を考えるのもすごく簡単だ(

  • Ruby スクリプトのユニットテスト・チュートリアル - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 少し前に公開した Ruby 用 JSON クラスに数多くのバグを仕込んでしまい(たいへんご迷惑をおかけしました m(_ _)m)、テストの重要性を改めて痛感している今日この頃です。今後も開発を続けるにあたって、現在の行き当たりばったりなテスト方法ではとてもやっていけないと危機感を持ちまして、きちんとしたユニットテストの方法を調べてみました。 で、実際に試してみたと

  • 4)Railsテスティング環境 2009 - Cucumber,Webrat and Rspec - - 技術メモ的なモノと気になるモノ

    諸橋恭介さんの発表(発表スライドはこちら) まとめ Cucumberが登場した事によってプログラマーのテスト環境が変わっている 受け入れ場Cucumber TDDはRSpec Choronicle of Rails Testing 1)Railsでのテストの歴史 〜2006はUnitTest(モデル),FunctionalTest(画面っぽい単位) 2007〜2008はRSpecがRailsと同時に使える。IntegrationTest(アクション/複数の画面をまたぐ)が入ってきた 2009になって、IntegrationTest部分にCucumberが登場 2)TestUnitとFunctional Testだけの時 UnitTest モデルのテスト データはFixtures FunctionalTest コントローラー/ビューのテスト IntegrationTest アクションをまたぐ

    4)Railsテスティング環境 2009 - Cucumber,Webrat and Rspec - - 技術メモ的なモノと気になるモノ
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • あなたのテスト、単なる動作確認になっていませんか?

    コスト高にならない「Oracle Database」クラウド移行の方策ー35年の知見からOCIと最新PaaSを徹底解説! powered by EnterpriseZine 2025年10月17日(金) オンライン開催

    あなたのテスト、単なる動作確認になっていませんか?
  • WritingTestableCode - テストできるコードの書きかた

    WritingTestableCode - テストできるコードの書きかた 目次 この文書について まずいのその1: コンストラクタがやりすぎ まずいのその2: 深い仲になってしまっている まずいのその3: 脆いグローバルな状態とかシングルトンとか まずいのその4: クラスがやりすぎ テストできるコードの書きかた この文書について "Guide: Writing Testable Code" の日語訳です http://misko.hevery.com/code-reviewers-guide/ 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... TODO: 各 Flaw のリンク先も訳す Misko Hevery コードをベストな状態に保つために、 我々は Google でソフトウェアエンジニアに以下のようなをガイドを定期的に送っていた。このガイドを共有できてうれしいね。 この

  • Visual Studio 2008単体テスト機能のすべて ― @IT

    Visual Studio 2008単体テスト機能のすべて:特集:Visual Studio 2008単体テスト機能徹底活用(前編)(1/4 ページ) 連載目次 Visual Studio 2005(以下、VS 2005)では上位エディションであるTeam Developerでのみ利用可能だった単体テスト機能が、Visual Studio 2008(以下、VS 2008)からは、Professional Editionでも利用可能になった。 VS 2008の1機能として導入されるほど単体テストが脚光を浴びるようになったのは、やはりアジャイル開発の普及だろう。アジャイルで開発する場合、単体の品質が非常に重要になる。また、リファクタリングなどで繰り返しテストが必要になるケースが多いため、テストを自動化するという考えが生まれ、単体テストの注目度はさらに増している。 稿では、このVS 2008

    Visual Studio 2008単体テスト機能のすべて ― @IT
  • functional test をめぐる冒険 - elm200 の日記(旧はてなダイアリー)

    趣旨 自動テストは重要だ。この主張に真っ向から異を唱えるひとは多くないだろう。 だが実際には、テストを書くのはいささか面倒だ。特にコントローラのテスト(functional test) に苦手意識を持っている人は多いのではないか。post やら get やらいろんなメソッドが前触れもなく出てくるコントローラのテストは、モデルのテスト(unit test) に比べると「ワケわからん」感が強い。そこで今日は、functional test の仕組みについてしつこく探究してみる。仕組みを理解しないと、コントローラのテストは書きづらいと思うからだ。 functional test の例 簡単なブログエンジンを作るとしよう。 Entry(ブログ記事) というモデルを考えて、それを CRUD するコントローラとビューの足場(scaffold) を作る。 % rails -d sqlite3 blog_

    functional test をめぐる冒険 - elm200 の日記(旧はてなダイアリー)
    hiroponz
    hiroponz 2008/10/30
    Railsのテスト関係のコードを追いかける
  • UIオートメーションによる自動UIテストの実践 ― @IT

    特集:UIオートメーションによる自動UIテストの実践 WindowsアプリのUIテストを自動化しよう クロノス 亀野 弘嗣 2008/06/03 読者の方々は、UI(ユーザー・インターフェイス)にかかわるテスト(以下UIテスト)を自動化できているだろうか? UIテストを自動化しようとしても、UIテストのコードは記述しにくく、記述方法に一貫性がない、などの理由から、自動化をあきらめる場合が多いのではないだろうか。 .NETの開発においても単体テストの自動化は一般的に行われるようになってきているものの、UIテストの自動化はそういった理由で実現が難しく、あまり行われていないのが現状だ。 そこで稿では、標準的で一貫性のある記述ができるMicrosoft UIオートメーション(以下UIオートメーション。詳細後述)と、テスト・ツールであるNUnitを使用して、UIテストを自動化する方法を紹介する(N

    hiroponz
    hiroponz 2008/06/05
    .net framework 3.0以降で利用できるUIテストの自動化を紹介
  • gihyo.jpにて連載させていただいたテスト駆動開発のWeb連載もとうとう最終回を迎えました - t-wadaの日記

    http://gihyo.jp/dev/serial/01/tdd/ 技術評論社様の情報サイト「gihyo.jp」にて、動画と連動した連載のかたちとして書かせていただいた今回のWeb連載も、ついに連載終了の日を迎えました。一応公約通り年内で連載終了まで来ましたね。お読みくださった方々には当に感謝いたします。ありがとうございました。 ここで連載の全記事に、リンクを張っておきます 第1回 連載を始めるにあたって 2007年10月26日 第2回 「テスト駆動開発」とは何か? 2007年10月30日 第3回 「テスト」という言葉について ── Developer Testing,Customer Testing,QA Testing 2007年11月2日 第4回 ナントカテスト ―― ユニットテスト,単体テスト,機能テスト,結合テスト,受け入れテスト 2007年11月6日 第5回 進捗管理として

    gihyo.jpにて連載させていただいたテスト駆動開発のWeb連載もとうとう最終回を迎えました - t-wadaの日記
    hiroponz
    hiroponz 2008/01/08
    テスト駆動開発記事へのリンク