新卒向け研修資料「テスト文字列に”うんこ”と入れるな」を公開しました 代表の松井です。 弊社インフィニットループでは、近年「新卒ファースト」を合言葉に社内教育に力を入れています。 先日、主に新卒向け(それ以外の参加者も多くいましたが)に、「テスト文字列に”うんこ”と入れるな」という講義を行いましたので、その資料を公開します。 なぜ人は入力欄に「うんこ」と入れてしまうのでしょうか。 それはどういう経路で社外に漏れ、防ぐには何をすべきなのでしょうか。 タイトルはアレですが、内容は至って真面目に書いています。 悲しい事故を防ぐために「仕事中にはふざけないこと」など、新社会人に必要なメッセージを強く込めたつもりですので、ぜひ本資料をあなたの会社での研修にも役立てていただければと思います。 ツイート

DHHの Dependency injection is not a virtue(2013) という記事は有名ですが、ちゃんとした日本語訳が意外とないようなので、書き出してみて思ったことを要約してみた。[1]Rubyのエンジニアの中には、何も考えずに他のモデルのnewを書いてる人の割合が多いという(コードレビュー時のヒアリングによる)体感があり、また8年前の記事なので経験の浅い人は読んだことがない人もいると思う。該当する方は是非読んでほしい。 全部読む時間が無い人は要約へ. 原文と訳文 In languages less open thanRuby, hard-coded class references can make testing tough. If yourJava code has Date date = new Date(); buried inits guts,

最近になってPHPUnitをちゃんと使ってユニットテストを書くようになってきたのですが、まだまだTipsが足りないと感じます。個人的に実践している書き方をいくつか並べてみます。 追記:最初、シェバングと書いていましたが、オプションを渡せる数が決まっていたりOSによっては動かなかったりとあまり便利でないことがわかりました。。phpunit.xmlを書いた方がいいかも。 ちょっとしたテスト → シェルスクリプト化するPHPUnitは高機能なのですが、いかんせん最初の障壁が高いと思います。とにかく気軽に書きたいなら、シェルスクリプトを作って単独ファイルで実行できるようにするといいです。 #!/bin/shphpunit --colors *Test.php # ↑オプションを書き並べておく <?php class SampleTest extendsPHPUnit_Framework_Te

みなさんこんにちは。@ryuzeeです。 SlideShareを徘徊していたらPHPUnitのアンチパターン・ベストプラクティスに関する素晴らしいスライドを見つけたので内容を抜粋で紹介します。 1. テストの中で何もテストしていない class FooTest extendsPHPUnit_Framework_TestCase { public function testSomething() { $foo = new Foo; $foo->doSomething(new Bar); } } こういうテスト。どこにもアサーションがなくて何もチェックしていません。 $foo->doSomethingの戻り値を検証しないならなんの意味もありません。 純粋にTDDをしていれば、テストコード作成→テスト実行でRed→プロダクションコード作成→テスト実行でGreenなのでこういうテストは登場しませ

本記事はLaravel Advent Calendar 2016 の 6 日目の記事です。 はじめに 公式のカスタムバリデーションのドキュメントが今ひとつ分かりにくいので、手順をまとめることにした。 今回はサンプルとして ふりがな のバリデーションを作成する。 ※以前に書いた通常バリデーションの応用 http://qiita.com/komatzz/items/422bcba9847ca3a79fe9 環境 CentOS 7PHP 7Laravel 5.3 カスタムバリデーション作成手順 サービスプロバイダー作成php artisan make:provider ValidatorServiceProvider 作成されたクラスを以下のように編集。 namespace App\Providers; use Illuminate\Support\ServiceProvider; us

って話になって、チーム内で盛り上がった。例えばこんな感じのテストを書きたい時。 「ジュースを買う」メソッドに、お金とジュースの番号を入力したらそのジュースが返されて、在庫が一個減る。 メソッドはこんな感じかな? Juice buyJuice(int inputAmount, int juiceId) これでどう? buyJuice_shouldReturnJuice_whenInputAmountIs130Yen え?でもこれだと、なんかこう・・・在庫が減ってることとかは表せてなくない? えー、じゃあこういう感じ? buyJuice_shouldReturnSelectedJuiceAndOneLessInventory_whenInputAmountIs130YenAndSelectedIdIsValid いや、長いね・・・。 ふむ。。。全部をメソッド名に書かない方が幸せなんじゃない?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今日はWEBサーバの性能測定についてです!! WEBサーバを構築していると、どこまでの負荷に耐えられるか、パフォーマンスはどうか気になりますよね。 これをしっかり確認しておかないと、アクセス過多になるとパフォーマンスが激悪になったり、 負荷がかかった時に、システムダウンなんてことになりかねないです。 で、そんなことにならないように気軽にWEBサーバの性能を測定できるのがApacheに標準で付いている**ab(Apache Bench)**ツール。 Apache Benchは、DOS攻撃にも使えるツールです!! 使用する際は十分注意してく

Automate SoftwareBuild and Testing Drone is a self-service Continuous Integration platform for busy development teams. Configuration as a code Pipelines are configured with asimple, easy‑to‑read file that you commit to your git repository. Each Pipeline step is executed inside an isolatedDocker container that is automatically downloaded at runtime. Get started kind: pipeline steps: - name: test
このエントリーは、ソフトウェアテストあどべんとかれんだーの11日目*1ならびに、しょぼちむ Advent Calendar 2014 - Adventarの19日目エントリーです。 最初は、JJUGCCC 2014 Fallの懇親会の時に、「しょぼちむでTDD」というオーダーを受けていたので、 describe "しょぼちむ財布もってる?" do let (:she) { FactoryGirl.build(:syobochim) }it { expect(she.answers).to eq "はい" } end ...というのを題材に、TDDを説明してみようとおもったのですが、specがどうやっても緑にならないため*2思いのほか話が深まらないため、TDDの中の重要な要素、テストファーストについてお話ししたいと思います。 JJUGCCCのセッションの中で、「テストファーストにこだわ
タグ: Mockery ComposerLaravel 追記:この翻訳の内容はだいぶ古いため、2018年2月3日現在の安定バージョンである、1.0.0のドキュメントを翻訳しました。 https://readouble.com/mockery/1.0/ja/index.htmlLaravel5.5LTSでサポートしているのも1.0.0ですので、上記サイトの翻訳を参照してください。 Mockeryはシンプルですが、柔軟なPHPモックオブジェクトフレームワークです。PHPUnitやPHPSpec、もしくは他のテストフレームワークと共に、ユニットテストで使用します。主な目的は、簡潔なAPIのテストダブルフレームワークを提供することです。可能性のある全てのオブジェクト操作とやり取りを明確に定義でき、人間が読むことができるドメイン固有言語を使用しています。PHPUnitのphpunit-mock-
{ "require-dev": { "behat/behat": "3.*", "behat/mink": "1.*", "behat/mink-extension": "*", "behat/mink-goutte-driver": "*", "behat/mink-sahi-driver": "*", "behat/mink-selenium2-driver": "*", "behat/mink-zombie-driver": "*" } } behat/behat behatの本体です。 テストシナリオを自然言語に近い形で記述し、実行する機能を提供します。 behat/mink ブラウザのエミュレーションツールと組み合わせてテストを行う機能を提供します。 behatと組み合わせて利用することが可能です。 behat/mink-extension behatで利用できるテストの機能を

User_Centric_Tests Codeception provides high-leveldomain language for tests. Tests are represented as a set of user's actions. Learn More Browser_Testing Tests can be executed using Firefox,Chrome, Safari or Cloud Testing services with Selenium WebDriver. Browser can beemulated with HTTP-requests throughCURL withPhpBrowser. Learn More Framework_Testing Tests can be executed inside aPHP frame
2014年12月にRuby 2.2がリリースされる予定です1。Ruby 2.2にはRuby 1.9.1のときに外されたtest-unitというテスティングフレームワークが再びバンドルされる予定です。Rubyのテスティングフレームワーク周りに詳しくない人にはよくわからない状況でしょう。そこで、Rubyのテスティングフレームワークの歴史を説明することで状況を整理します。 名称の整理 この説明の中ではたくさんのテスティングフレームワークが登場します。似たようなものもあるため、最初にテスティングフレームワークの名称を整理します。この説明の中で登場する名称は次の通りです。RubyUnit Lapidaryrubyunit Test::Unit test/unit test-unit miniunit minitest RSpec 違いがわかりますか?ざっくり説明すると次の通りです。RubyU
後編を公開しました(2014/10/8) これは、テスト駆動開発(TDD)とTDDがソフトウェア設計に与える影響についてKent Beck、David Heinemeier Hansson、および著者の3人で行った一連のディスカッションの議事録です。 ディスカッションに至った経緯 あるセンセーショナルな発言とブログ記事が発端となり、お互いの見解と経験について理解を深める目的で、話し合いが持たれました。 この会話のきっかけとなったのは、 DavidがRailsConfで行った基調演説です。 彼はRailsコミュニティでTDDおよびユニットテストへの不満を表明しました。 程なくして、彼はいくつかのブログ記事を公開しましたが、そのうちの最初の記事で “TDDは終わった” と宣言したのです。 それから2~3日後、Davidのその後の記事について私がタイプミスの修正を送ったところ、 Davidは彼の

ブラックボックステスト技法の中の、網羅型の技法について解説します。 前回はブラックボックステストの導 […]
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く