ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

やばいかなあ。。Excel上でのプログラムテスト仕様書、こう作ってる

2005-05-20 17:48:52 | 開発ネタ
m_pixyさんのブログで、もうひとつ。「ほしい本」について。

ブログって、どこまで書いていいもんなんでしょうね。

ウィリアムのいたずらがかかわってきた開発話で、書いてよさそうなところまで。




まず、「大企業が好むExcelでの日本語プログラム設計書」に関して、

 昔はそういう本があったのですが、最近は、みないですね。

 もっと、夢のあるおはなし(XPとか、アジャイルとか)のほうが売れるからだと思います。

 っていうか、「大企業が好むExcelでの日本語プログラム設計書」って、いくつかのプロジェクトから、ドキュメントもらえばわかるし。。

 さらに、大手さん(F社さん,N社さん,I社さんとか)ごとに、書き方違うし。。。

 さらに、そんなことやっている人たちは、ウィリアムのいたずらのように、有名人ではないので、本書いても売れないし。。

 だから、本は、「ない」と思います。




で、m_pixyさんのブログにもどって、

「大企業が好むExcelでの日本語プログラム設計書」
→お、"Excelの"!仕様書なんですね。。。
 つーことは。。。たぶん、入っているドキュメントの種類は。。

Excel上でのプログラムテスト仕様書を作成するための方法

→モジュールの結合テストは、自動生成している部分と、
 まじめに(?)書いている部分

 モジュールの結合テストは、プログラム設計書に書かれている値
 (その境界値)と、それ以外に調べたい値(これは手作業で入れることが多いと思う)
 から、テスト仕様書を、自動的に発生させる

 その後(そこから)、呼び出しドライバ、場合によってはテストデータを自動生成している。くわしいことは、かけない(実は、プログラム自体も自動生成させてたり。。)

 手作業でやっていたのでは、気が狂う(病気になる)

 「ドライバや、スタブは作っていられない」という会社は、多分、このノウハウを知らない可能性大。実は、仕様書から自動的に作れるように、設計仕様書を書いている。そういう構造になっている(その自動化をするのがウィリアムのいたずらの仕事だ)。

 実は、この辺に絡んで、JavaDocだけだと、困る話題がある。

 それについて、詳しくかけないが、その問題が、開発上、大量のドキュメントを生み出している。

 まじめに書く部分は、画面に関しての項目値チェック。
 これは、型に、はまっている。

 このへんのは、サンプルをもらうとわかる。




・単体に関して、よく、「流しでやります」といっているのは、
「エビデンスにログをとっているので、そこのログの値をみれば、通過率とか、わかります。」の意味で使っている人がいる(ウィリアムのいたずらなど)。

 そのエビデンス(多くはログ)になにを残すか、ログは、どういれるか
 に関しては、指示があるか、サンプルをみればわかるはず。

 どのポイントにログを入れるかは、たぶん、ここで書ける話でない。

 そのポイントに関して、単体テスト項目をつくる。
 そのポイントを、ソースが大きくなることに、増えるように作れば、ソースコードが大きくなると、項目数が自動的に多くなる。
 この手を使うと、テストのカバー率が上がる。

 ちなみに、これを自動化して、「ログの箇所からExcel単体テスト仕様書自動生成」
 を作ると、単体テスト仕様書が簡単に作れるけど、そこまで自動化はしてないと思う。
 (めんどうなので)

 流しで、どうしても流せない部分は、Exceptionをnewしてしまって、無理に流すという手もある。




 モジュールの結合以上のテストとか、総合テストについては、シナリオがあるかないかとかで違うけど、どっかの結合テスト以上のドキュメントを見ればわかると思う。

 そのお作法をみればいい。




 ということで、大体、サンプルをもらって、プロジェクトの大量のドキュメントを1セットもらうと、どこかに書いてあります(自動生成してる部分は、想像つきます)。

 でも、大量すぎて、どこにかいてあるのか、みわけにくいです。

 それを、見抜くと、優秀なプロジェクトマネージャー、見抜けないと、だめだめマネージャーっていう感じです。

 この記事、やっぱ、やばいかな。。。あとで、削除するかも(^^;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CSEやAccessでのテストデータ作成と、富士通のRDB、SymfoWAREは要注意!

2005-05-20 15:28:32 | 開発ネタ

 m_pixyさんの「テストデータ作成ツール」の話、前後の文脈は、わからないのですが、CSE、いいですよね!!

 便利便利、フリーだし、SQL文でいろいろ操作できるし、データをみて更新かけることも出来ましたよね(「データ編集機能」って、webには、かいてありますね)。

 Accessでも、クエリで、「表示」→「SQLビュー」にすると、クエリ以外のInsertとかUpdateでも、SQL文を入れて、実行させることが出来ます(くわしくは、こちら)。
 たぶん、これで、テーブルをリンクしたりすると、CSEみたいなことができるのかな?
 (そこまでは、やったことがない。そういう必要のあるときはCSEを使うからだ)。

 ということで、CSEでもAccessでも、データ見ながら操作したり、insert文を自動生成して、テストしたりっていうことができる。

 これで、どんなRDBでも、(多少のSQL文の違いはあっても)
 CSEやAccess使えば、簡単にテストできるね。

 めでたしめでたし。




 といいたいところなのだが、ひとつだけ、insert文なんかを自動生成して、テストするのに厄介なRDBがある。

 富士通の出しているDB、SymfoWAREだ!

 このやっかいさ、私がテストの準備をしたときのお話で、振り返りましょう。




 まず、Excelの仕様書から、自動編集で、Create Table文を書いたDDLを作成(このときは、ここみたいにjavaでやるんじゃなくって、Excelマクロを使ってやりました)。

 で、Excelにテストデータをつくって、自動生成でInsert文のSQLを作成(これも、ここのようにJAVAでやったんじゃなくって、Excelマクロで、ただしデータの入れ方は、同じようなかんじ)。


 あ、そうそう、別件になっちゃいますが、Excelマクロでinsert文を作成するマクロを公開している人がいますね。この方です。



 で、実際にテーブルつくって、データ入力です。

 たしか、CSEのODBC接続で、うまくいかなくって(私の設定が悪いんだと思うけど)、DDLはrdbddlex、InsertのSQLは、rdbexecsqlという、このDB独自のツールを使って、入れようとしましたが。。。

 はいりません。エラーっす!

 ここで、いただいたサンプルにもどる。

 なんだ、DSIって?DSOって。。。??

 どうにか理解し、表のDSI、DSOをExcelで自動生成。実行。

まだだめだあ。。。

 なになに、インデックスにもいるのお???

 インデックスのDSI、DSOをExcelで自動生成。実行。

 なんか、ここまでで、いろいろおかしくなったので、消したり作ったりを繰り返す。

で、データを入れてみる。

 はいらない。

 また、サンプルにもどる。

 ncharのところは、insertのとき、N'値'とか、しないと入んないみたいだ。

 修正。

やっと入ったときには、疲れまくりで、「今日はここまで」でした。
 (テストする前に疲れたよ!)




 SymfoWAREは、他のmysqlやpostgreSQLなどと違い、DSI,DSO(ディスクスペースの宣言)が必要だったり、insert文のところで、Nが必要になる時があったり、ちょっとちがいます(また、日本語のところに、英語半角入れちゃったりすると、怒られたり)。

 まあ、日付の書き方が違うくらいなら、そんなに問題ないけど、ここまで違うとSymfoWAREの自動生成や、データ作りには、注意が必要。新人研修なんかで使うと、混乱するかも(売られているSQLの本には、そんなこと、書いてないから)。

 あ、でも、富士通の人が、このブログ、見てるかもしれないので、その人のためにフォローすると、SymfoWAREも、いいデータベースだと思いますよ!

 富士通以外の人に、「どこがいいの?」って聞かれると、答えられないけど(^^;)。。。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする