skillup

技術ブログ

ドキュメント作成 プログラミング全般

テスト環境のデータ作りに関して

投稿日:2021年12月11日 更新日:

単体テスト以降の環境ですとテストのデータを作ることがなかなか大変だと思います。マスタなどはそのままもらうこともあると思いますので、主にトランザクションデータについて。

以前もこのネタに関しては色々書いてますね。

ダミーデータの作り方 まとめ

テストデータを作るのが大変・・・といっても色々あると思いますが、以下のような点ですかね。

問題点

  • 仕様的に整合性のある正しい(生きた)データを作るのがそもそも大変
  • 上記の条件を満たしており、テストを網羅できる大量のデータを作るのがそもそも大変

対策全般

共通で必要になる対策

仕様がわかる人材、お客さん、あるいは近いフェーズの人のアドバイスによるデータ作成

個別対策その1プログラムをそのまま使う

登録系の処理を利用して、登録部分のモジュールを走らせ、テストデータを大量に入れる

メリット

  • 仕様的にデータの整合が取れる
  • 乱数、日付の範囲選択などカスタマイズされたお手軽なデータも自在に作れる
  • 大量データも自在に作成可能

デメリット

  • この条件を揃えることが難しい
    (プログラムで回せるように登録処理が書かれていることが前提になる、そもそも登録処理自体が他のベンダー開発担当でさわれない・・・など)

個別対策その2 Excel &プログラム

一般的によく使われてる方法だと思いますが、Excelで機械的に作る方法です。

メリット

  • 単純な乱数やマスタ参照なども作成が用意
  • ExcelがあればOKなのでほぼ環境に依存しない
  • マクロ、標準対策の関数を組むことで、ちょっとしたカスタマイズが可能
  • 大量データを作るのがある程度可能
  • 簡単なGUIの画面などをつくることも不可能ではない

デメリット

  • 生きたデータを作るのが難しい
    (アドバイザーがいないと仕様的に正しくても実ケースに即したデータ作りにくい)
  • ものすごい大量のデータを作ろうとするとファイルが重くなる
    (1テーブル1万程度が目安)
  • 関連テーブルが多くなると整合を取るのが難しい
  • GUIなど凝ったものを作ることは難しい

個別対策その3 ノーコード &ローコードアプリ

やったことないんですけどモック &模擬テストデータとして、ノーコードやローコードなどで簡単な画面とデータの関連を作る方法です。(やや妄想です。)

ローコード自体はkintoneってアプリで過去やったことあるんですが、その時の記憶を頼りにメリデメを挙げております。

メリット

  • 低コスト(インフラ、プログラミング環境構築不要)で、画面+簡単なデータ環境を作ることが用意
  • 関連テーブル数が多くなっても仕様的に正しいデータを作ることができる
  • モックレベルのものが簡単にできる
  • 環境をweb上に公開するので共有が楽(お客さんに共有しやすい)
  • ちょっとしたプログラムを組めることもある(kintoneの場合はJavaScript)

デメリット

  • ある程度の学習コストが必要(学習コストはExcel以上、プログラミング言語での環境構築以下という感じ)
  • カスタマイズに限界がある(カスタマイズ性はExcel以上、プログラミング言語での環境構築以下という感じ)
  • 画面から入力することになるので、大量のデータを作ることがそんなに簡単ではない

現実のプロジェクトではその2をベースに部分的にその3、その1を活用するのがいいのでは・・・・と思っております。

なお、以前あげたwebサービス(人名とか)活用とかは利用できる範囲が狭いのでちょっと難しいですね・・・

記事書いたらkintoneやりたくなってきました・・・(汗)

-ドキュメント作成, プログラミング全般
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

浮動小数点に関して

金額計算なんかでfloatを使うと誤差が出るっていうのは基礎的な話ではありますが、背景知識を含めて理解しておこうと思ったのでメモります。 Contents1 float,doubleでの誤差2 金額の …

no image

JWT(ジョット)の認証に関して

セッションやtokenを使った、認証について色々書いてきましたが、今回はJWTを使った認証について。 Contents1 以前の認証がらみの記事2 JWT(ジョット)とは?2.1 ヘッダー2.2 クレ …

no image

テスト項目の作り方(縦項目について)

テスト項目の作り方について。 単体テスト書のレビューをしていて、なるべく効率的に網羅的にできるテスト仕様書の作成について。 納品物としてではなく、開発の高速化と品質をあげるためのテスト仕様書を。 Co …

no image

メモリに関して 静的領域、スタック、ヒープなど

実務でメモリの調査をしましたが、肝心のメモリについてほとんどわかっていないのでメモ。 メモリの領域を大きく分けると静的、スタック、ヒープに別れる。 Contents1 静的2 スタック3 ヒープ4 そ …

no image

シェルの基礎+ユーザー切り替え関連

雑誌を見ていたらシェルの特集があったので、ちょっとメモリます。 補強したいところのみ要点をチェック。 Contents0.1 実行パスについて0.2 ビルドインコマンド0.3 シェル変数・環境変数0. …

アーカイブ