No.1
- 回答日時:
作成したプログラムの内容と質問の意図が不明ですね・・
この回答への補足
プログラムは個人データの登録フォームなのですがここに貼り付けるのは文字数制限の関係で無理でした。
質問の意図・・・・たしかにわからないだけでは何に対して質問しているかわからないですよね。すいません。
動作確認をするためにテストデータと作成したプログラムをいっしょにもってくるように言われたのですが、テストデータの作り方がわからないのです。psqlの基本的なコマンドの中にテストデータを作るものがある、と言われたのですがどのコマンドを使ってどのように作ればいいのか教えていただけないでしょうか?
No.2
- 回答日時:
Yahoo!知恵袋にも、同じ質問をしていませんか?
どれが最新の状態なのか、アドバイスする側から見れば、分からなくなるのですけどね。
>javaプログラムを作成した
これは、「ソースコードを作っただけ」なのでしょうか?それとも、javaのコンパイル環境があり、フラグ消しは終わっているのですか?
Yahoo!知恵袋や#1さんへの質問・返事を見ていると、フラグ消しやテストは、「学校で行う」というように推察されるのですけど?
>プログラムは個人データの登録フォームなのです
個人データの登録を行うのですから、テストデータは、登録するデータそのものです。つまり、totojimaさんの情報や好きな芸能人、スポーツ選手などの情報を、そのままではまずいですから、適当に変えたものを「授業中に考えるのでなく、事前に整理」しておけばいいということではないでしょうか?
登録するデータには、データを一意に管理するための番号などがあるでしょう。そういったパターンをテストするために、重複データを用意したりします。
値に許される範囲がある場合、範囲外のデータを用意したりします。
数値しか入力できないところに、文字を入力したり。これもテストデータです。
こういった方法で考えたデータを、CSV形式(カンマ区切り)でテキストファイルにしたり、SQL(insert文)を予めテキストファイルに作成しておいてもいいでしょう。
CSV形式のファイルのPostgreSQLのDBへの格納方法、SQLを記述したファイルの実行方法は、ネット検索やネット上のマニュアル、書籍などでいくらでも調べられるし、先生に確認するのもいいでしょう。
この回答への補足
お返事ありがとうございます。
>Yahoo!知恵袋にも、同じ質問をしていませんか?
申し訳ありません、なるべく多くアドバイスをいただきたかったので・・
>どれが最新の状態なのか、アドバイスする側から見れば、分からなくなるのですけどね。
以後、気をつけます。ご指摘いただきありがとうございます。
学校には通っていませんのでプログラム作成に関しては、コンパイルまで全て自宅でやっています。「フラグ消し」という単語は初めて聞いたものなのでよくわかりませんが・・・・
回りに聞ける方がいないので書籍を借りたり、ネット上で調べたりはしているのですが、テストデータというものの形がよくわからなかったので質問させていただきました。
COPY ... TO ...;
という文でテーブルをテキストファイルへ出力できるということも聞けたのですが、SQLをテキストファイルで作成しておく等、テキストファイルを用意するのにやり方をわかりやすく載せてあるサイト等ありませんでしょうか?
No.3
- 回答日時:
仕事としてやっているなら、具体的に何をやるように指示されたのでしょうか?
コンパイルまでやっているとのことですが、そのプログラムのテストは誰が行うのですか?
>「フラグ消し」という単語は初めて聞いたものなのでよくわかりませんが・・・・
コンパイル時に文法エラーが出ることを、大昔から「フラグが立つ」といいます。
そして、コンパイラで文法エラーが出ないように修正していく作業を、「フラグ消し」といいます。
>テストデータというものの形がよくわからなかった
「形」や「作成方法」は、様々です。
例えば、携帯電話や銀行ATMの「人が手で操作する部分」のテストを行うなら、テストデータは帳票類で記載されているかも知れません。データの内容は、どういう操作をテストするのかにより、異なってきます。
「手で操作する部分」でないなら、データはテキストファイルに作成しておき、一気にテスト対象のプログラムに渡すことも考えられます。
この場合も、データの内容は、テスト対象のプログラムが「何をするものか」により異なってきます。
今回は、「個人データの登録」ということなので、データの内容は、登録する個人の情報であり、登録できるケース、重複エラーで登録できないケース、入力した値が許容範囲か否か、数値か文字か・・・といったものが考えられます。
「テストデータ」とだけ聞くと、ここまで記述した「そのプログラムが仕様通り動くこと」を確認するためのデータと一般的に受け取れます。
しかし、これまでの質問・返答を見ていると、「どういうテストをしたか」をまとめた帳票の提出を求められているようにも思えます。この場合、テスト仕様書(チェックリスト)のこととも考えられます。
この辺のことは、totojimaさんが、作業を任せられた相手に確認するしかないと感じます。
なお、SQLのスクリプトファイルの実行ですが、pgAdminIIIを使えるのでしたよね?
pgAdminIII起動後、「SQL」というボタンをクリックすれば、SQLを入力したり、貼り付けたりできる状態になります。
この回答への補足
お返事ありがとうございます。
>仕事としてやっているなら、具体的に何をやるように指示されたのでしょうか?
>コンパイルまでやっているとのことですが、そのプログラムのテストは誰が行うのですか?
まだ、仕事としてはできていません。面接時にプログラムを作ったことがないということで適正検査を含めて作ってみてくれ、という形でここ2ヶ月ほど、メールでやりとりしています。作ったデータをメールで送り、それを確認していただいて次の課題をいただき、またできたらメールで送り確認してもらってます。今回、INSERTなどの機能を付けてメールをしたところテストデータとプログラムを持参してきてほしい、と言われました。テストデータを知らなかったのでできるまで延ばしていただいたのですが・・・
>コンパイラで文法エラーが出ないように修正していく作業を、「フラグ消し」といいます。
なるほど、ありがとうございます。これはやっていました。エラーがよく出たので・・・・
テストの内容ですが恐らくプログラムが問題なく動くか、だと思います。INSERTやDELETEなどを入れたボタンがありますので、それを押した時エラーなくデータの追加や削除ができているかなどをテストするのだと・・・・登録内容は20桁までの数字のみですので簡単なもだと思うのですが。
参考になるかわからないのですがInsert文でもdb形式でcopyでも良いと言われてるのですが・・・
今やってみているのがエクセルからCSV(テキストファイル)を作ってそこにSQLでCOPYをしようとしているのですがエラーが出てうまくいきません。なんの入力もしていないCSV(テキストファイル)はテストデータにはならないのでしょうか?
>pgAdminIII起動後、「SQL」というボタンをクリックすれば、SQLを入力したり、貼り付けたりできる状態になります。
なるほど・・・・もし、CSVテキストにテストデータとしてSQLを入れてないといけなかったのならぜひ参考にさせていただきたいと思います。
ここまでお相手いただき誠にありがとうございます。わからないところだらけなのですがよろしくお願いします。
No.4
- 回答日時:
なるほど。
プログラムを作成し、そのデモ(デモンストレーション)をやる訳ですね!
取りあえず、すぐにアドバイスできる範囲で回答します。
>そこにSQLでCOPYをしようとしているのですがエラーが出てうまくいきません。
「エラーが出てうまくいかない」というのは、これからプロを目指そうとしている人が使ってはいけない表現です。
具体的なエラーの内容(メッセージやコード類)を、必ず示してください。
>なんの入力もしていないCSV(テキストファイル)はテストデータにはならないのでしょうか?
「0件データ」など、例外処理のテストとしては成立しますが、それは本来の処理のテストをできた上でのことです。
>INSERTやDELETEなどを入れたボタンがありますので、それを押した時
>エラーなくデータの追加や削除ができているかなどをテストするのだと
「登録」のプログラムだったのでは?
更新や削除もある訳ですか?
今回、課題を出されたのが、「登録、更新、削除もある」という操作の内、「登録」部分ということでしょうかね?
>登録内容は20桁までの数字のみ
そういうことなら、
(1)1桁の数字
(2)20桁の数字
(3)21桁の数字
(4)数字以外を含む
(5)何も入力せず
(6)重複禁止のものなら、重複するデータの格納
といったことが、最低限、必要なテストすべきパターンになると思います。
これらのデータは、totojimaさんが作成した登録フォームで、手作業で入力してデモを行えばいいと思うのですが?
そうであれば、入力するデータは事前に考えておき、テキストファイルでもMS-EXCELでも、MS-WORDでもいいので、いつでも参照しながらデストで使えるようにしておく。
デモをやる上で、初期データ(そのプログラムを実行する前に、予めデータが入っている)が必要なら、そのデータを格納するinsert文を作っておく。
create table文、drop table文と、操作結果を確認するためのselect文も準備しておくといいと思います。
といった感じでしょうかね。
この回答への補足
お早いお返事ありがとうございます!
>「エラーが出てうまくいかない」というのは、これからプロを目指そうとしている人が使ってはいけない表現です。
>具体的なエラーの内容(メッセージやコード類)を、必ず示してください。
まったくその通りですね・・・・恥ずかしい限りです。
>「登録」のプログラムだったのでは?
INSERTは登録ですね・・・間違ってばかりで申し訳ありません。
>今回、課題を出されたのが、「登録、更新、削除もある」という操作の内、「登録」部分ということでしょうかね?
ボタンに関して登録、更新、削除と3つあるのですが、これをやる、と指定はされていないので全部やると思います・・・登録には登録用のテストデータを、更新には更新用、削除には削除用と作る必要があるのかな・・・・?
デモか・・・目の前でやるのはすごく怖いですね。でも避けれない道ですのでなんとかがんばりたいです。
デモに向けてのアドバイスまでいただきまして本当に感謝しております。ありがとうございます。
テストの内容になるんですが、(1)~(5)までは登録フォーム上で桁数や数字などフォームに合わないものは弾かれるようになってるので大丈夫だと思います。だた(6)に関しては・・・なんとかしなくてはいけないかもしれません・・・。
insert文やcreate table文、drop table文はCSVファイルに書き込めばよいのですか?sql文をあらかじめ用意したいと思っているのですが・・・・
No.6
- 回答日時:
csvは「カンマ区切りの値」ですから、格納するデータを「,」で区切って入れておきます。
主要なRDBMSでは、CSVファイルの各フィールドの値を、表を構成する列の順に対応させて格納してくれます。insert文などのSQLは、テキストファイルに記述(=スクリプトファイル)しておくのが一般的です。
この回答への補足
ありがとうございます。記述(=スクリプトファイル)を元に調べてみます。
テストの内容を聞いてみたのですが
テストデータをロードしてプログラムの動作確認が行えれば良いということでしたので、DBの代わりにテストデータで登録、変更、削除の操作ができれば良いということたど思います。
この返事からDBへはアクセスしなくても良いということでしょうか?もし、テストデータをDBの代わりとして使うのならDBへ接続して操作を行う用に作ったプログラムを書き直す必要があるのでしょうか?
// btn1(削除ボタン)の設定
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s1 = String.valueOf(txt1.getText());
try{
// 接続情報
String drv = "org.postgresql.Driver";
String url = "jdbc:postgresql:postgres";
String usr = "postgres";
// DBへの接続
Class.forName(drv);
Connection cn = DriverManager.getConnection(url, usr);
Statement st = cn.createStatement();
String qry1 = "DELETE FROM getuji WHERE 年度 = '"+ s1 +"';";
st.executeUpdate( qry1 );
// DB切断
st.close();
cn.close();
}
catch(Exception f){f.printStackTrace();}
}
});
上記の形ではJDBCを通してpostgreのDBへアクセスし、getujiテーブルの中の条件内を削除する形になりますが、テストデータの内容を削除するのなら //接続情報 はテストデータへ変更しないといけないように思うのですが・・・・
また、CSVファイルにもプログラムからの命令で登録、変更、削除するように記述しないといけないですよね・・・かなりややこしそうです・・・
No.7
- 回答日時:
>テストデータをロードしてプログラムの動作確認が行えれば良いということでした
>ので、DBの代わりにテストデータで登録、変更、削除の操作ができれば良いと
>いうことたど思います。
そういう意味ではなく、接続先サーバやデータベース名、データなどは本番業務で使用するようなものでなく、「totojimaさんが持参したデータを使ってテストしましょう」という意味でしょう。
実際に接続するサーバ、データベース名などは、作業依頼者に確認することになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
1回目の実行に3分、2回目の実行...
-
ACOSのRDBについて教え...
-
Sqliteで使えない文字。
-
ACCESSのデータをWebブラウザで...
-
データベース
-
データベースをネットに。そし...
-
復旧中のデータベースについて
-
エクセルのフィルタ抽出が固まる
-
【DB】同じトランザクション内...
-
accessの処理が遅い
-
一つのトランザクションでSELEC...
-
警察はスマホに保存した動画や...
-
ログファイルの圧縮がされずに...
-
SQLServer2012の復元ができない
-
肥大化しすぎたSQLiteがVACUUM...
-
DATファイルをEXCELで開きたい
-
マスタメンテとは?
-
Accessdでの「トランザクション...
-
SQL Server Management Studio ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
ACCESSのデータをWebブラウザで...
-
1回目の実行に3分、2回目の実行...
-
Sqliteで使えない文字。
-
ACCESS2010 Excelエクスポート ...
-
AccessのLANでの共有
-
accessの上限容量2Gでは容量が...
-
oracleデータベースの更新履歴
-
SQL ServerにExcelをリンクさせ...
-
ツリー情報のデータをSQLで取得...
-
ACCESSのクエリからORACLEのDB...
-
暗号化したDBのデータ移行
-
SQLServerのデータを支店間で参...
-
会社の諸事情により全システム...
-
ACOSのRDBについて教え...
-
SQL文で、重複データの上書きは...
-
SQLServerのDBのうちテーブルを...
-
PL/SQLで複数のFor文を解除したい
-
別サーバーへのデータの同期更...
-
番地等の詳細住所データ全国版
おすすめ情報