カテゴリー「記事紹介」の18件の記事

Web で参照できる TDD 関連記事の紹介

2010年2月19日 (金)

[記事紹介] CodeZine ~ Visual Studio 単体テスト機能大全 第1回: Visual Studio で作る単体テスト、基本のき

この記事はシリーズを予定しているようです。 その名も 「Visual Studio 単体テスト機能大全」 !!
第1回は 「Visual Studio で作る単体テスト、基本のき」 ということで、 既存のコードに対してテストケースを生成する方法、 private メソッドをテストするためにプロキシ クラスを生成させる方法、 internal メソッドをテストする方法、 それと、 テストケース側から製品コードのメソッド スタブを自動生成する方法などについて解説されています。

CodeZine: Visual Studio 単体テスト機能大全 第1回
Visual Studio で作る単体テスト、基本のき
りばてぃ [著] 山田 祥寛 [監修] 2010/02/18

本稿 (および本シリーズ) では主に単体テスト機能にフォーカスしますが、 開発者の利用シーンをキーワードに、 いくつかのシナリオを想定して、 その時々の使い方を取り扱っていきます。

連載ということで、 しかもその初回で基本機能はひととおり説明が終わっていますから、 2回目以降はどんな話になっていくのか、 楽しみです。

| | コメント (0) | トラックバック (0)

2010年2月14日 (日)

[記事紹介] InfoQ ~ ペア・プログラミングの実際の効果

この記事では、 TDD の上達にも有効なペア プログラミングについて書かれています。 内容は、 表題とはちょっと違って、 効果的なペア プログラミングを実現する 4つのメカニズムについてです。 ( 原題は "How Pair Programming Really Works" )
なお、 この記事の著者は Shane Hastie 氏となっていますが、 以下に引用する部分の原文は、 Royal School of Signals の Stuart Wray 氏によるものです。

InfoQ: ペア・プログラミングの実際の効果
2010年2月7日

開発者としての私個人の経験から、ペア・プログラミングの使用は、一方がプログラムをし、他方が見ているというだけのテクニックではありません。両方のプログラマは、常に話し合いをし、残りのやるべきことを手早くメモし、また、画面上で数々のコードを指摘しながら密接に連携して作業します

上の要約で 「常に話し合い」 と言っていますが、 それが私も一番大切だと思います。 極端に言えば、 「ペアプロとは会話し続けること」 です。

続きを読む "[記事紹介] InfoQ ~ ペア・プログラミングの実際の効果"

| | コメント (0) | トラックバック (0)

2010年1月26日 (火)

[記事紹介] Coding Dojo: InfoQ ~ TDDを根づかせる:導入の問題と解決策

この記事では、 TDD を根付かせるための方策をいくつか提案しています。 そのひとつに、 「乱取り形式」 (Randori Format) による 「コーディング道場」 (Coding Dojo) があります。 これは楽しそうです。

InfoQ: TDDを根づかせる: 導入の問題と解決策
作者 Mark Levison, 翻訳者 角谷 信太郎
2009年4月28日

コーディング道場 (での「乱取り稽古」) は、 小規模なグループ (最大15人まで) で、 TDD を使って課題を解く (Danilo  Sato のアイデアを取り入れたもの)。 進め方はこうだ。:

  • プロジェクタに接続された 1台の PC でコーディングする。
  • ペアでコーディングする。
  • 5 ~ 10分間隔でペアの片方を交代する (筆者の経験では 7分単位での交代がうまくいった)。
  • コーディングを担当しているときは、 自分が何をしているのかを説明しながらキーボードをタイプする。 こうすることで聴衆も、 何が起きているのかを理解できる。
  • 聴衆は、 テストがきちんと通っている場合にだけ、 設計について意見を述べてもよい。 テストが通っていない状態では、 設計については質問しかできない。
  • 聴衆が現在おこなわれている作業について混乱してきたら、 コーディングしている人は手を止めて、 自分がいまやっていることを説明しなければならない。

余談ですが、 海の向こうのプログラミング界ではなぜか長らく空手が流行っています。 TDD ネタの blog でも、 Kihon, Kata, Kumite といった単語が飛び交います。 Shotokan (松濤館) にいたっては何のことだか分かりませんでした。 (NPO 法人 國際松濤館空手道連盟の道場、 またそこで教えている流儀や開催している大会のことらしい)

| | コメント (0) | トラックバック (0)

2010年1月21日 (木)

[記事紹介] JavaScript の単体テストツール、 JsUnit と QUnit

ASP.NET AJAX のおかげで、 .NET Framework を使った開発で JavaScript をゴリゴリ書くような場面は、 めっきり減ったと感じています。 それでも、 イザということがあるかもしれませんので、 単体テストをサポートしてくれるツールの存在は知っておいたほうが良いかと思います。 そこで、 少し調べてみたところ、 このごろ有力なものとして JsUnit と QUnit の 2つがあるようです。

InfoQ: JsUnit と JSMock を使った JavaScript のテスト駆動開発
2009年4月9日

マイコミジャーナル: 【レポート】 jQuery テストスイート「QUnit」がスタンドアロン化! 使い方を早速チェック
2009/10/14

どちらも、 HTML ファイルの中にテストを記述し、 テストの実行は Web ブラウザーからという形態をとります。 そのため、 テスト用の HTML にダミーのボタンなどを配置すれば、 DOM を操作するコードもテストできるわけです。

続きを読む "[記事紹介] JavaScript の単体テストツール、 JsUnit と QUnit"

| | コメント (0) | トラックバック (0)

2010年1月12日 (火)

[記事紹介] ZDNet Japan ~ ソフトウェアの新たな開発手法、「アジャイル開発」って?

TDD からは離れますが、アジャイルソフトウェア開発について解説した記事を紹介します。著者の一橋氏は、複数のアジャイル開発プロジェクトを成功させた経験を持っています。TDD はアジャイル開発のプラクティスのひとつと位置づけられることが多いので、 参考になると思います。

ZDNet Japan: 今さら人に聞けない IT トピック - ソフトウェアの新たな開発手法、「アジャイル開発」って?
2006年9月29日
一橋範哉 (ウルシステムズ)

ソフトウェア開発の新たな手法としてアジャイル開発が紹介されてから数年が経過し、実プロジェクトへの適用事例を目にすることが多くなってきました。アジャイル (agile) とは、「俊敏な」「機敏な」という意味ですが、「ペアプログラミング」「テストファースト」のようなアジャイル開発手法の一部のプラクティスがそのすべてであるかのように言われることがあります。ここでは改めてアジャイル開発の基本的な考え方を整理していきたいと思います。

続きを読む "[記事紹介] ZDNet Japan ~ ソフトウェアの新たな開発手法、「アジャイル開発」って?"

| | コメント (0) | トラックバック (0)

2009年8月 4日 (火)

[記事紹介] InfoQ ~ なぜ TDD とペアプログラミングで生産量が増えるのか

この記事は、 TDD などを実施すると品質は上がるだろうけれども生産性は落ちるはずだ、 という誤解についての反論です。

InfoQ: なぜ TDD とペアプログラミングで生産量が増えるのか
2009年6月7日 ( 原文は 2009/2/27 )

「テスト駆動開発」 と 「ペアプログラミング」 は、 アジャイルプラクティスで最も広く知られているものの2つであるが、 まだそれほど多くのアジャイルチームによって実践されてはいない。 たいていその理由として、 TDD やペアプログラミングなどのプラクティスを取り入れるには 「忙しすぎる」 点が挙げられるだろう。 要するに、 これは高いコード品質を得ようと努力することが生産性を低下させることを示唆している。

しかしそうではない、 実際には逆に生産量が増える (生産性は上がる) のであると Mike Hill 氏は反駁しています。

続きを読む "[記事紹介] InfoQ ~ なぜ TDD とペアプログラミングで生産量が増えるのか"

| | コメント (0) | トラックバック (0)

2009年7月20日 (月)

[記事紹介] gihyo.jp ~ 連載 [動画で解説]和田卓人の “テスト駆動開発” 講座

この連載記事では、 20回にわたって TDD とは何か、 どうやるのかという解説がされているだけでなく、 TDD の功罪といったところまで話題にしています。

gihyo.jp: 連載 [動画で解説]和田卓人の “テスト駆動開発” 講座
2007年10月26日
和田卓人

テスト駆動開発 (TDD) についての, 動画による講義形式の連載です

テスト駆動開発を知るにはどうすればよいか, 第一には自分で 「写経」 してみることです。 第二には経験者の話を聞いてみることです。 本連載は第二の点からみなさんのお役に立てればと考えています。

続きを読む "[記事紹介] gihyo.jp ~ 連載 [動画で解説]和田卓人の “テスト駆動開発” 講座"

| | コメント (0) | トラックバック (0)

2009年7月12日 (日)

[記事紹介] Microsoft ~ できる開発者は知っている! 使って覚える Visual Studio 2008 ~ 単体テスト

※ 初出: biac の それさえもおそらくは幸せな日々@nifty
[.NET] できる開発者は知っている! 使って覚える Visual Studio 2008 ~ 単体テスト」 ( 2009/04/15 )
[.NET] できる開発者は知っている! ~ Excel でテストケースを書いて境界値テスト
( 2009/04/23 )
[.NET] できる開発者は知っている! ~ テストに付ける属性( Timeout, ExpectedException ) と、 テストリストエディタ
( 2009/04/27 )

Visual Studio 2008 の単体テスト機能を使ってみるチュートリアルが、 MS のサイトで公開されています。

できる開発者は知っている! 使って覚える Visual Studio 2008

続きを読む "[記事紹介] Microsoft ~ できる開発者は知っている! 使って覚える Visual Studio 2008 ~ 単体テスト"

| | コメント (0) | トラックバック (0)

2009年7月10日 (金)

[記事紹介] マイコミジャーナル ~ 【ハウツー】 テストプラットフォーム 「Gallio」 を理解する

この記事では、  テストフレームワークに依存しない独立したテスト環境である Gallio の紹介と、 CUI / GUI でのテスト方法が解説されています。

マイコミジャーナル: 【ハウツー】 テストプラットフォーム 「Gallio」 を理解する - 導入編
2008/11/19
青木淳夫

Gallio は、 様々なテストフレームワークに対して中立的で独立したテスト環境を提供します。 Gallio を利用すれば、 1つの開発プロジェクト内で複数のテストフレームワークを採用したり、 新しいテストフレームワークを積極的に導入したりできるようになります。

続きを読む "[記事紹介] マイコミジャーナル ~ 【ハウツー】 テストプラットフォーム 「Gallio」 を理解する"

| | コメント (0) | トラックバック (0)

2009年7月 8日 (水)

[記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは

«Amazon» レガシーコード改善ガイドこの連載記事では、 書籍 「レガシーコード改善ガイド」 ( 2009/7/14 発刊予定) に書かれている内容から、 重要なトピックを取り上げて紹介してくださるとのことです。 第1回目は、 ユニットテストの重要性について。

CodeZine: 翻訳書 「レガシーコード改善ガイド」 の注目トピック
「レガシーコード改善ガイド」のススメ
第1回: レガシーコードの定義、 テストの重要性とは
邦訳版 『Working Effectively With Legacy Code』 の重要トピックを紹介
小堀 真義 [著] 2009/07/03 14:01

続きを読む "[記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは "

| | コメント (0) | トラックバック (0)