プログラマ、テスター、SE、PMなど、いろいろやってるオヤジです。

Excel VBA マスターへの道(6) -仕様書とプログラムの連携もお任せ!

»

第5話の続きです。

手作業が多いテスト担当者

 あるとき私はあるソフトウェアのテスト工程のチームに参入した。そのソフトウェアは次々とバージョンアップされ、多数のクライアント向けにそれぞれカスタマイズされるので、それに応じてテストを追加したりカスタマイズしたりするのがテスト担当の仕事だった。

 すでにベースとなるテスト仕様書とテストプログラムはでき上がっていた。テスト仕様書はExcelで作られており、5千以上の項目のテストケースが表になっている。新たなクライアント(A社)向けの機能がソフトウェアにが追加されると、テスト仕様書の表にテスト項目を書き加え、バージョン3のA社用のテスト、とコメントをつける。一方テストプログラムを追加し、if A社 のときに実行されるように分岐を加える。

 これってすごく大変だ。テスト仕様書で有効と記述したテストの数とテストプログラムで実行されるテストの数を合わせなくてはいけない。当時はソフトウェアのバージョンもクライアントも少なかった。しかしバージョンやクライアントの数が増えたら大変だ(実際に最後にはバージョンは約10個、クライアントは約20社に増えた)。手作業でなんてやっていられるかっ!

ここはExcel VBAの出番だ!

 テスト仕様書がExcelで書かれているのだからExcel VBAしかないだろう。私の出番だ。

 各テスト項目の表に、バージョンやクライアント用のフラグを示す列を追加する。そのテスト項目がバージョン2と3で有効ならバージョン2と3のフラグの列に1を立てる。クライアントB社とD社向けの専用のテストならB社とD社のフラグの列に1を立てる。

 VBAのプログラムを起動させると、最初にテスト条件を入力する画面が出るようにした。ソフトウェアのバージョン3のB社のテストなら、'バージョン3のフラグの列が1) And (B社のフラグの列が1) のテスト項目を実行対象とする。5000個あるテスト項目の番号ごとに、Excel表のバージョン3のフラグとB社のフラグのAndを調べて、Andが1であれば実行対象と判定して実行フラグに1を立てる。そしてテスト項目の数、計5000個のビットを持つ実行フラグをファイルにして吐き出す。

 ここまでをExcel VBAで作成した。あとは吐き出されたファイルをテストプログラム側でインクルードすればどのテスト項目を実行すべきかがテストプログラムに伝わる。

仕様書とプログラムを連携させるにはExcel VBAが使える

 この仕組みによってテスト仕様書とテストプログラムを連携させることができた。こうやってテストプログラムに取り込んであげれば、Excel VBA君も本望だろう。

 テスト仕様書あるいはテスト項目表はExcelで書かれることが多い。だから、Excel VBAをこのように表のフラグを集計してファイルに吐き出してテストプログラムに入れるという使い方ができるケースは多いのではないだろうか。

 今思うと、このシステムが私が作ったExcel VBAの中では最も役に立った作品だったかな。Excel VBAをやってた甲斐があったぞ!。(最終回につづく)

 あべっかんでした。

Comment(0)

コメント

コメントを投稿する