タグ

testに関するnitoyonのブックマーク (37)

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

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

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
    nitoyon
    nitoyon 2013/12/20
    単体テストのベストプラクティス。「現在時刻によって挙動を変えるメソッドをどのようにテストするか」で説明。Repeatable、Assertion Roulette、Self Shunt。 → https://t-wada.hatenablog.jp/entry/design-for-testability に移動
  • 意外と知らない Windows OS 標準の「ステップ記録ツール」

    操作の手順を記録したいWindows 7 からアプリケーションの操作をステップごとに記録してくれる便利なツールが付属しています。それが、「ステップ記録ツール」です。 Windows 7 では、「問題ステップ記録ツール」という名称でした。Windows 8, 8.1, 10 では、「ステップ記録ツール」という名称で統一されています。 スタートメニューに表示されないため、知らない人も多いツールです。エンドユーザーで知っている人はまずいないでしょう。 このツールを利用することで、操作を記録して、その様子をまとめたレポートを作成してくれます。アプリケーションのユーザーさんから問い合わせがあったときに、手順を教えてもらったり、不具合の再現方法をいただく際に重宝します。 起動Windows の検索にて、「記録」や「ステップ」と入力してみましょう。「ステップ記録ツール」が検索結果に表示されます。 上図は

    意外と知らない Windows OS 標準の「ステップ記録ツール」
    nitoyon
    nitoyon 2012/11/20
    Win7 以降に付属するステップ記録ツール。記録結果は mht になって IE で表示できる。/ Win(+R)→psr→Enter で起動するのが一番速そう。2008 R2 にも入ってた。
  • 自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組み合わせがあります。それでも運賃計算プログラムはわずか一瞬で正しい運賃計算が求められ、バグがあったら社会的な一大事にもつながりかねません。 爆発的な計算結果の組み合わせがあるはずの運賃計算プログラムは、どうやってデバッグされ、品質を維持しているのでしょうか? 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)
    nitoyon
    nitoyon 2012/09/24
    パターンが 10^40 を代表値 1000 万件に絞る話が興味深い。1 億人が毎日 4 回 10 年間、違うパターンで乗ったとしても 10^12 通り…。
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
    nitoyon
    nitoyon 2012/03/07
    「テストは設計を実装に落とす作業のパートナー」
  • 講義資料「テストとデバッグ」を公開しました - 西尾泰和のはてなダイアリー

    昨年行われたセキュリティ&プログラミングキャンプ2011で中学生〜大学生を対象として行った講義「テストとデバッグ」の発表資料を公開します。 テストとデバッグ View more presentations from nishio

    講義資料「テストとデバッグ」を公開しました - 西尾泰和のはてなダイアリー
    nitoyon
    nitoyon 2012/01/13
    テストとデバッグを効率的にやるための心構え。すごくよい資料。
  • Visual Studioで作る単体テスト、外部環境の利用方法

    連載では、Visual Studioの単体テスト機能にフォーカスし、開発者の利用シーンをキーワードにいくつかのシナリオを想定して、その時々の使い方を取り扱っていきます。今回は、データベース接続を伴う単体テストとASP.NET環境を利用した単体テストを行う方法について紹介します。 はじめに 単体テストを作成する場合に最も簡単にテストを作成できるのは、テスト対象メソッドの中だけで必要な全ての処理を行って戻り値を得られるようなメソッドを扱う場合です。.NET Frameworkで標準的に用意されているライブラリ以外を利用せず、外部のファイルやレジストリなどのリソースにアクセスせず、他プロセスやネットワーク越しのサービスなども利用せずというメソッドをテストするのであれば、非常に簡単にテストを作成して実行できます。 もう1つ、テストを実行する際に外部の環境に依存しないという点も、テストのしやすさに

    Visual Studioで作る単体テスト、外部環境の利用方法
    nitoyon
    nitoyon 2011/10/27
    VS2010+SQL Server で DB、ASP.NET の単体テストを実施する方法。DBではファイルアタッチデータベースを使う。
  • Shibuya.js - Test.js LT テスターを支援する仕組みの話 - monjudoh’s diary

    お前、誰よ 文殊堂といいます BePROUD社員 お仕事 最近は、JavaScript時々Objective-C 今日のお話 自動テストの話はしません テスターによるテストの話をします タイミングによって発生したりしなかったりする類のバグってありますよね テスターさんがモンキーテストをやってくれてる時に見つけてくれたりします でも報告されるのは… 「何をやっているときに」 「何が起こったか」 つまり、「操作」と「現象」だけです 原因箇所を特定するにはプログラマもその操作をなんども繰り返さないといけません ダルい 何とかしたい 問題の実例 IE(主に6,7)で「操作は中断されました」が出る What Happened to Operation Aborted? – IEBlog HTML解析中にまだ閉じタグまで解析されていない要素(bodyとか)に対して、子要素の追加や削除を行うと「操作は中

    nitoyon
    nitoyon 2011/03/09
    「操作は中断されました」エラーを防ぐために、jQuery に手をいれる。!jQuery.isReady && !!this.closest('body').size() のときに domManip すると警告をalert表示する。
  • さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 川o・-・)<2nd life

    日行われた Shibuya.js の発表資料をアップしました。 さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 View more presentations from hotchpotch JS のテスティングフレームワークのおおざっぱな説明や JavaScript テストにおける問題、それについての解決方法の一つ、CUI でのテスト、Envjs、エンドツーエンドテストにおける JS / Ajax のテスト、終わりにちらっと Phantomjs の話があります。 スライドの最後にあるように、やはりまだコレだ!という JS のテスティングフレームワークは存在しなく、今後 JS のテストは『僕らが書きたいテスト』をどれだけ簡単に書ける・書く手法が確立されるかによって流行廃りは決まってくるんじゃないかなぁ、と思ってます。そのうちの一つがスライ

    さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 川o・-・)<2nd life
    nitoyon
    nitoyon 2011/03/09
    ブラウザ上のテスト(unittest.js,QUnit,YUI Test)、CUIでのテスト(Envjs,Johnson,phantomjs)、エンドツーエンド テスト(capybara+Envjs)
  • Google App EngineとPythonでの素直な開発環境の構築(TDDができるように) - Masatomo Nakano Blog

    追記: 続編的なものを書いた。 今年は色々なことに手を出してみよう、ってことで少し前からGoogle App Engine(以下GAE)で、あるモノを作っている。モノ自体は近いうちに公表できると思う。 基的に、Pythonと標準っぽいフレームワークだけでやってみている。作っているものがそれなりにシンプルなのと(だからこそGAE!)、GAEでそれなりの規模の開発をするのが自分自身初めてということもあり、あまり色々なレイヤーを重ねて手こずりたくなかった、ってのがその理由。 ただ、GAE初心者なので、「いやいやそれは今時ないよ」「XXの方が100倍いい」とかあったら教えてくれると嬉しいので今のところの環境を書いておくことにした。今ならスイッチ可能。 今作っているものがJSONファイルを入出力するだけのものなので、HTML生成パートみたいのはない。 1. フレームワーク 上にも書いたように、今回

    nitoyon
    nitoyon 2011/02/19
    GAE のテスト。nose, nosegae, gaetestbed, webtest。
  • はじめての Chromium Land - steps to phantasien(2011-02-19)

    はじめてまじめに ...といってもたぶん 500 行くらい... WebKit ではなく Chromium 側のコードを書いている. まだレビューをとおってないため現在形. でかすぎてビルドの遅い Chromium より Mac WebKit をいじる方が快適という同僚もいたけれど, コード自体は Chromium の方がだいぶモダンだよなあ. 普通に unit test が書けるありがたさといったらない. Developer testing まず gtest が良くできていて感心する. static initializer を使ってケースの登録を分散化したり, コマンドラインフラグでテストケースを一覧選別できたり, プロセスを分離してクラッシュに強くしたり, クラッシュしたテストケースの backtrace をだしたり. でかい C++ のコードベース相手にテストをスケールするための工夫

    nitoyon
    nitoyon 2011/02/19
    Google コード文化を少し垣間見れる。
  • Visual Studio 2010の新機能「IntelliTrace」(1/4) - @IT

    連載:Visual Studioデバッグ手法 第2回 Visual Studio 2010の新機能「IntelliTrace」 亀川 和史 2010/07/28 2011/02/17 更新(Visual Studio 2010 SP1対応) ■IntelliTraceとは? プログラムをテスト実行中に意図しない動作が発生した場合、どのような手順でその動作を検証・デバッグしているだろうか? 恐らく通常は、以下の手順で検証・デバッグしているのではないだろうか? 例外や、意図しない動作が発生する ソース・コード中の該当しそうなところを探し、ブレークポイントを設定する 再度同じ手順を実行する ところが、この「同じ手順を実行する」ということが、従来のVisual Studioでは非常に厄介だった。例えば、非常に長い間操作した結果で発生したバグの場合、そのときまでに入力したデータや手順をすべて覚えてい

    nitoyon
    nitoyon 2010/08/01
    Visual Studio 2010 Ultimate限定。実行ログを吐いてあとから例外発生時の状況を確認したり、逆向きにさかのぼったりできる。
  • WebKit について (テスト) - 2010-01-04 - 兼雑記

    テストについて。テストは、 Layout tests と呼ばれるもので行なわれています。 LayoutTests というディレクトリに入っています。これはテストの html を用意しておいて、それに対してどういうふうに rendering する予定であるかをあらわす render tree というものをテキストとして出力させて、それに対してテストを増やす時に置いておいた expectation との diff を取って diff が無ければテスト成功という感じで行なうテストです。 テストは、緑背景に PASS と書いてあるなど、見た目で成功しているか失敗しているかがぱっとわかるテストが好まれるようです。例えばこんな感じ: http://lt.shinh.org/t.html#t=css2.1/t0801-c412-hz-box-00-b-a 元々はその render tree の比較しかな

    WebKit について (テスト) - 2010-01-04 - 兼雑記
    nitoyon
    nitoyon 2010/03/26
    レンダラのテスト手法。render treeの比較の限界、画像比較の問題点、Firefoxのref test(2つのHTMLの描画結果を比較)。
  • 僕がTDDをやめた理由 - カタチづくり

    タイトルは、まあ、半分釣り。TDDな人もそうでない人も、肩の力を抜いてお気楽にどうぞ。 題に入る前に まずお礼 ここで書くことは、前の記事 TDDはYAGNIに矛盾する? - カタチづくり から派生して色んな方と意見を交わした経験が元になっています。この場を借りて、色々とアドバイスを頂いた方に心から感謝の意を表します。 特にコメント欄にお寄せいただいた きしだ さんのコメントは、コメントと言うよりももはや一つの素晴らしい記事となっていて、もう必読といってもいいレベルじゃないでしょうか。当にありがとうございます。特にBDDについて大きなヒントを頂きました。 押し付けではなく、交換 タイトルから想像がつくとおり、ここにはどうしてもTDDに対して否定的な意見ばかりが並んでしまう。でも、だからといって僕がTDDを完全に否定しているとは思わないで欲しい。 僕が今一番恐れていることは、TDDに対し

    僕がTDDをやめた理由 - カタチづくり
    nitoyon
    nitoyon 2010/03/14
    TDDのよさとして宣伝されている内容と現実(3D CADの開発ではUI・グラフィック・形状処理のテスト作成が困難)。コメント欄、前記事も合わせて。
  • いまからでも間に合う開発者テスト - mixi engineer blog

    はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、

    いまからでも間に合う開発者テスト - mixi engineer blog
    nitoyon
    nitoyon 2010/03/01
    環境変数や print などのに依存した処理や副作用のある状態からスタートするテスト。Mixi::Test::Fixtures で DB の設定をセットアップする。Test::Apache2 で mod_perl ハンドラ、Test::Exit で exit のテスト。
  • http://japan.internet.com/webtech/20090623/8.html

    nitoyon
    nitoyon 2009/06/23
    オンラインでテストしてバグを報告してくれるサービスを検収に利用。担当者との打ち合わせ、テスター募集、報告、受け入れ。
  • My DebugBar | IETester / HomePage

    DebugBar Home > Wiki > IETester :: Browser Compatibility Check for Internet Explorer Versions from 5.5 to 11 :: ANNOUNCE: If you are an Adwords user, The IETester team is proud to announce its new tool: SunnyReports, a simple and efficient Adwords reporting tools IETester is a free (both for personal and professional usage) WebBrowser that allows you to have the rendering and javascript engines of

    nitoyon
    nitoyon 2009/05/17
    複数の IE を同時にテストできるソフトウェア。
  • Web 開発者の責任 (翻訳): Days on the Moon

    John Resig 氏による A Web Developer's Responsibility という記事が素晴しかったので、著者の許可を得てここに日語訳を掲載します。 Web 開発者の最大の負担は、ブラウザのバグと非互換性への対応に膨大な時間を費やすことであるといって間違いないでしょう。それゆえに、それらへの対応に不満をいうのは、Web 開発者全員の常となっていました。ブラウザのバグは迷惑でいらだたしく、仕事を大幅に難しくします。 ブラウザのバグはとてもいらだたしく、通常の開発における最大の負担です。ですから、開発対象のブラウザが、自身のバグを見つけ修正できるようにしてやるのは、すべての Web 開発者にとっての責任です。自分が見つけたバグに対して責任を持ち、「ほかの誰かがこれを見つけるだろう」とは思わないことで、ブラウザの進歩の速度は加速していくでしょう。 ブラウザを支援する解決策

    nitoyon
    nitoyon 2009/05/06
    各ブラウザへのバグ報告と実例。http://ejohn.org/blog/a-web-developers-responsibility/ の日本語訳。
  • MSDN ホームページ

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    MSDN ホームページ
    nitoyon
    nitoyon 2009/04/28
    VS2008 の単体テスト機能を分かりやすく解説。こういう記事がもっと増えてほしい。
  • Deliver your apps instantly, everywhere - Turbo.net

    Deliver your apps instantly, everywhere. Turbo.net lets teams and enterprises get work done quickly and securely, on PCs, Macs, mobile devices, and the cloud.

    Deliver your apps instantly, everywhere - Turbo.net
    nitoyon
    nitoyon 2009/02/24
    各種ブラウザをインストールせずに同時実行(IE6,7,8も!)。Windowsのみ。/ アプリケーション単位の仮想化技術(←APIでOSのエミュレート?)。FounderはKenji Obataさん。http://www.nitenichiryu.org/articles/xenocode-any-browser-launch-from-browser
  • Google Chrome の UI テスト (実装編) - blog.8-p.info

    GUI をもつソフトウェアのテストに関心があるので Google Chrome というか ChromiumUI テストをみていた。 ビルドと実行 ChromiumUI テストはいまのところ Mac では試せない。実行はできるものの、テストケースが含まれていない。 % ./xcodebuild/Debug/ui_tests [==========] Running 0 tests from 0 test cases. [==========] 0 tests from 0 test cases ran. [ PASSED ] 0 tests. % Windows でも Express じゃない Visual Studio が必要 なので、淡々とソースを読んだ。 ファイル Chromium には testing/ とか chrome/test/ とかそれっぽいフォルダがある。tes

    nitoyon
    nitoyon 2009/01/11
    マルチプロセスなGUI アプリの UI テスト例。NamedPipeを使ってるのかな。