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

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

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

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

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

閲覧数順 2016年12月06日更新

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

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

- good

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

テストファースト



DotNet Frameworkにおけるテスト手法として、弊社では
テストファーストを推奨している

間違いやすいのがテストを先に始めるのではなく、
テストを優先した開発ということである。

微妙な言葉の違いかもしれないが意識の問題である。
実際テストを初期の段階で行いもする。

またこういった開発手法のことを
テスト駆動開発 (test-driven development)略して(TDD)

と言う。

これは、プログラム開発手法の一種で、多くのアジャイルソフトウェア開発手法でもちいられている。

その中でも、エクストリーム・プログラミング(XP)において強く推奨されている手法である。


通常のテストと「テストファースト」の違い



テストファーストの開発では、
1、まずテスト仕様を考えます。
2、そしてそれをテストケースとして落とし込みます。
3、次にテストを実行しレッドランプを確認します。
(ここの段階でテストがパスしていないか、「テストのテスト」です)
4、そして、プログラムを組み。
5、テストを実行して、すべてがグリーンランプになるまで繰り返します。

テストファーストのツールでは大概、信号機の色になぞらえて、
グリーン、レッドと言います。
(英語では信号機の「青」は「グリーン」です)


今までのテストに対する考え方は


「プログラムに対するバグ検査」

であるのに対し、テストファーストは
「仕様どおりに動くように確認しながらコードを書き進めていく」

という大きな違いがあります。

それぞれが、担当する個所の動作を、確認しつつコーディングすることで、仕様どおりのソフトウェアが保証できる。

これはパズルに例えると、


手に取ったピース(機能)を順々にはめていく方法


まずは枠組みのピースだけ取り出して、
枠を固めてしまい、その後中を完成させていく方法

との違いににていると思う。

どちらのほうが効率的かは明白であると思います。


仕様変更が起こった場合は



では「仕様変更(枠組みの大きさが変わった)が起こった場合にはどうすればいいのか」といった疑問が浮かんでくると思う。

それを解決(もしくは問題が小さい内に解決)する手法が、
さきほどもでてきていた、エクストリーム・プログラミング(XP)

具体的な話は次回詳しく説明します


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

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