「覚え間違い」を教えてください!

単体テストレベルのテストデータの作成方法


以前、このような質問をさせていただきました。
http://oshiete.goo.ne.jp/qa/4951742.html
いまだに同じ悩みを抱えておりまして、皆様どのようにしているのだろうか、あらためてご質問させていただきたいと思います。
あるいは、「このサイトで質問するよりもっと適切ながある」ということでしたら、そのサイトを教えていただけないでしょうか。


より具体的な例で質問させていただきたいと思います。
例えば、次のようなテーブル群があったとします。
※OracleベースのDDL(適当&適宜省略(^^;)で示しております。
※同一カラム名の個所は、それぞれのテーブルにひもづいています。
※単純な例なので、各テーブルの関連はテーブル名でお分かりになるかと思います...

CREATE TABLE 受注テーブル (
受注ID VARCHAR2(10) PRIMARY KEY,
顧客ID VARCHAR2(10)
受注日 DATE,
);

CREATE TABLE 受注明細テーブル (
受注ID VARCHAR2(10),
製品ID VARCHAR2(10),
数量 NUMBER(10,0),
PRIMARY KEY (受注ID, 製品ID)
);

CREATE TABLE 顧客マスタ (
顧客ID VARCHAR2(10) PRIMARY KEY,
顧客会社名 VARCHAR2(100),
);

CREATE TABLE 製品マスタ (
製品ID VARCHAR2(10) PRIMARY KEY,
製品名 VARCHAR(100),
仕入先ID VARCHAR2(10)
);

CREATE TABLE 仕入先マスタ(
仕入先ID VARCHAR2(10) PRIMARY KEY,
仕入先会社名 VARCHAR2(100)
);


正常系のテストパターンが(仮に)数十あるものとして、各パターンごとに0件から10件程度のデータを作成したいです。
皆様どのようにテストデータを作成しているのでしょうか。

あるいは、上記の例ではたかだか5テーブルのリレーションではありますが、ここでは省略した各種カラムにひもづく別のマスタ群が多数あるとした場合はどうでしょうか。

上記のテーブルの例で言えば「注文テーブル」用のデータを作成しつつ、それにひもづいた正しい「注文明細テーブル」用データを作成するだけでもしんどいと思ってしまいます。
さらに、関連するマスタ群として「顧客マスタ」や「仕入先マスタ」などなど多数ある場合、それぞれの関連を見ながら「正しいデータ(つまりテストデータ自体が間違っている、という事態を避けたい)」を作成するのが難しいと感じてしまいます。

A 回答 (2件)

下記ツールを使えば、簡単です。


www.superdbtool.com
ExcelDBToolで1つのテーブルが出来ましたら、同じ列名のほかのテーブルにコピーできます。
また、Excelに線を引いて、引いた線でデータの作成もできます。
ご参考まで。

参考URL:http://www.superdbtool.com
    • good
    • 1

以前の質問でのNo1さんの回答と同様に自分もplsqlで作っています。


(単にSQLと書いてあるのでplsqlではないかもしれませんが・・)

もちろん作成後に正しいデータかの確認はしないといけないですが、
sqlの方が修正が楽だと思っています。
関連も元(親)となるテーブルからselectするようにしておけば
ありえないデータになることも無いはずですし。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報