Rails のテスト実行時間を60分から6分に短縮するまで - SmartHR Tech Blog
こんにちは。大阪開発部の岡田(@y_okady)です。大阪のランチは今日も安くて旨いですね。 サイボウズと言えばSeleniumを使ったE2Eテストのイメージが定着しつつありますが、そのE2Eテストをさらに強固なものにするために新しい仕組み作りにチャレンジしました。 作り始めて3日しか経っていないプロトタイプの段階ですが、構成はだいたい固まってそれなりに動くものができたのでご紹介します。 きっかけ 2週間ほど前に読んだ「エッセンシャルスクラム」に、こんなことが書いてありました。 テストはスプリント期間よりも長くかかる場合がある。 そうなるのは、開発チームが巨大な手動テストという負債を背負っているからだ。 サイボウズではE2Eテストの自動化が進んでいると言っても、自動化できているのは試験全体のほんの一部です。ほとんどのテストは手動で実施しており、プログラマが1ヶ月かけて開発したものをQAが1
Yuji NakayamaNov 13, 2015RSpec 3.4 がリリースされました! 私たちは semantic versioning に準拠する方針を掲げているため、 このリリースはすでに RSpec 3 を使っている方にとってなにか対応が必要になるものではありません。 しかし、もし私たちがバグを作り込んでしまっていた場合は教えてください。 できるだけ早く修正をし、パッチ版をリリースします。 RSpec は世界中のコントリビュータと共に、コミュニティ主導のプロジェクトであり続けます。 今回のリリースには、50 人近くのコントリビュータによる 500 以上のコミットと 160 以上の pull request が含まれています! このリリースに向けて力になってくれたみなさん、ありがとう! 主要な変更 Core: Bisect アルゴリズムの改善 RSpec 3.3 では、 実行順序
Docker, a portable, lightweight runtime and packaging tool, is all the rage these days. It’s hard to go to any sort of tech meetup without overhearing people gushing to each other about how cool it is. I’d written some Dockerfiles but wanted to start test driving them. It’s actually fairly straightforward using RSpec and ServerSpec. Here’s how to TDD a Dockerfile that installs Node on Ubuntu. Star
Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec
技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの
Myron MarstonNov 8, 2013The RSpec team has just released RSpec 3.0.0.beta1 – the first RSpec 3 pre-release! Along with that, we’ve released 2.99.0.beta1, which is intended to help with the upgrade process. I’d like to thank all the contributors, and especially the core team (Andy, Bradley, Jon, Sam and Xavier) for making this release happen. I don’t have the energy right now to write up a full “Wh
Rspec/Capybara/Turnipの入門記事を全力でまとめてみた Aug 30th, 2013 Tweet さっき、『 The Rspec Book』を読み終えました。厚めの本ですが、RspecやCucumber、Webrat、Seleniumなどを活用するためのノウハウ満載で大満足でした! ということで、この本で読んだ内容を忘れないようにするためと、その過程でRspec/Capybaraなどのネット資料をあつめたので、まとめるためにこの記事を書きます。もし、間違いを発見した場合や他にもいいリソースがあれば、是非メッセージを願いします! テスト駆動開発(TDD)と振る舞い駆動開発(BDD) テスト駆動開発(TDD)とは、コードを書く際に最初にテストを書き、次にテストが通る最低限のコードを書き、その後にリファクタリングしていく開発手法です。一方で振る舞い駆動開発(BDD)はTDDの発
Myron MarstonJul 8, 2013We’ve just released RSpec 2.14. It will be the last 2.x feature release and is a recommended upgrade for all users. We’re getting started on RSpec 3. I’ll be blogging about our plans for RSpec 3 next week, so check back soon :). Thanks to all the contributors who helped make this RSpec release happen. Notable New Features Core: Profiler now profiles example groups, too RSpe
RSpec の DSL には、 example と言うメソッドがあり、そこを経由して現在実行中の example の情報を得ることができる。 def add(*args) args.inject(:+) end describe "add" do before do p example.class #=> RSpec::Core::Example end subject { add(*args) } context "when 1 + 1" do let(:args) { [1, 1] } it { should == 2 } end end 具体的には、 example は RSpec::Core::Example のインスタンスらしい。 Class: RSpec::Core::Example 以下のような属性、メソッドがある: #exception 実行中の example で最初に起
[http://d.hatena.ne.jp/uk-ar/20120720/p1:title]にて機能追加をおこないました。そちらも参照ください。 Emacs Lispでrspec*1のように前処理などをネストして定義できるテストフレームワーク(el-spec)が欲しくて作ってみました。 https://github.com/uk-ar/el-spec 実用になりそうなレベルになったのでリリースします。 きっかけ、が欲しいです。 Emacs Lispにもいくつかテストフレームワークがあり、今まではid:rubikitch さんのel-expectation*2を使ってました。使い勝手が良くてテスト数の少ないうちは満足していたのですが、テストが多くなると複数のテストで同じような前処理をしているのが目立ってきました。 このような場合マクロや関数で対応するのが常套手段です。しかし、前処理の内容も
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く