作業 #34
openテストプログラムを用意しよう
0%
Description
追加・改修の度にいちいち項目テストを手動でやるのはしんどい。
自動テストプログラムを用意しよう。
Updated by keiji ono 14 days ago
テストプログラムはJuliaとjsで分けるべきだろうか?
各機能毎、操作感、Post/Get処理、DBアクセス->DB毎...
それぞれで「単体テストプログラム」を用意して、組み合わせて実行できるようにするといいかも。
完璧なテストが実行されるわけではないが「簡易的に手動でやるよりは全然いい」というところから始めてみよう。
Sessionの問題があるので、テスト実行はログインが必要だなぁ。すると、どこから実行させるか。ログイン前からとログイン後からではプログラムの種類が変わってきそう。
自動テストでは、結果の正誤だけが必要な場合と、UI絡みで目視確認が必要な場合があるだろう。結果だけが必要な場合はサクサク実行させて、目視確認の時はそれなりに時間をかけて、一時停止機能なんかもつけたりするのかな。
Updated by keiji ono 11 days ago
チャットボックスに「postgresql/mysql/redis/mongodbのテストして」と打つと
- テスト用のcsvファイルをup
- table作成を評価
- Jetelina-API作成を評価 <- insert/update/delete/select, selectは予定されたデータ件数がjson形式で取得されることも評価する
- 評価結果は基本はOK/NGだけで別画面に表示する
- この別画面には「終了/もう一度実行(詳細表示で)」ボタンをつけておく
- 「もう一度実行(詳細表示で)」が選択された時は、7を実行した後に1から再度実行するが、実行結果の詳細も一緒に別画面に表示する
- 評価が終われば作成したtable/apiを削除する
- cmdリストから順次実行する
- ajaxのリターン内のresultを評価する
- 実行したcmdを「機能」としてOK/NGで別画面に表示する
- 1を実行する際には機能間のcancel処理に注意する
テスト結果を表示する別画面は、全体画面の端の方に小さな長方形で実行順にスクロールアップしていく様にして表示する。この別画面は実行中はボーダーラインがハイライトしていて、画面自体は伸展アリとする。
Updated by keiji ono 11 days ago
#3のテスト仕様は「通常」のテスト方法であり、デフォルト仕様としていいだろう。
ただし、機能が増えたり変更されたりする度にテスト仕様も変更しないといけないというのはしんどい。
そこで、Jetelinaに「このテストはこうやるんだよ」という学習機能を付けれないだろうか?
「学習」にはオペレーションの記録が必要となるだろうが、開発・改修中のオペレーションは雑音になるので除かないといけない。
となると「学習開始」の指令を出す必要があるということだろうか?
「正常値テスト」ならそれでいいのかもしれないけど「異常値テスト」はちょっと違う気がする。