• ベストアンサー

テストってどこまで?

Webディレクターの卵です。 お客様からの要望で、サイトに問い合わせフォームとかつけますよね? それをperlまたはphpプログラマの方にお願いして作成していただくと、 「出来ました。テストして下さい。」 といわれます。 当り前ですが、・・・どこまでテストってするんでしょう? 相手にちゃんとメールが届いたり、必須項目を入れなかった場合のエラーを確認する以外にすることはあるのですか? 「ちゃんと動く」ようにテストするってどこまでなのかな~と思います。 プログラム屋さん側、お客側として、皆さんはどのようにしているかお伺いしたいのですが・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 問い合わせフォームと仮定すると、 >相手にちゃんとメールが届いたり、必須項目を入れなかった場合のエラーを確認する以外にすることはあるのですか? の他に、 存在しないメールアドレス等だった場合の動作。 あらかじめメールサーバを落としてみて普通の操作をしてみる。 必須項目にスペース等の目に見えない文字を入れてみる。 項目に大量の文字を入れてみる。 半角カタカナ等問題の起こりそうな文字コードの文字を入れてみる。 他のhtmlに同じ項目のフォームを作り、そちらから送信してみる。(外部からのセキュリティ対応されているか) 送信ボタン等を連続で押してみる。 送信処理後に更新ボタンを押してみる(二重送信してしまうか) このくらいはとりあえず調べるでしょうか。 これで、ひっかかるものがあってシステムから返ってくるエラーでなく、 プログラム側でエラー処理がされている等の処理が行われればOKかなと思います。 システムから生のエラーコード(設定によっては見えない)や動作が止まる、 またはフォーム内容が正しく送信されていない等があったら修正対象になると思います。

tobana
質問者

補足

> あらかじめメールサーバを落としてみて普通の操作をしてみる。 こちらの操作をしてエラーになると、どのようになるのでしょうか? メールが届かないのでしょうか?その対処はデータを書き出しておけばよいことなのでしょうか? > 他のhtmlに同じ項目のフォームを作り、そちらから送信してみる。 こちらはform自体がcgiに組み込まれている場合でしょうか?formはhtmlファイルで別に作成してactionで引き継ぐタイプのプログラムでも、セキュリティ対応出来るのですか?(このhtmlからしか、データをもらわないようにするとか) お時間がありましたら、教えて下さい。

その他の回答 (2)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 > あらかじめメールサーバを落としてみて普通の操作をしてみる。 >>こちらの操作をしてエラーになると、どのようになるのでしょうか? >>メールが届かないのでしょうか?その対処はデータを書き出しておけばよいことなのでしょうか? メールサーバに接続できない旨のエラーが返ってくると思います。 ユーザ側から見ると、なんのこっちゃと言うことになります。 何も知らない人であれば、ちゃんと送信されているのか、送信されていないのか すらわからないのではないでしょうか。 そこで、なんらかのエラーにより送信できませんでした。等のメッセージを出力する ことにより、明示的に何が起こったのかわかるようになります。 管理側としては、メールが送信できなかった場合に、エラーログとして、 入力内容とエラー内容、時間等を記録しておくようにすれば対処が楽になると思います。 > 他のhtmlに同じ項目のフォームを作り、そちらから送信してみる。 >>こちらはform自体がcgiに組み込まれている場合でしょうか?formはhtmlファイルで別に作成してactionで引き継ぐタイプのプログラムでも、セキュリティ対応出来るのですか?(このhtmlからしか、データをもらわないようにするとか) formの内容がCGIで書き出したものでも、htmlが別ファイルでactionで送信先を指定する ものでも同じです。 受け取り側のxxx.cgiでどこからアクセス(送信)されたかをチェックします。 そうすることにより、第三者が作ったフォームからの送信は防ぐことが出来ます。 (ただし、情報を偽装することも可能なようなので100%ではありません。) 他にはサーバ側のセッション機能を使用して、指定したルートでxxx.cgiに到達 しているかチェックをすればほぼ不正なアクセスは防げると思います。 (ただし、セッション使う場合はaaa.htmlをaaa.cgiにするとか、aaa.cgiよりaaa.htmlを出力する等 サーバ側の処理が必要になると思います)

tobana
質問者

お礼

うわ、なんてわかりやすい回答ありがとうございます。 メールサーバに接続というところまでエラーが及ぶことは知りませんでした。 また、どこからアクセスされたかとうことも出来るのですね。セッションをこのような場合にも用いることもあるのですね。 セキュリティに対応させるためには、ここまで必要だということがわかりました。 とても勉強になります。 ありがとうございました。

回答No.1

プログラマは良くも悪くも、要求どおりにしか作りません(作れません)。 即ちtobanaさんがプログラマに要求したものを作ったに過ぎないのです。 tobanaさんはプログラマが作ったプログラムを、 tobanaさんが発注したとおりにできているかを確認することが、テストになります。

tobana
質問者

お礼

ありがとうございます。 なるほど・・・、目からウロコの考えでした。 私の方がどのような発注指示を出すかで、その発注どおりになっているかがテスト対象ということですね。

関連するQ&A