最近、昔作ったTest Doubleの解説資料を参照・引用してくれる方がちらほら出ていて恐縮しているのですが、見直してみると結構わかりにくい資料なので今回文章としてまとめたいと思います。内容は世間一般的に言われているMock、Stub、Fake、Dummyといった言葉の定義になります。 Test Doubleとは Test Doubleとは、テスト実行時に、テスト対象が依存しているコンポーネントと置き換わるものです。「テスト代役」と訳されることもあります。世の中でMock、Stub、Fake、Dummyなどと呼ばれているものの総称に位置づけられます。 簡単な例を以下に示します。このコードでは、テストメソッド「テストコード()」がメソッド「テスト対象()」をテストしています。また「テスト対象()」は、中でメソッド「外部メソッド()」を実行しています。なお「外部メソッド」はテスト対象でないとし
Webアプリケーションのデザインの確認って大変面倒だよね。 ブラウザ経由での自動テストを行うSelenium周りをいろいろとちゃんとやっていこうと整備し始めたのは、先日のBlog記事通り。 それで、Seleniumの基本的な使い方はあれこれ理解したが、これを、ブラウザ上のデザインのテストにも使えないかと模索を始めた。今回はJava/ScalaのWebフレームワークであるPlayFrameworkをベースに解説するが、Selenium周りはあまり変わらないのではと思う。 Webページ(ビュー)のテストには何があるのか 基本的にビューのテストには3種類あると思っている。 きちんと値が出力されているか 正しい遷移が行えるか きちんと表示がされているか 「きちんと値が出力されているか」「正しい遷移が行えるか」については、まあ普通にSeleniumを使えば出来るので割愛。 Seleniumの基本的な
はじめに こんにちはこんにちは!最近アレでアレな zentooo です。 ちょっと前まで自分で書いたテスト用データをDBにほげほげするモジュールの話を書こうかと思っていたのですが、disで有名なあの方に会社で「それはいけてないわ」と言われ、確かに自分でもこれはいけてないわー、という気分になってself-reject!したので今日は予定を変えて全体的にふわっとしたことを書きます。 ※書いてしまってから昨日の記事と内容かぶってる!と気づきましたがそのままで testがモリモリ肥大化する テスト自体はとりあえず書くことは書くんだけど、何も考えずにテストを書いていると、こんな感じになっちゃったー、ってことがよくありますね。僕もよくあります。 subtest with_case1 => sub { my $data_for_test = +{ }; # 上のデータからオブジェクト作ったりDBにins
まだ校正中なのですが、iOSアプリのテスト自動化入門(仮)的な*1タイトルの本を執筆しました。秀和システムさんから3月中旬ごろ発売予定です。 iOSアプリ テスト自動化入門 作者: 長谷川孝二出版社/メーカー: 秀和システム発売日: 2014/03/18メディア: 単行本この商品を含むブログ (1件) を見る 【3/7追記】Amazonさんで予約はじまりましたのでリンク追加しました 昨年Androidテスト部で書いた『Androidアプリテスト技法』は、テスト技法とテスト自動化が半々という構成でしたが、本書はほぼテスト自動化について特化した一冊です。 内容、想定読者 Xcode 5・iOS 7環境*2における、ユニットテストの書きかた、システムテスト〜受け入れテスト向けのツール・フレームワークのほか、ビルドやAdHoc配布の自動化、CI、メトリック(メトリクス)採取など、アプリ開発にまつわ
mocha-phantomjsは、その名前の通りmochaとphantomjsを使ってクライアントJSのテストができるヘッドレステストランナー。長く使ってるけど特に不満はないので使えばいいと思う。 metaskills/mocha-phantomjs https://github.com/metaskills/mocha-phantomjs スケルトンを作った クライアントJSのテスト書かれない理由として、環境構築の難しさがあると思う。 そこで怠惰な人たちの為にGruntでプロジェクト用スケルトンを作った。ごじゆうにおつかいください 使い方 git clone git@github.com:mizchi/client-app-skeleton.git cd client-app-skeleton npm install bower install grunt test 結果 Running
Web技術について横断的に語り合うイベント「CROSS 2014」が1月17日都内で開催されました。「現場に聞く!テスト/CI/DevOps、実際のところどうなの」というセッションでは、フリーランスエンジニアの伊藤直也氏がセッションオーナーとして司会を担当し、クックパッドで開発まわりのエンジニアをしている舘野祐一氏、はてなでアプリケーションエンジニアをしている伏井洋平氏、KAIZEN platform Inc.の石橋利真氏らがスピーカーとして登壇しています。 セッションの前半では、テストの重要性やテストをどのくらい書くべきなのか、といった議論が行われましたが、後半ではどうすれば組織としてCIやテストに取り組めるのか。そして組織内での情報共有などについての意見が交わされました。 (本記事は「はてなやクックパッドの開発現場で、CIやテストはどう行われているのか?(前編)。CROSS 2014」
Web技術について横断的に語り合うイベント「CROSS 2014」が1月17日、都内で行われました。 そのセッションの1つ「現場に聞く!テスト/CI/DevOps、実際のところどうなの」では、フリーランスエンジニアの伊藤直也氏がセッションオーナーとして司会を担当し、クックパッドで開発まわりのエンジニアをしている舘野祐一氏、はてなでアプリケーションエンジニアをしている伏井洋平氏、KAIZEN platform Inc.の石橋利真氏らがスピーカーとして登壇。 先進的な現場でテストやCIがどのように行われ、エンジニアのチームがどのように情報共有をしているか、本音で語るという注目すべき内容でした。本記事ではそのダイジェストを紹介しましょう。 現場に聞く!テスト/CI/DevOps、実際のところどうなの 伊藤 今日のテーマとしてはCI(Continuous Integration、継続的インテグレー
2013-12-23 今年あったつらぽよ つらぽよ この記事はつらぽよAdvent Calenderの23日目の記事です。 つらぽよなことがあったので、参加しました。つらぽよ ついでにつらぽよACの他の方々のつらぽよなことがレベルが高くて、つらぽよ。 あと記事を書くにあたって、htmlのタグをほとんど忘れていることに気づき、さらなるつらぽよに襲われた。ぽよ。 本題に入りましょう。 結論から言ってしまうと、うつ症状になりました。つらぽよ。 今から考えると、前兆はありました。 ことの始まり 今年(2013)の1月後半から、学校の後期期末試験がはじまりました。 2教科ほど勉強したはずの科目で、テスト中ド忘れするという事態に見舞われました。 その頃はバイト(1月~3月が忙しいやつ)が忙しく、自分の勉強不足だろうし人間にド忘れはつきものだと思っていました。 時は流れ 5月下旬、ゴールデンウィーク明け
脱出ゲーム - 留年危機一髪! とは? あなたは怠惰な学生で、留年の危機に瀕しています。 今期受講中の、パズル学入門を落とすと進級できません。 テスト期間になって、ようやくそのことに気づいたあなたは、 これまで一度も出席していませんでしたが、 期末テストを受けてワンチャン単位をもらおうとやってきました。 周りを見渡すと、なぜか同じように留年しそうな雰囲気の人たちばかりがいて、 まともな学生はいないようです。 全員が揃ったところで、パズル学入門担当の教授がやってきて、 テスト問題を配りはじめました。 そこに書かれていた問題とは... あなたは無事テストを解き、留年を回避することができるのか!? あなたの挑戦をお待ちしております。
アプリケーションの画面に対してボタンを押したり入力を行い、正しい結果や答えが返ってくるか? ユーザーインターフェイスを含むテストコードの開発は一般に手間がかかり面倒であり、テスト用のライブラリやフレームワークが欠かせません。 Googleは、Android用のUIテスト自動化のためのフレームワーク「Espresso」をテクノロジープレビューとして公開しました。 Espresso - android-test-kit - a fun little Android UI test API - Testing Tools For Android - Google Project Hosting EspressoはこれまでGoogle社内で、Google DriveやGoogle Maps、Google+など30種類のアプリケーションのテスト自動化に使われてきました。 特徴は、軽量でシンプルな記述
テスト書きすぎ問題 - hitode909の日記 階層が増えるとテストが増える - はこべブログ ♨ テストと対応関係 - $shibayu36->blog; 最近書いているWebアプリは、HTTPリクエストを送ってレスポンスと状態をテストする、というテストだけ書くようにしてる。リクエストするとブログエントリを返す、というサービスだとこういう風なテストを書いてる。(HTMLを返すようにすると話が広がって説明が面倒なのでJSONを返すAPIで説明する) describe "Entry resource" do let(:params) do {} end let(:env) do { "HTTP_AUTHORIZATION" => "Bearer: #{access_token.token}" } end let(:access_token) do AccessToken.make(user
ログインしなきゃいけない画面だったり、同じ画面でも、ログインしているのとしていないのでは挙動が違う画面はたくさんあって、そういうときのテストはどうやったらいいんだろうという疑問が発生した件について。 答えはここに。 http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-users?version=3.2#sec:requiring_signed_in_users けっきょく、testのためのヘルパーを書くのが正解のよう。 spec/support/utilities.rb def sign_in(user) visit signin_path fill_in "Email", with: user.email fill_in "Password", with: user.password click_but
海外のWebページではセクシー画像に「見てるのがバレたらクビになるぞ」という意味の「NSFW(Not Safe For Work)」という略語がつけられます。それくらい「仕事中のネットサーフィン」は嫌われていて監視されているのですが、これは本当に悪いことなのでしょうか。実は「ネットを我慢させると生産性が落ちる」という噂は事実だったのです。 研究を行ったのは、イタリアのヴェローナ大学、アメリカのジョージ・メイソン大学、デンマークのコペンハーゲン大学の研究者チーム。 職場では様々なルールによって「幸福感をガマンさせる」ということが行われていますが、ガマンにはエネルギーが必要で、その分仕事にまわすエネルギーが足りなくなる……ということが今回の「Temptation at Work(職場における研究)」と題された論文で明らかにされました。 実験では被験者60人を30人ずつ2つに分けて比較が行われま
Jasmine + Sinon.js を使って Backbone.js アプリケーションをテストするチュートリアルを読みました JavaScriptのためのBDDテストフレームワーク「Jasmine」と、簡単にスタブやモックオブジェクトを導入する「Sinon.js」を使って、JavaScriptのためのMVCフレームワークである「Backbone.js」で書かれたアプリケーションをテストするチュートリアル記事を読みました。 全3部構成。英語。 Testing Backbone applications with Jasmine and Sinon – Part 1 – Tinned Fruit Testing Backbone applications with Jasmine and Sinon – Part 2. Models and Collections – Tinned Frui
このエントリーは、@cero-tさんのエントリーの次で、Java Advent Calendar 2011の6番目のエントリーです。自分自身の今年のメインテーマがTDD(テスト駆動開発)と言う事もあり、関連エントリーとしてJUnitについて書きたいかと思います。今更JUnit?と思われた方も普段からJUnitを使っていあなたも気軽にお読みください。尚、色々な話題を駆け足で紹介するので、どれも簡単な紹介程度になってしまいますが、ご了承願います。 JUnit4 スタイル JUnitがアノテーションに対応し結構な月日が流れましたが、古いコーディング規約のままでテストコードを書いていませんか?JUnit4では、アノテーションとアサーションを使ったテストコードを書くことが基本スタイルです。かつては、TestCaseのサブクラスを作り、testではじまるメソッドを定義していましたが、今は Testアノ
先日のエントリーではたくさんのブクマありがとうございます。Amazonでの予約も好調とのことで、うれしい限りです。 JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus) 作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行本(ソフトカバー)購入: 14人 クリック: 273回この商品を含むブログ (69件) を見るというわけで、書影も出てきました! 思えば、JUnitのセカイというエントリーで、たくさんの「わっふる」をいただき、出版の決意を固めたわけですが、気がつくと書き始めて1年経ってました。ようやく、情報を公開できる段階まで来たわけです。 今回のエントリーでは、JUnit実践入門の発売に先立ち、本書の構成と各章の概要をお伝えします。予約を迷っている方は、本エントリーを読んだ上でご検討いただければ幸いです。
8月6日、日本Androidの会テスト部(以下、テスト部)主催によるイベント「第1回Androidテスト祭り」が都内で開催された。テスト部は、Androidプラットフォームでの開発において、特にソフトウェア検証テストに関する情報共有や問題解決を目的とした組織だ。2010年9月に発足し、イベント開催時点では276名のメンバーがいるという。 今回のイベントは、その自由度の高さや多様性ゆえに課題を抱えるAndroidアプリ開発のテストについて、開発者同士やコミュニティでの情報交換を目的に開催された。テスト部では、すでに日本Androidの会の総合イベント「Android Bazaar and Conference」での講演をはじめ、さまざまな活動を行っているが、単独イベントは今回が初だ。
Androidアプリのテストに関する課題 Android端末の普及は世界規模で増加の一途をたどっています。2011年秋冬モデルが発表され、発売予定のものを含むと日本で発売中のAndroidの携帯端末は100機種に迫ろうとしています。読者の皆さんの周囲を見渡しても、電車や街角でAndroidを採用したスマートフォンなど携帯端末を使用する人をよく見かけるのではないでしょうか。 そして、スマートフォンに留まらずタブレットやミュージックプレイヤー、電子ブックリーダー、POSレジ、テレビなど、さまざまなデバイスがAndroidを搭載し始めています。Androidの採用が増えるにつれ、Androidアプリの種類が増えるので、アプリの開発案件も増えることになります。実際、本稿を読んでいる開発者の方の中にも、すでにAndroidアプリの開発に取り組んでいる方も多いのではないでしょうか。 筆者も普段の業務の
zombie.jsとは jsdomというnode製のDOMシミュレータがあります。これを使えば、ブラウザを使わずにDOMイベントを発行することができます。 zombie.jsはセッション管理とブラウザのアクションを管理するjsdomのラッパーです。 個人的には、Ajaxのテストは無理せずJavaScriptでやれとおもってるので、その点zombieは素直に動いてくれます。 利点 AjaxでDOMを書き換えたりするイベントもテストできる (qt-webkitと比較して) 無茶苦茶早い コンパイルが楽(というかQTは定期的に互換崩れてバイナリ壊れてる… 論よりコード サンプルをアップロードしてあります mizchi/zombie-tester-example https://github.com/mizchi/zombie-tester-example インストール等はReadme見てもらうと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く