2011-03-04 7 views
3

ウェブサイトの「インターフェイスの機能性」をテストするベストプラクティスは何ですか?ウェブサイトのインターフェイスをテストする方法(ユニット)

私はインターフェイスとダイナミック生成された内容をテストするためにどのメソッドが利用できるのか興味があります。私は、ユーザーのやりとりを必要とするアクションの自動テストを作成することが可能かどうかを判断するのに苦労しています。時間の無駄だから、ベータテスターに​​このタイプの作業をさせるべきです。

私はいくつかの例をあげてみます:あなたは、いくつかの「関連の質問は、」表示され、あなたの新しい質問のタイトルを入力したときにSO上

  1. を。明らかに、関連する質問の数が正しく、表示されていることを示す何らかのテストを実装できますが、リンクの「正確さ」をどのようにテストしますか?擬似質問セット(常に同じ)を設定し、返された質問が事前に確立された質問であることを確認しますか?それはうまくいくはずですが、検索アルゴリズムの堅牢性をほとんどテストしていません。他の質問がプールに追加されるとどうなりますか?返された結果はまだ「関連」ですか?

  2. 特定のボタンをクリックすると、ユーザーが移動できる「ポップアップdiv」を生成するJSが呼び出されます。繰り返しますが、この種のインターフェースを自動的にどのようにテストしますか?あなたは外観をテストすることができますが、その動きをどのようにテストしますか?

  3. あなたのメッセージに埋め込むためにサイトにファイルをアップロードするインターフェイスがあります(SOの画像アイコンのように)。ユーザーは1)ボタンを押す2)ファイルを閲覧する3)アップロードを待つ4)OKを押すとメッセージに画像が表示されます。繰り返しますが、アップロードのテストを自動化する方法(例:「通常のファイルをアップロードしてください。大きすぎるファイル、サポートされていないファイルをアップロードするなど)を確認できます。しかし、インターフェイスの使用はどうですか? OKまたはBrowseボタンが何らかの理由で機能しない場合は、アップロードが正常に機能しないため、終了時にファイルをアップロードしてメッセージに表示することはできません。

明らかに上記のすべてのは、ベータテスト(ちょうどあなたのウェブサイトをテストするために、ユーザーの束を伝え、何がうまくいかない場合、彼らはわかります)にかなり簡単ですが、あなたは行うことができます(そしてもっと重要なのでしょうあなたはこの種のものについて自動化されたテストを実装するのに時間を費やしますか?また、ベータテストでは、テスト担当者が「暴走」してサイト上で何をしたいのか、テストする機能を教えてくれますか?私は第1回を賛成するつもりですが、私は提案をすることができます。

答えて

3

私たちが私たちのところで使っているものはSeleniumです。それにはいくつかの欠点がありますが、全体的に見れば、数千の新しいシステムテストをクリックしてテストすることができました。これが実際に「ユニット」テストであるかどうかは議論することができます。それはスタックに依存していると思います。このためにシステムを稼働させる必要があるため、より統合テストが必要です。

我々は QUnitを使用し、 HTMLUnitは、実際のブラウザを使用するが、それでもあなたのDOMやその他もろもろを与えないテスト「道路の真ん中」のために、同様にやや人気が証明されていJSの純粋なユニットテストのために

。あなたの問題の

+0

+1私たちも同じことをしています。新しいUIが変更されるたびに、Selenium上でテストスイートを実行して、何かが壊れていないかどうかを素早く確認します。 – JohnP

+0

+1興味深い、私はそれをチェックアウトします。ユニットテストや統合テストなどと呼ばれているかどうかは気にしません。私が満足しているものをテストする限り) – nico

1

いくつかは、視覚的検査によって答えられること、そしてそのための大きな枠組みがあります:http://sikuli.csail.mit.edu/

それはあなたが視覚的な結果を期待して、プログラムでWebページを制御することができます。

+0

これはまた非常に興味深いものですが、私もこれをチェックします。 – nico

関連する問題