Index: [Article Count Order] [Thread]

Date:  Fri, 09 Nov 2001 11:15:42 +0900
From:  "中村 伸裕"  <nakamura-nobuhiro@....jp>
Subject:  [XP-jp:02766] Re: XP  セミナーレポート
To:  extremeprogramming-jp@....jp
Message-Id:  <4.3.2-J.20011109103202.04315de8@....20>
In-Reply-To:  <42.1d0ea72f.291bff46@....com>
X-Mail-Count: 02766

中村@SEIです。

 はじめまして。

 当社ではXPを実践していませんが、開発納期短縮の為に参考となる
 部分が多いので勉強させて頂いています。

 XPのServletを使用した基幹システムへの適用はまだまだ難しいのでは
 ないかと思っています。


At 10:31 01/11/08 -0500, Momijiya@....com wrote:
>はじめまして、井芹と申します。
>私もセミナーに行っていました。(最前列のど真ん中で見ておりましたです)
>このレポートに便乗して質問させて下さい。
>
>受信日時: 2001/11/8 5:45:27 PM、 hasegawa@....jp からの引用:
>
> > ・テストはMVCのモデルしか、行えなかった。
> >  ビューに関しては、難しいと感じた。
> >  またビューにはロジックを含ませないこと。
>
>確か、servletのテストに断念したと言われていましたね。
>うちの開発でも、モデルについてはJUnitで一部テストできたのですが、
>ServletとJspのテストはどうすれば良いか迷いました。
>結局は、いつものように目視でのチェックになったのですが、普通は
>どうすべきなのでしょうか?
>ServletはCuctusで出来そうですし、JspはHttpUnitで出来そうだとは
>思っていたのですが、HttpUnitは結果のHTML全てを確認できるような
>ものでもなさそうですし、このHTMLが表示された際にJavaScriptが走る
>ような場合はどう確認するのかわかりませんでした。


  XPのテストは回帰テスト(結果が前回と同じかどうか検査する)だと認識して 
います。
  最初のテストは目視で、次回からは HTML の結果が同じであれば
  JavaScrpit も同じ動作をすると割り切っています。

  テストの際は、下記の点に注意が必要です。
  
  (1) 現在日付を扱う処理
     当社の場合は、フッターに現在日付を表示していた為、毎回エラーとなり 
ました。
     また、日付の項目に現在日付をデフォルト表示する時もエラーとなります。

  (2) DBのデータ
     当然のことですが、DBの検索結果を表示している画面では、DBのデータが
     前回と同じである必要があります。検索→更新→検索という画面遷移のテスト
           では、再度データをロードする必要があります。
     Oracle シーケンス等の値も再設定する必要があります。 



>また、モデルのテストできなかった部分(といっても大半ですが)は、
>DBからデータを取得し、ファイルに出力するという処理なのですが、
>前処理でDBにデータを挿入するとか、後処理でファイルを読み込んで
>検証するとかいうようなテストケースを書くのが普通なのだろうかと
>思ったのですが、大変そうなのでしませんでした。
>普通はどうするものなのでしょうか?

  画面とよく似た話になると思います。
  ただし、インターフェースが HTML ではなく、引数と返値になりますので、
  テストの実装は随分楽ですね。

  当社では、データの自動生成ツールを作成して対応しています。

  例えば、氏名のフィールドには、"1.氏名xxxxx" , "2.氏名xxxxx"...
  という値をセットします。参照制約も考慮しながらデータを生成します。
  なお、業務システムでは IF文による分岐の項目として、区分、種別、フラグ
  が使われることが多いため、テストのカバー率を上げるためには、
  このフィールドの値を適切に(IFネストがある場合は、組み合わせデータ
  が必要となります。)生成する必要があります。

  最近はハードのスペックが向上し、DBのデータが全てRAMにキャッシュされ 
ますので、
  100% 正規化しても十分なレスポンスが確保できます。100%正規化したDBでは
  モデル部分が大幅に簡素化され、テスト項目も大幅に削減できます。

  ご参考まで。


                 ///
                SEI 住友電気工業株式会社
                情報システム部 システム技術課
                中村 伸裕 nakamura-nobuhiro@....jp