ドットインストール代表のライフハックブログ
TEST http://d.hatena.ne.jp/devbankh/201001 モックやスタブを使った効率的なユニットテスト http://d.hatena.ne.jp/devbankh/201002 モックとスタブの違い コミュニケーション http://d.hatena.ne.jp/devbankh/20051124 簡単かつ効果的に話すために "モックオブジェクト"という言葉は、テストのために本物のオブジェクトをまねる特殊なオブジェクトを表す言葉として定着した。しかしモックという言葉は元々スタブをキャッチーにしたものでなく、[スタブを使ったのとは別の] ユニットテスト方法を用いるためのものなのだ。この記事では、モックオブジェクトのファンに好まれる相互作用中心のテストと、よく行わている状態中心のテストスタイルとの違いを説明するために、モックとスタブの違いについて掘り下げる。 目次
このエントリーは「Software Test & Quality Advent Calendar 2011」における12/18分として書いています。 12/17は @NoriyukiMizuno さんによる 「ソフトウェアテストの勉強会。1年目。」 というエントリでした。 今回は、以前から感じている矛盾について、私なりの考えをまとめたものです。 特に、マネージャーや経営層と呼ばれる人に読んでもらいたいと思っているのですが、このブログの読者層を、考えると、あまり多くはなさそうなので、以下に示す問題について、悩んでいる/苦しんでいるような人から、うまく伝われば良いと思っています。 矛盾する問題 私は、SEPG(Software Engineering Process Group)という役割上、いろいろなソフトウェア開発のプロジェクトや組織に関わってきました。 絶対数で言えば、そんなに多くはない
はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、Java、Ruby、PHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に
ほとんどのシステム管理者が経験したことがあるはずの状況は「何か悪いことが起きていて、サーバがダウンしているが、しかし何が起きているのか分からない」というシチュエーション。サーバを管理するシステムアドミニストレーターなどの立場でいると何が大変かというと、実際の製品として動かしている実環境でこのような問題が発生した場合です。 そこで役に立つのがこのオープンソースソフト「Trouble-Maker」です。 Trouble-Maker http://trouble-maker.sourceforge.net/ システム管理者の仕事を簡単にするため、多くのツールが存在していますが、未知の状況を経験している場合になんとかしてくれるわけではありません。この一連のソフトウェア群「Trouble-Maker」は既存の便利なツールとは異なり、問題を解決するのではなく、むしろ問題を引き起こします。インストールし
クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ
かなり香ばしいタイトルですが、TDD Advent Calendar jp: 2011のエントリーとなります。前日の@bleisさんのエントリーの次になります。 はじめに TDD(テスト駆動開発)とは、「テストファーストを原則とし、テストが成功するようにプロダクションコードを書くというサイクルを繰り返す開発手法」です。XPのプラクティスの1つとして10年近く前に紹介され、ここ数年で再び1つのムーブメントとなっています。これは、TDD Boot CampがTDDへの敷居を下げ、体験する機会を提供した事も1つの大きな要因でしょう。 自分もTDDに魅せられたエンジニアの1人です。ぶっちゃけ、TDD信者とかTDD厨とか言われても可笑しくはありませんし、むしろ嬉しいくらいです。一方で、TDDを嫌う人もいるのも事実です。しかし、自分もTDDを銀の弾丸とは思っていませんし、適用しにくい領域もある事も理解
「Software Test & Quality Advent Calendar 2011」の初日エントリーとして、書きます! テスト/品質系のエンジニアも、今や、テストや品質のことだけを知っているだけでは、幸せにはなれない時代となってきています。 プログラムは書けなくても、身に付けておくと良いと思っている技術をまとめてみました。 ※注 今回記述した内容は、以下のような私のドメインに偏ったモノになっています。 ミッションクリティカル/エンタープライズ系 Java/.NET 他のドメインでは異なる部分や他の標準的なツールがあれば、コメントを頂ければと思います。 バージョン管理/課題管理 今や、必須のスキルと言えるでしょう。 バージョン管理(SCM/VCS/DVCS)としては、 集中型のSubversion(SVN) 分散型のGit/Mercurial などが有名ですね。 分散型の場合は、各エ
8月6日、日本Androidの会テスト部(以下、テスト部)主催によるイベント「第1回Androidテスト祭り」が都内で開催された。テスト部は、Androidプラットフォームでの開発において、特にソフトウェア検証テストに関する情報共有や問題解決を目的とした組織だ。2010年9月に発足し、イベント開催時点では276名のメンバーがいるという。 今回のイベントは、その自由度の高さや多様性ゆえに課題を抱えるAndroidアプリ開発のテストについて、開発者同士やコミュニティでの情報交換を目的に開催された。テスト部では、すでに日本Androidの会の総合イベント「Android Bazaar and Conference」での講演をはじめ、さまざまな活動を行っているが、単独イベントは今回が初だ。
次から次へとGoogleさんはいろいろやってきますね(笑)。これまでもWebの表示パフォーマンスの最適化についてはプラグインの公開をはじめ既にいろいろなことをやってらっしゃいますが、今度は「Page Speed Service」ってのを公開されてます。 簡単にいえば、Googleさんがデータを拾い上げて最適化したデータをGoogleのサーバから世界中に配信しちゃうよ、ギャハ。しかも今なら無料!みたいなこと? となると、CDN系サービスの存在意義は…(厳密には違うだろうけど)。 ま、登録する前に置き換えたらどうなるかチェックから始めましょう。 専用のWebPageTestのサイトでチェックサイトの右側にある「Check It Out」ボタンを押すと下のページに移動します。 このページとかはまだ日本語化されていませんが、Page Speed Serviceのマニュアルみたいなもんですね。で、そ
TDD(テスト駆動開発)のチートシートを作ってみた。 TDDBCでid:t-wadaさんが話している内容とかテスト駆動開発入門から引っ張ってきています。 ダウンロードはこちらからどうぞ。 PNGイメージ: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.png PDFファイル: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.pdf 追記 印刷・再配布などはご自由にどうぞ。 もし、元データ(OmniGraffle)が欲しいという人は、コメント欄かTwitter経由で教えていただければ差し上げます。 追記2 このチートシートは、OmniGraffleで作りました。他に使えそうなツールとしては、イラレとか。Visioでもたぶん作れると思います。
グーグルが行っているビルドとテストの種類。続々、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか? グーグルでTest Engineering Directorを務めるJames A Whittaker氏が、ブログ「Google Testing Blog」に書いているグーグル社内のソフトウェア品質に関するノウハウ。最近の記事「How Google Tests Software - Part Four」「How Google Tests Software - Part Five」では、ビルドの種類とテストの種類について紹介しています。 One of the key ways Google achieves good results with fewer testers than many companies is that we rarely attempt to sh
負荷試験ツール インターネット破壊を公開しました。 こちらはずっと社内で負荷試験に使用していたツールです。社内で使用していたものなので、ソーシャルアプリ向けの機能などが多少追加されていますが、もちろんんそれ以外のWebアプリケーションでも使用できます。 基本的にはApache JMeterのようなWebアプリケーションむけのシナリオ負荷試験ツールです。コマンドラインオペレーションだけで実行でき、サーバー上で簡単に負荷試験を実施できるのが特徴です。POSTリクエストなどはもちろん、レスポンスのチェックやUserAgentの偽装、ランダムな値をパラメーターにセットする機能も実装しています。 注意: 当然ながら自分の管理下にないサイトに向けて負荷試験ツールを実行するのは絶対にやめてください。非常に危険です。 物騒な名前がついていますが、これは完全にわたしの小児的感性の趣味によるところです。地震で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く