中村@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