タグ

testに関するtsucchi1022のブックマーク (114)

  • xUTPの著者から教えてもらった「テストのクラフトマンシップ」 - PoohSunny's blog

    はじめに これはRecruit Engineers Advent Calendar 2016の11日目の記事ですが遅れての投稿です。すみません。 先日、xUTPの著者のセッションに行って聞いたきたので、その内容をまとめたものです。 謝辞と注意点 この記事を書くに際し、セッションのスピーカーであるGerard Meszarosさんに、特別にスライド内のコードの利用を認めていただきました*1。この場を借りて感謝いたします。Thank you for giving me the right to use code sample in Agile Singapore 2016 presentation, Mr. Meszaros! 上記の経緯から、以下に出てくるコードのライセンスはCopyright 2016 Gerard Meszarosです。ご注意ください。 Unit Test Craftma

    xUTPの著者から教えてもらった「テストのクラフトマンシップ」 - PoohSunny's blog
    tsucchi1022
    tsucchi1022 2016/12/28
    面白かった
  • ひたすらに自動テストを進めてきた人達がハマっている課題4選(ShanonAdventCalendar2016・2日目)

    こんにちは 凄惨生産性チームinomataです。 生産性チームとは機能開発チームの生産性を向上することをミッションにしているチームです。 具体的には自動テストの環境を良くしたり、デプロイのツールを作ったりしてます。 今回はShanonAdventCalenderが企画されました。その2日目という事で、自動テストを推進していく上での戦略について書きます。 戦略といっても主にシャノンにおける課題洗い出し回です。 大変な課題を華麗に乗り越えた話。とかだったらもっとよかったんですけどね。 ただ、今自動テストを掲げてまい進している人はこうならないように注意してください。同じ問題にハマっている人は共感してください。解決方法を知っている人は教えてください。 はじめに 今回の自動テストというのは、主にSeleniumで行うインテグレーションのテストについてです。特に断りが無ければこの文脈です。 Selen

    ひたすらに自動テストを進めてきた人達がハマっている課題4選(ShanonAdventCalendar2016・2日目)
    tsucchi1022
    tsucchi1022 2016/12/08
    自動テストで信じられないバグが見つかることも結構あって、とてもありがたいのだけど、維持するのは大変なのです。。。
  • Perl で JSON のテスト

    いまさら空前の JSON ブームが来ているのですが、Perl で JSON のテストどうすんのかと探してみたら Test::JSON っていうドストライクなモジュールがあって中身を見てみたのだけど、JSON を encode/decode するモジュールが、JSON::Any によってふわっとロードされるのがちょっと嫌だなと思って Test::JSON::More というのを書きました。テストは明示的で愚直が一番じゃないですか。 Test::JSON::More Test::JSON::More は以下のような特長があります。 JSON の encode/decode モジュールを明示できます use Test::JSON::More 'JSON::PP'; テスト用のメソッド名は Test::More っぽい感じです ok_json($json) cmp_json($json, $exp

    Perl で JSON のテスト
    tsucchi1022
    tsucchi1022 2016/04/30
    "テストは明示的で愚直が一番じゃないですか" 確かに
  • 第36回 Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) | gihyo.jp

    Perl Hackers Hub 第36回Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは、Perl関連のイベント 「⁠吉祥寺.pm」の主催などで知られるMagnolia.Kさんで、テーマは「テストモジュールの使い方・作り方」です。 稿のサンプルコードは、WEB+DB PRESS Vol.90のサポートサイトから入手できます。 Perlにおけるテスト 読者のみなさんはテストを書いていますか。 Perlは昔からテストをとても大事にしてきた言語です。テストを書くために必要なテストモジュールはコアモジュールとしてPerl体と一緒にインストールされていて、すぐにテストが書ける環境が用意されています。CPANにアップされ

    第36回 Perlのテストモジュールの使い方・作り方-Test::More、Test::Builder、Test::Stream、そしてPerl 6(1) | gihyo.jp
  • テストの数を減らそう!プリキュアで学ぶPICT - Qiita

    ソフトウェアのテストはたいへんだなあ ソフトウェアのテスト、きちんとしてますか?最近は、スマートフォンやタブレットの普及に伴って、ユーザが使うデバイスの種類が多様化しています。 使われるOSやブラウザ、画面サイズの種類が増える中、プリキュア1の多様化も著しいですね。「プリキュアで学ぶワンライナーWebスクレイピング」で検証した通り、昨年までは43人、今年は「魔法つかいプリキュア」が加わることで、プリキュアの数は総勢45人になりました2。プリキュアはキャラクターによって専用デバイスを持ったり3、感情が昂ぶると常識を覆す事象を起こしたりするので、ITサービスを提供するエンジニアの方々は、ユーザ満足度向上のため、当然プリキュアがユーザになった場合も考慮した動作テストをされていると思います。 とはいえ、プラットフォームとプリキュアの組み合わせの数は、既にかなりの数です。全てのパターンを試すととても

    テストの数を減らそう!プリキュアで学ぶPICT - Qiita
    tsucchi1022
    tsucchi1022 2016/03/14
    ネタ記事かと思ったら、めっちゃ分かりやすい良記事だった
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

    Blogger
    tsucchi1022
    tsucchi1022 2016/03/08
    “「オレ、ここテストするからバグとか出さないように作っておけよ」という事を先に言っておくわけです。”
  • tsucchi の日記 2nd season

    昔々、subtest と Hook::LexWrap を使って xUnit みたいな setUp, tearDown をするというのを書いてたのですが、もっとシンプルで良い感じなのができたのでご紹介。 ほぼほぼ、@lestrratさんのRe: “Test::Moreのsubtestのテストはどう書くのが一番きれいなのか” のパクリなんですけどね。 subref でやる方が、柔軟性は高いと思うのですが、setup は一つのテストファイルで共通化しといた方が良い、というか、共通化できないのはやばいので、subref にするのはやりすぎかなぁ、と思ったので、普通のサブルーチンにしてみた感じです。 use strict; use warnings; use Scope::Guard; use Test::More; BEGIN { # startup の代わり diag "startup\n";

    tsucchi1022
    tsucchi1022 2016/02/18
    書いた
  • 書評 Selenium デザインパターン&ベストプラクティス - tsucchi の日記 2nd season

    End to End のテストを整備したいなー、と最近思っていて、Selenium とかの関連書籍を読んだり Web を調べたり色々していたのだけど、そしたら「とんでもない掘り出し物」を見つけたのでご紹介。 Selenium デザインパターン&ベストプラクティス めっちゃいいでした。久々の大当たり。 内容紹介はこんなことが書いてあるのだけど、これ説明がたぶんあんまり良くない。(書いてある事は正しい) 書はSelenium WebDriverを使ったテストの構築方法やデザインパターン、メンテナンス性に焦点を当てた書籍です。 Seleniumを使った人ならわかるテスト時の取り入れるべき事柄や避けるべき事柄をパターン化してわかりやすく解説しています。 テストをリファクタリングする方法、自動テストプロジェクトにおけるSpaghettiパターン、テストデータについて、テストを安定させるコツ、さら

    tsucchi1022
    tsucchi1022 2015/12/30
    年末に書いたやつの再掲
  • マルチプロセスでもカジュアルにデータを共有したい - Test::SharedObject - Qiita

    こんにちは! Perl5 Advent Calender無事に完走することができたようです。ありがとうございます! 拙作のモジュールの紹介をしたいと思います。 マルチプロセスでテストを行いたいケースがときどきあると思います。 たとえば、forkを管理するモジュールをテストしたい場合などです。 そのような場合、結果をプロセス間で共有したい場合があると思います。 そのようなケースで簡単かつアトミックに情報をプロセス間で共有できるのがTest::SharedObjectです。 具体的にはこんな具合で使うことができます。 use strict; use warnings; use Test::More tests => 2; use Test::SharedFork; use Test::SharedObject; my $shared = Test::SharedObject->new(0);

    マルチプロセスでもカジュアルにデータを共有したい - Test::SharedObject - Qiita
    tsucchi1022
    tsucchi1022 2015/12/28
    よさそう
  • Test::UNIXSock で UNIX domain socket のサーバもテストする - Qiita

    Perl5 Advent Calendar 2015 4日目の記事です。 Test::TCP というテストモジュールはご存じですよね? TCP サーバを実際に (空いているポートを自動で見つけて) 起動して、それに対するテストを簡単に書ける素晴らしいものです。 諸般の事情により、TCP ではなく UNIX domain socket を使用するサーバについても同じことをしたかったため、Test::UNIXSock を作りました。 使い方はほぼ同じです。Test::TCP では port が渡ってくるところが一時的に生成された UNIX domain socket の path になっているので、それを使って server, client のコードを書いて普通にテストするだけです。 以下は memcached への接続をテストする例です。 use 5.12.0; use Test::UNIX

    Test::UNIXSock で UNIX domain socket のサーバもテストする - Qiita
  • 今年テストで頑張ったことまとめ - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2015 2日目です。 こんにちは、最近よく過激派と呼ばれている穏健派のshogo82148です。 今年一年、安心して開発ができるようテストに特に力を入れてきました。 そこで今年テストでおこなった取り組みを振り返ってみようと思います。 残念ながらGoではなくPerlのテストのお話です。 テストをとにかく速くする! 最初に手をつけたのはテストのスピードです。 まず全部のテストが通るようリファクタリングをしてから機能追加というスタイルで開発していたんですが、 全部のテストが終わるまでに10分20分もかかっていてはいつまでたっても機能追加に着手できません。 Jenkins EC2 Plugin とりあえずマシンパワーで解決だ!ということでEC2でマシンパワーの高いインスタンスを使いました。 Spot Instanceを必要

    今年テストで頑張ったことまとめ - KAYAC engineers' blog
    tsucchi1022
    tsucchi1022 2015/12/03
    いろいろ頑張っていてすごい
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

    Blogger
    tsucchi1022
    tsucchi1022 2015/10/14
    たしかにグラフかっこいい
  • Test::Time::AtというCPANモジュールをリリースしました - $shibayu36->blog;

    社内でテスト時の時間操作を便利にするTest::Time::At というモジュールがあったので、それをCPAN化してリリースしました。 テスト中の時間を止めて、sleepなどの操作をうまくハンドリングしてくれるモジュールにはTest::Time というモジュールがあります。このモジュールを使っている時に、たまに、ある時間を指定してテストを実行したい時があります。そのような場合は以下のようにすれば実現できます。 use Test::Time; use DateTime; my $target_dt = DateTime->new(year => 2015, month => 7, day => 15); $Test::Time::time = $target_dt->epoch; my $now = time; Test::Time::Atを用いると、このような操作を少し便利にする事ができま

    Test::Time::AtというCPANモジュールをリリースしました - $shibayu36->blog;
    tsucchi1022
    tsucchi1022 2015/08/14
    時間のテスト、たまに戻し忘れてハマるので、これは便利そう
  • Perlでテストがこけて泣きそうなときのTIPS

    Perl 書いてりゃ Test::More でテスト書きまくると思うのですが、Test::More っていうか、まあ別に Test::More だけがそうというわけでもないのですが、テストこけたときのケアが十分じゃないなと思うときがけっこうあります。 開発過程で書いてるコードというのは、いつもいつも確信を持って書いているわけではないわけで、それでなくてもうっかり間違うときもあり、せっかくテスト書いているのに何だかよくわからない理由でこけてパスできなくて時間を浪費してしまったりが日常になってたりしませんか? そういうのを繰り返しているとやがてテスト嫌いになりテスト書かなくなって番コードにデバッグコードが入り乱れ、リファクタもどんどん不可能になって小回り効かないままプロジェクトが失敗して彼女に振られてしまうわけですね。困ります。 note diag explain Test::More には

    Perlでテストがこけて泣きそうなときのTIPS
    tsucchi1022
    tsucchi1022 2015/07/02
    知らないの結構あった
  • Mock::Quick というモジュールがいい感じ - tsucchi の日記 2nd season

    偶然見つけたのですが、Mock::Quick というモジュールがいい感じです。 Synopsis みると結構色々できそうな感じなのですが、とりあえずTest::Mock::Guardの 代わりとして使っています。こんな感じ(↓) で、「Test::Mock::Guard で良くね?」と言われると、まあそうなのですが、あのコードかなり難解で、何かミスったり、万一バグ踏んだ時に割と辛いっていうのと、 Class::Loadに依存していて、これの依存が結構多いので既存の環境で使いたくなった際にちょっと躊躇してしまう、 ってのがあります。Mock::Quick はその点、依存がとても少なくていい感じです。 qclass 以外にも便利っぽい機能が色々あるので、もう少し色々試してみたいと思います。

    tsucchi1022
    tsucchi1022 2015/01/11
    記事書いた
  • ソースコード以外もとにかくテストする。もしくはカバレッジだけではダメだという話 | おそらくはそれさえも平凡な日々

    あなたはプロジェクトのソースコードに対して適切にCIを回しているかもしれません。定期的にコードカバレッジの測定も行い、90%以上もしくは100%の数字を出しているかもしれません。 しかし果たしてそれで十分でしょうか?もしくはコードカバレッジだけにとらわれすぎていないでしょうか? 監視とは(システムに対する)継続的なテストである、というのは筆者の尊敬する奥一穂氏の言葉ですが、その逆もしかりで 「テストとはプロジェクトに対する継続的な監視である」 ということも言えます。 その観点に立ってみると、プロジェクトのソースコード以外にもテストが必要なものがたくさんあることに気づくでしょう。以下に実際に筆者が自分のプロジェクトの中でソースコード以外にテストを書き、CIを回していたものを挙げてみます。 アプリケーション設定ファイルのテスト 開発中に番用の設定ファイルを使うことはないため、番用の設定ファ

    ソースコード以外もとにかくテストする。もしくはカバレッジだけではダメだという話 | おそらくはそれさえも平凡な日々
    tsucchi1022
    tsucchi1022 2014/12/25
    マスタのテストとか結構斬新かも。ちゃんとデータが入ってるかはテストするけど、中身の整合性までは見たことなかった
  • Magnolia K, Author at Garten Blog - Your Tech Companion

    MangaBuddy Alternatives 34 Best Sites Free Read Manga Online Immerse yourself in the captivating world of manga with MangaBuddy, the premier online platform for manga series. Whether you’re a…

    Magnolia K, Author at Garten Blog - Your Tech Companion
    tsucchi1022
    tsucchi1022 2014/08/26
    これはよさそう
  • http://code-stylistics.net/archives/helpers.html

    http://code-stylistics.net/archives/helpers.html
    tsucchi1022
    tsucchi1022 2014/07/07
    便利そう
  • 以前作ったplenvsetupというツールについて簡単なテストをかいた話(もしくはTravisでshell scriptをテストする方法についての試行錯誤) | All Your Bugs Are Belong To Ass

    以前作ったplenvsetupというツールについて簡単なテストをかいた話(もしくはTravisでshell scriptをテストする方法についての試行錯誤) 相当前の話ではあるけど、ぼくはplenvsetupというツールを作って公開している。 これが何をするものなのかについては上記のブログ(ぼくの旧ブログ)を参照していただくとして、ツールとしては幸せな事に、Perl入学式の環境構築ツールとしてご利用いただいている。大変ありがたい話である。 Perl入学式での失敗 が、実は先日このPerl入学式で、このplenvsetupがうまく動かない、ということがあった。tsucchiさんをはじめとした様々な方のご協力を受け調査した結果、bashで実行すべきところが、shで実行されてしまっていたことがわかった。 直接的な原因としては、Perl入学式のドキュメントがそうなっていたため、ということではあるの

  • http://masteries.papix.net/entry/2014-05-21-dbix-fixtureloader.html

    tsucchi1022
    tsucchi1022 2014/05/22
    テストデータが良い