きょん@アジャイルコーチ、システムアーキテクト @kyon_mm 僕が不勉強な部分はあるのだけど、「静的型付け関数型プログラミングだとOOよりもTDD(BDD)がしやすい(もしくはいらない)」とかたまにいう人がいるんだけど、その人がまともにTDD/BDDの説明しているの聞いたことがないので、まるで参考にならない意見ばかりでつらいです。 2014-04-17 12:49:49
GHCには昔からHaskell Program Coverage (HPC)というカバレッジを計測する機能とツールがついてくるのだけど、コマンドラインオプションの指定が面倒だったり、そもそもHPCにバグがあって使いづらいためか、あまり広くは使われてこなかった。 ところが最近になって状況を一変させるかもしれない、hpc-coverallsというパッケージがHackageに上がっていることに気がついたので使ってみた。 Coveralls自体は広く使われてるので解説はいらないと思う。GitHubでみたいなバッジをよく見かけるはず。 hpc-coverallsの使い方は簡単で、Hackageのドキュメントにあるとおり before_installでcabal install hpc-coveralls cabal configureする時に、--enable-library-coverageをつけ
Last year, when discussing QuickCheck, I said: While we try and constrain our types as much as possible, there is always a trade off between exact types and pragmatism, not to mention that there are some invariants that are very difficult to encode in the Haskell type system. As such, without rigorous testing, there is still a risk of exceptions or unexpected behaviors at runtime. The necessessity
BLUE*アルゴリズムを実装してみたので、せっかくだからテストの自動生成をやってみた。 今回テスト対象にするコードの仕様は 開く、閉じる、書き込む、の3つの操作ができる 開いてないのに書き込んだり閉じたりしたらエラーになる というもの そしてこちらがそれの「バグのある実装」: class Target(object): # bad impl. def __init__(self): self.opened = False self.closed = False def open(self): self.opened = True def write(self): if not self.opened: raise RuntimeError if self.closed: raise RuntimeError def close(self): if not self.opened: rais
Published on February 19, 2013 I am glad to announce a new major release of SmallCheck (hackage). What is SmallCheck? SmallCheck is a property-based testing library for Haskell. If you are familiar with QuickCheck, you can think of SmallCheck as a better QuickCheck. The main way in which it is better is that it is non-random: whether your tests pass does not depend on the roll of the dice. If you
http://orto-app.com/ のテスト&バグ取りをずっと続けているのですが、テストする要因の組み合わせで、テスト項目数が指数関数的に爆発します。 いろいろ調べていたのですが、「組み合わせテストをオールペア法でスピーディに!:特集|gihyo.jp … 技術評論社」の記事がおもしろかったです。組み合わせテストといっても、第1回 組み合わせテストの技法:組み合わせテストをオールペア法でスピーディに!|gihyo.jp … 技術評論社にあるように、3個以下の要因で発生するのが大半であり、少なくとも2個の組み合わせを全て網羅するようにして、かつ、テスト項目数を指数関数的に爆発させない方法があります。 上の記事では、PICT というソフトが紹介されていて、使ってみたら楽しかったです。 たとえば、Ortoの画面転送では、以下のような因子があるとします。 Sender: IE6, IE8,
今更感があるかもしれませんが紹介。 stressコマンドを使うと、CPUやメモリ、ディスクに対して意図的に負荷を与えることができます。 どこで使うかというと、、、高負荷時のシステムの挙動を見たい場合、AutoScaling等の負荷状況に応じて自動でスケールアップ/アウトさせるための仕組みのテストをしたい場合、部屋が寒いときにPCに発熱させたい場合wwwなどで使えるのかな、と。 Stressをインストール CentOSやRedHatの場合は、DAG(rpmforge)のリポジトリがあるので、ここのパッケージからインストールしましょう。 DAGをyumのリポジトリに追加する場合は、以下リンクから(CentOS5[x86_64]系の2010/05/14時点の最新版は)"rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm"をダウンロードして、rpmインストールしま
Webアプリケーションのファンクションテストを行うツールとして注目されている「Selenium」のバージョン1.0が6月20日にリリースされました。安定性が向上するとともに、Firefox 3.0、3.5(Selenium IDEは1.0.2から、Firefox 3.5に対応)や、Internat Explorer(以下、IE) 8などの最新のWebブラウザにも対応しました。 本稿では、Selenium 1.0をベースとしたSelenium IDEとSelenium RCを利用した効果的なSeleniumの利用方法を紹介します。 Webアプリのテストで誰もがイラつく大きな課題 Webアプリケーションテストを手で行うと、非常に煩雑です。Selenium登場以前の従来のやり方では、次のような問題がありました。 回帰テストに時間がかかる バグ修正や仕様変更などで、Webアプリケーションを変更した
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
2009年07月22日12:30 カテゴリLightweight Languages javascript - 記号も文字も暑苦しい夏こそ空白プログラミング うーん、暑苦しい。 TAKESAKO @ Yet another Cybozu Labs: 記号でPolyglotプログラミング♪(RejectKaigi2009) 折角の夏休み。折角の日蝕。もっと涼しく逝きましょう。 たとえば、こんな風に。 Example Script <script src="http://blog.livedoor.jp/dankogai/js/bleach.js"> </script> 適当にコピペして動かしてみて下さい。IEは熱すぎてサポート対象外です>< Bleacher もっと無気力なみなさんのために、涼しくするジェネレーターも以下に用意しました。 darkened: alert('Goodbye, 太
TEST http://d.hatena.ne.jp/devbankh/201001 モックやスタブを使った効率的なユニットテスト http://d.hatena.ne.jp/devbankh/201002 モックとスタブの違い コミュニケーション http://d.hatena.ne.jp/devbankh/20051124 簡単かつ効果的に話すために "モックオブジェクト"という言葉は、テストのために本物のオブジェクトをまねる特殊なオブジェクトを表す言葉として定着した。しかしモックという言葉は元々スタブをキャッチーにしたものでなく、[スタブを使ったのとは別の] ユニットテスト方法を用いるためのものなのだ。この記事では、モックオブジェクトのファンに好まれる相互作用中心のテストと、よく行わている状態中心のテストスタイルとの違いを説明するために、モックとスタブの違いについて掘り下げる。 目次
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く