COPYコマンドでテスト作業の効率化を図る – Tips

Tips

システムエンジニアやプログラマーの方であれば少なくとも一度は経験しているであろう単体テスト。多くのテストケースを捌く必要があり、時間のかかる作業です。
特に業務系システムではデータベースを利用したテストが必須となりますが、データベースのデータ操作やテスト準備に割と時間が取られてしまうものです。

今回ご紹介するのは、とても簡単ですが侮れないCOPYコマンドを利用した「ファイル結合」を行うテクニックです。

テストデータの準備

業務系のシステムテストを行う場合は、①データの削除→②テストデータの投入→③テスト実施 という流れを繰り返します。
ここで、①②の作業の効率化を考えます。
通常、データを投入するには、①SQLのDELETE文にてデータを削除して、②新規に次のテスト用のデータを登録(INSERT)もしくは更新(UPDATE)を行います。
加えて固定的な初期化作業③④が発生します。③は主にログの削除(DELETE)やステータスの更新(UPDATE)、そして④各データベースへの接続(CONNECT)と切断(DISCONNECT)作業です。

この①~④のSQLでテストの度に変更がかかるのは主に、①と②のSQLとなります。①と②のSQLはExcelのマクロや数式を利用してテストデータ投入用のクエリを作成します。作成したSQL文を下記の通り①.sqlと②.sqlに保存します。

  • ④-1.sql        データベース接続
  • ①.sql           テストデータ初期化
  • ②.sql           テストデータ投入
  • ③.sql           ステータス更新
  • ④-2.sql        データベース切断

次に、準備したSQL文を結合するバッチファイルを用意します。

テストデータ作成バッチ

上記で作成されたSQL文をバッチファイルで起動します。サンプルはDB2での例です。

 テストデータ投入バッチ(execSQL.bat)

このようにバッチファイルを準備しておくことで再帰的なテストが実施できますので、万が一再テストとなった場合にも作業の効率化が図れます。作業時間の短縮化は、本当に侮れません。最初の準備には多少時間を取られますが、その後のリスクや再実施の時間を考えてみてください。人間の性的にも安易な方法に流れがちですので、準備に時間をかけて効率よく作業が進められる方法を身につけましょう!

コメント