DotNet(C#など) におけるテスト技法 2 - システム開発・導入全般 - 専門家プロファイル

上原 正吉
株式会社アースリンクネットワーク 
Webプロデューサー

注目の専門家コラムランキングRSS

対象:システム開発・導入

清水 圭一
清水 圭一
(IT経営コンサルタント)
井上 みやび子
井上 みやび子
(Webエンジニア)
清水 圭一
清水 圭一
(IT経営コンサルタント)

閲覧数順 2024年04月15日更新

専門家の皆様へ 専門家プロファイルでは、さまざまなジャンルの専門家を募集しています。
出展をご検討の方はお気軽にご請求ください。

DotNet(C#など) におけるテスト技法 2

- good

  1. 法人・ビジネス
  2. システム開発・導入
  3. システム開発・導入全般
C# .Net 開発 C# 3.0 言語解説

エクストリーム・プログラミング(Extreme Programming, XP)



前回「仕様変更(枠組みの大きさが変わった)が起こった場合にはどうすればいいのか」といった話をし、、
それを解決する手法が、エクストリーム・プログラミング(Extreme Programming, XP)''''だと言った。

それではエクストリーム・プログラミング(Extreme Programming, XP)について説明していこう。


4つの価値と12のプラクティス



エクストリーム・プログラミング(Extreme Programming, XP)は4つの価値と12のプラクティスで構成される。

ここでは、このうちいくつかをピックアップしよう

まず最初に開発チームが共有すべき4つの価値が示されている



「コミュニケーション」(communication)
「シンプルさ」(simplicity)
「フィードバック」(feedback)
「勇気」(courage)


である、これら4つの価値は各プラクティスに影響を与え、XPの根幹をなす。

具体的な実践項目(プラクティス)



また、これらを基にしたプラクティスが19個(当初は12個)あげられている。



共同のプラクティス
  反復
  共通の用語
  オープンな作業空間
  回顧

開発のプラクティス
  テスト駆動開発
  ペアプログラミング
  リファクタリング
  集団的な所有権
  継続的インテグレーション
  YAGNI(将来必要としないものは今作らない)

管理者のプラクティス
  責任の受け入れ
  援護
  四半期ごとの見直し
  ミラー
  持続可能なペース

顧客のプラクティス
  ストーリーの作成
  リリース計画
  受け入れテスト
  頻繁なリリース

である


この中でもエクストリーム・プログラミング(Extreme Programming, XP)でよく話題にあがるのが



○余計な複雑さを排除する「シンプルデザイン」(simple design)
○動作を変えることなくプログラムを書き直す「リファクタリング」(refactoring)
○1台の開発マシンを2人で共有して常に共同でコードを書く「ペアプログラミング」
○小規模な改良を頻繁に行なう「スモールリリース」(small releases)
○顧客を常に開発チームに参加させる「オンサイト顧客」


である。 

そして、これらのベースの概念を基に
全体開発期間をイテレーションと呼ぶ1〜2週間の短い期間に区切り、
部分的な設計・実装・テストを行い、システムのリリースを繰り返すのである。

この手法により単体機能の実装も、コード修正とテストの繰り返しによって進める。
このように小さな繰り返しによって、徐々に完全なシステムを構築していく手法を取る。
このことで、リスクを最小限に抑えつつ(手戻りが最小限)
イレギュラーな変更に対応した開発が可能になる。


具体的な手法



しかし、これらを具体的にすすめていくにはどのようにしたらうまくいくのだろうか。

机上の空論ではいみがない、ここで話がもどるが「テストファースト」なのである。

そして、VisualStudio 2008にもこのテストファーストを使用する機能が''標準で実装''されているのだ。
(VisualStudio 2005では高額なEditionにしか搭載されていなかった
そのため別の手法を取っていた。詳しくは次回説明。)


QuickRec--メール・電話・FAXをお客様情報と一緒に全部まとめて一元管理
電話を自動録音することによりトラブルを未然に防ぎます
http://www.quickrec.com/

システム開発のご相談、ホームページ作成なら
アースリンクネットワークへ
http://www.eln.ne.jp