タグ

テストに関するapo-coのブックマーク (15)

  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

    技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
  • 大江戸Ruby会議01 高速なテストサイクルを回すには - 2nd life (移転しました)

    日大江戸*1で行われた大江戸Ruby会議01で、高速なテストサイクルを回すにはという内容で発表してきました。 大江戸Ruby会議01 高速なテストサイクルを回すには View more presentations from hotchpotch テストを速くするには二パターンあり、一つは単体実行時の速度・フィードバックの高速化、もう一つはすべてのテスト実行時の高速化があると思っていて、それらについての話です。ぎゅっとまとめると、前半の単体実行時の速度・フィードバック高速化には spork / prefetch-rspec / autotest / watchr を使おうという話と、後半は REE / parallel_tests による高速化・並列実行、remote spec によるリモートマシンでの分散テストについての話です。 特にオレオレプロジェクトの prefetch-rspec

    大江戸Ruby会議01 高速なテストサイクルを回すには - 2nd life (移転しました)
  • [iPhone][TDD]SenTestingKitのアサーション - l4l

    SenTestingKitのアサーションの書き方について。 参考記事 iOS Development Guide: Unit-Test Result Macro Reference STFail 無条件でテスト失敗。 STFail(@"失敗時に表示されるメッセージ"); STAssertEqualObjects オブジェクトAとオブジェクトBが等しくないと失敗。等しいかどうかはNSObjectプロトコルで定義されるisEqual:での結果で判定される。 STAssertEqualObjects(objectA, objectB, @"失敗時に表示されるメッセージ"); STAssertEquals 2値が等しいかどうか。 STAssertEquals(valueA, valueB, @"失敗時に表示されるメッセージ"); STAssertEqualsWithAccuracy 2値の差が指定

  • Objective-CでUnit Test

    XCodeにはUnit TestのFrameworkであるSenTestingKitが添付されている。SenTestingKitでのテスト方法を簡単にまとめておく。 以下のようなクラス Circleがあった場合、 #import <Cocoa/Cocoa.h>#define PI (double)3.14159 @interface Circle : NSObject { double _radius; } +(id)circleWithRadius: (double) raidus; -(id)initWithRadius:(double)radius; -(double)diameter; -(double)dimension; -(double)circumference; @property(readwrite) double radius; @end まず、テスト用の新規ターゲッ

  • https://jp.techcrunch.com/2011/01/24/20110120testflight/

    https://jp.techcrunch.com/2011/01/24/20110120testflight/
  • テスト駆動開発とPDCAサイクル - 開発者がテスト駆動開発をすると、生産性が上がる理由

    テスト駆動開発とPDCAサイクル - 開発者がテスト駆動開発をすると、生産性が上がる理由 目次 PDCAサイクルとは? 図1)PDCAサイクル 参考 しかし、PDCAサイクルは品質改善の手法なのでは? テスト駆動開発とPDCAサイクルに、何の関係があるの? 図2)テスト駆動開発の持つサイクル テスト駆動開発の実際 当に必要となるまでコードを書かない テストを先に書く 図3)テスト駆動開発の実際の流れ タイプ別 - テストファーストの説明 テスト結果に失敗があるときには、まず、そのエラーを修正する バグ報告があったときには、バグをテストコード化する 何故テストに失敗したのかを知り、そこから学ぶ 自動テストを用意したら、リファクタリングせよ! 参考 まとめ 書いた人 関連ページ コメント 開発者がテスト駆動開発をすると、生産性が上がる理由 PDCAサイクルとは? PDCAサイクルとは業種に関

    apo-co
    apo-co 2010/12/01
    『Check→Action』のステップが存在することによって、生産能力が『目標に沿わない行動』に『消費』されずに、『目標に沿った行動』にだけ『活用』されるようになる。PDCAサイクル中最も重要な「Check」工程である「テスト
  • JMeter(高機能/フリーなテストツール)第1回:JMeterの基本

    HOMMEZ(オムズ)はすべての男性の悩みに寄り添い、心と身体の健康を支援し、男性としての喜びを享受できる社会を目指しています。人には相談しづらいAGA、ダイエット、ED、妊活にまつわる男性特有の悩みに対し、情報やソリューションを提供することで男性が前向きに自分らしく生きられる幸せを実現します。

    JMeter(高機能/フリーなテストツール)第1回:JMeterの基本
    apo-co
    apo-co 2010/11/30
    WEBアプリケーション、データベース、FTP、WEBサービスなどの性能測定/負荷テストが実行できることは勿論、様々なタイプのテストを簡単に実行できます。WEBアプリケーションであれば、レスポンスタイムの測定、HTTPステー
  • 開発用メールサーバmocksmtpdを活用する - Everyleaf Lab

    こんにちは。@denpachiです。 今回は、私が開発をする上で使っているmocksmtpdというツールを紹介します。 mocksmtpd とは? メールを送信する動作確認やテストを行う際に、 GmailのSMTPを使ったり、実際に開発用のメールサーバを立てて メール送信のテストを行っている方も多いと思います。   それをもう少し手軽にテストできるような仕組みがmocksmtpdです。   mocksmtpdを立ち上げておくと、 メールをどこにも送信せずに、ローカルのディレクトリにHTML形式で保存してくれます。   http://d.hatena.ne.jp/koseki2/20081103/mocksmtpd (作者のこせきさん、当にありがとうございます)   インストールと起動 使い方は至って簡単です。   インストールはgemでパッケージが配布されているので、以下のコマンドを実行

    apo-co
    apo-co 2010/11/11
    メールをどこにも送信せずに、ローカルのディレクトリにHTML形式で保存してくれます。
  • テストファーストの弊害

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

  • FunctionalテストでCookieを使う方法 - Hello, world! - s21g

    This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/101 Ruby on Railsでは、コントローラの挙動をテストするためにFunctionalテストという仕組みがあります。 実際にページを取得し、レンダリング結果のタグを解析したり、リダイレクト先が正しいかどうか、指定したIDのタグが出力されているかどうか、などなど、様々なテストを行う事ができます。 そこで、ログインした状態でないとアクセスできないようなページのテストを記述するために、Cookieやセッションを使ってテストを記述する必要が出てきます。しかし、こちら(Rails - Functional Test with Cookie)で報告されているように、FunctionalテストでCookieを使用する方法には若干癖があり、ド

  • Cookie を使ったロケールの切り替え

    前回では、サンプルアプリケーション asagao を国際化(i18n)するための第一歩を踏み出しました。 今回は、ロケールを切り替える機能を加えましょう。 まず、app/controllers/application.rb に AVAILABLE_LOCALES という新たな定数を定義します。 class ApplicationController < ActionController::Base AVAILABLE_LOCALES = %w(en ja) # Pick a unique cookie name to distinguish our session data from others' session :session_key => '_asagao_session_id' (省略) 値は、'en' と 'ja' という 2 つの文字列からなる配列です。%w(en ja) と

  • 今までテストを書かずにアプリを作っていたんですが、テストが無いとやっぱり何やってたか忘れたり、目標意識がなくなって効率が悪くなります。以前から XCode にユニットテストが付属��

    iPhone SDK 手順は以下の通り。なんてことはなかったですな。 1. Unit Test Bundle を追加プロジェクトメニューの新規ターゲットで、左ペインは Cocoa Touch で右から Unit Test Bundle を選び、適当な名前で追加。 2. テストケースを追加⌘Nで新規ファイル作成。左ペインは、Cocoa Touch Class で 右は Objective-C test case class を選択。ファイル名は適当でいいが、ターゲットは必ず(1)で追加した Unit Test Bundle を選ぶこと。ここから、Logical Test をするか、Application Test をするかで手順が分かれます。Logical Testこれは、アプリを実行せずにテストのみを実行する、まあ普通のテスト。テストを書いて ⌘B すると、エラーになったテストがコンパイル

  • moroの日記 - Railsでテストを書く勘所

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

    moroの日記 - Railsでテストを書く勘所
  • Timeオブジェクトの等価でちょいはまった - LukeSilvia’s diary

    Railsのテストでこんなメッセージが出た expected but was . あれ?なんでテスト落ちるんだろう。 irbで確認 irb(main):002:0> a = b = Time.now => Sat Mar 29 20:07:31 +0900 2008 irb(main):003:0> a == b => true これは当たり前だ。同じオブジェクト指してるわけだし。 irb(main):004:0> a = Time.now => Sat Mar 29 20:08:18 +0900 2008 irb(main):005:0> b = Time.parse(a.to_s) => Sat Mar 29 20:08:18 +0900 2008 irb(main):006:0> a == b => false げ。なんでfalse。 原因 簡単なことだった。 irb(main):0

    Timeオブジェクトの等価でちょいはまった - LukeSilvia’s diary
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    apo-co
    apo-co 2009/05/07
    yamlで改行を扱う
  • 1