テストデータ生成は、ソフトウェアアプリケーションをテストするためのデータセットを作成するプロセスだ。 これはかなり複雑な問題であり、多くの解決策が出てきているが、ほとんどがおもちゃのようなプログラムにすぎない。 私たちは、同じような古いプログラムから、取得した実際のデータを使用することも、プログラム内のすべてのパスをテストすることのみを目的として作成された人工データにすることもできるのだ。
さて、あなたはなぜテストデータを生成しなければならないのだろうか。
理由はいくつかある:
・既存のデータがない
・異常なケースをテストしたい
・プライバシーの心配がないデータが欲しい
・実際の会社データを変更せずにテストしたい
・アプリを破壊する前に対象のデータによるストレステストをしたい
・既知の状態からテストを開始し、現在の状態に回復することができる
・すべてのデータを手動で入力しなくて良い
遺伝的アルゴリズムを使用することで、動的メモリ割り当てを使用するソフトウェア用のデータを生成できる。 テストフェーズでの時間を節約するために、テストカバレッジの向上とエッジケースの効率的な処理を目的としたテストデータ生成ツールをいくつか集めた。
15. Generatedata.com
Generatedata.comは、PHP、JavaScript、MySQLで書かれたオープンソースのWebツールだ。 ソフトウェアのテスト、データベースの作成などに使用するためのさまざまなフォーマットで大量のカスタムデータ(一度に最大5,000レコード)を迅速に生成できる。
このサイトにはオンラインデモも用意されているので、スクリプトの機能、提供されている機能、機能の概要を理解することができる。 さらに使い込みたいなら、ダウンロード可能な無料版、またはすべての機能が使えるGNUライセンス版がある。
14.Yan Data Ellan
Yan Data Ellanは、さまざまな分野でさまざまな形式のテストデータを作成している。 ここでは、Excel、JSON、HTML、XML、SQL、CSVなどのさまざまな形式で、最大10,000行の実際の有効なデータを生成できる。 Webサイトはこれらのサービスを無料で提供している。
13. Spawner Data Generator
Spawnerはデータベース用のサンプルデータを生成するシンプルなツールだ。 区切りテキストまたはSQL挿入ステートメントを出力するように簡単に構成できる。 また、MySQL 5.xデータベースに直接挿入できる。
いくつかのフィールドタイプがあり、そのほとんどは設定可能だ。 このソフトウェアは、GNU General Public Licenseバージョン2.0(GPLv2)の下で配布されている。
12. IBM DB2 Test Database Generator
DB2テストデータベースジェネレータはDB2のアドオンで、開発者はテストデータを最初から、または既存のものから素早く作成することができる。 参照整合性とテストデータのバッチ作成をサポートし、テストデータは、CSV、SQL、XMLなど、さまざまな形式で作成できる。
プログラムは、テストデータを作成するときに使用できるいくつかの異なる種類の規則をサポートしている。 たとえば、「静的ルール」はすべての列の定数値を定義し、「マスクルール」は値内の位置をパターン値または静的値に置き換えることによって値を変更できる。 すべての規則には、序文、置換、または追加のうちいずれかのアクションがある。
11. GS Data Generator
GS Data Generatorは、ソフトウェア品質保証テスト、ユーザビリティテスト、データベースロードテスト、およびパフォーマンステストのためのテストデータを生成できる自動テストおよびデータ生成ツールだ。 システム統合テスト、CRM、ソフトウェアマーケティング、ERP、データウェアハウス開発のためのランダムテストデータとビジネスインテリジェンステストデータを作成するように設計されている。
生成されたデータは、型と参照整合性の制約に基づいている。 このツールは重要なデータ要素の匿名性を保護し、オフショア開発チームが生産データにリスクなくアクセスできるようにしている。 さらに、あらゆるレベルの複雑さのプロジェクトをサポートし、本番データと区別がつかないランダムデータを生成できる。
10. EMS Data Generator
EMS Data generatorはデータベース運用環境をシミュレートするための完璧なツールだ。 EMSを使用すると、複数のテーブルにテストデータを同時に入力し、マスクでテーブルとフィールドを作成し、値の範囲を設定し、SQLクエリから項目を選択し、データ全体を一度にテストすることができる。
このツールは、SQL Server、Oracle、MySQL、InterBase、DB2、PostgreSQLなど、最も広く使用されているDBMSサーバーごとに別々のエディションがある。 いずれもリンクテーブルの参照整合性の自動制御とデータ生成プロセスをカスタマイズするためのさまざまなオプションをサポートしている。
9. Upscene Advanced Data Generator
含まれているデータライブラリと特定のタイプのデータを作成する方法は、Upsceneの高度なデータジェネレータで本物のような賢明なデータを作り出すことを可能にした。 互いに関連する複数のテーブルにまたがって複雑なデータを生成することができる。
このツールは、ラージテキスト、バイナリ、整数、実数、日付と時刻、ブール値、GUIDなど、さまざまなデータタイプをサポートしている。 これらの各タイプには、「ランダムな値」や「フォルダからランダムにファイルを作成する」などのさまざまなデータ設定がある。 さまざまなプロジェクトで再利用するために、これらの種類のほとんどのテンプレートを作成できる。
8. Datanamic Data Generator MultiDB
Datanamic Data Generator MultiDBを使用すると、データベースのテストの目的で、数千行の構文上正しいデータをデータベースに簡単に入力できる。 データベースを読み、それらのデータ生成設定と共にテーブルとカラムを示す。 包括的なテストデータを作成するために必要なのは、ごくわずかなエントリだけで済む。 これを使用して、ゼロからも既存のデータからもテストデータを生成することができる。
このツールは、国または言語固有の作り付けのジェネレータの大規模なコレクションが満載されており、 Microsoft SQL Server、Azure、MS Access、Oracle、MySQLに直接アクセスできる。
7. ApexSQL Generate
ApexSQL Generateは、実際のテストデータをエミュレートし、それをいくつかの異なる形式で抽出することができる。 指定されたテーブルのSQLテストデータを作成し、数百万行をすばやく生成できる。 詳細なオプションでテストデータプランを自由にカスタマイズし、複数のジェネレータから選択することも可能だ。 名前、クレジットカード番号、住所、パスワード、社会保障番号など、現実的なデータ用に150を超える事前定義されたジェネレータが用意されている。
このツールは、データの整合性を保つために、広範囲のSQLデータ型、コマンドラインインターフェース、および外部キーをサポートしている。 GUIはエラー、警告を通知し、メッセージをツリービューで表示する。 また、間違ったジェネレータ設定、制約違反、循環依存などのプレビューパネルもある。
6. Mockaroo
(Ruby on Railsのような)ほとんどのフレームワークは素晴らしいデータモックライブラリを持っていまるが、誰もがプログラマであるわけでもないし、フレームワークを学ぶ時間があるわけでもない。 Mockarooを使用すると、独自の仕様に基づいてランダムに生成された大量のテストデータをダウンロードし、CSVまたはSQL形式を使用してテスト環境に直接読み込むことができ、プログラミングは不要だ。
スキーマを保存し、curlを使用、RESTful URLを介してシェルスクリプトでデータをダウンロードすることにより、プログラムでランダムデータをダウンロードできる。 Base64画像のURLタイプと繰り返しXML要素をサポートしている。 さらに、式を任意のデータタイプに適用したり、リストのカスタム頻度を指定したり、場所を特定の国に制限したりすることができる。
5. dbForge Test Data Generator
SQL Server用のdbForge Data Generatorは、有用で価値のあるテストデータを素早く生成するための素晴らしいGUIツールだ。 コラムインテリジェントなテストデータをエミュレートすることを可能にする200以上の内蔵ジェネレーターでたくさん用意されている。
必要なのは、データを生成するためにテーブルを選択し、ジェネレータを1つ選択し、ジェネレータのパラメータを設定し、そして出力を得るために移入ボタンを押すことだけだ。
プログラムは、複数のテーブルにまたがって一貫性のあるデータを生成するための外部キー、およびテーブルの単一列または複数の列にまたがって一貫性のあるデータを生成するための制約チェックをサポートしている。 また、データベースロジックとの干渉を避けるためにトリガや制約を無効にすることもできる。
4. GEDIS Studio
GEDIS Studioは、アプリケーションをインストールせずにデータセットを作成しオンラインで利用できる、無料のテストデータジェネレータだ。 30の生成規則を組み合わせて現実的なデータセットを作成するための独自の機能を提供している。 同じレコードの列間で値の分布と相関を制御できる。
一度登録すれば、ジェネレータを設計する方法を学ぶため、サンプルプロジェクトと参照データと共に、あなたに私用ワークスペースを提供する。 データの動作の高度なプロファイルを公開する大規模なデータセットを作成するのに成功している。これは現実的なテストとビッグデータのシミュレーションに最適なツールです。
3. Visual Studio (Premium) Data Generator
データベースのスキーマには適しているが本番データとは無関係のテストデータを生成したいときは、Microsoft Visual Studio Premiumを使用できる。
Visual Studio Premiumには、さまざまな種類のデータを作成するための多くの組み込みデータジェネレータが付属している。 たとえば、整数ジェネレータはランダムな整数値を提供し、文字列ジェネレータはランダムな文字列を提供している。
内蔵のデータジェネレータが本当に欲しいものを提供していない場合は、カスタムジェネレータを作成することもできる。 たとえば、データベースに別の列を参照するチェック制約を持つ列が含まれている場合は、カスタムジェネレータを作成することになる。
2. Redgate SQL Data Generator
RedgateのSQLデータジェネレータは、数回のクリックで大量の現実的なデータを作成するためのシンプルなツールだ。 テーブル名、列名、データ型、フィールドの長さ、その他の既存の制約に基づいてジェネレータをすばやく提供する。 外部キーデータを作成するための柔軟性と手動制御が向上している。
シードされたランダムデータ生成により、毎回同じデータコレクションを作成できる。 既存のソースからデータをインポートしたり、データベースロジックとの干渉を避けるためにオプションでトリガや制約を無効にしたりできる。 さらに、ソース間のデータ型が異なる場合、このツールは列間の依存関係、コマンドラインデータの生成、および自動データ変換をサポートしている。
1. DTM Data Generator
DTM Data Generatorはテスト用のデータ行とスキーマオブジェクトを生成する。 高品質で現実的なテスト配列を提供するために開発された。 このツールは、データ値と、ビュー、プロシージャ、テーブル、トリガなどのオプションのスキーマオブジェクトを自動的に作成する。
このツールは、IBM DB2、MySQL、Firebird、Oracle、およびMicrosoft SQL Serverを含むすべての一般的なデータベースシステムをサポートしている。 無作為で反復可能なデータ作成モデルでフィールドを埋めるためには、15の方法がある。
データ生成エンジンには、依存関係、関係、および内部構造を使用して複雑なテストデータを定義できる70の組み込み関数と式プロセッサがある。 さらに、スキーマアナライザーが優れており、追加のプロジェクト変更なしにデータを現実的にすることができる。具体的には、「例によるデータ」機能を使うことにより、簡単にデータをより現実的にすることができるのだ。