自動UIテストを介してどの機能をテストする必要がありますか?


12

最近、コンサルタントに、機能が自動化されたUIテスト(Selenium、コード化されたUIなど)でしかテストできない場合、根本的なアーキテクチャの問題があると言われました。このステートメントは少し極端かもしれませんが、UIテストが自動化されたテストスイート全体のごく一部を構成するという点で、テストピラミッドと同じラインに沿っています。

それでは、どのような機能に自動UIテストが必要ですか?優れたアーキテクチャを備えたシステムには、UIテストでしか検証できない機能が残っていますか、それともこれらのテストは単体テストとサービステストの「バックアップ」としてのみ機能しますか?


UIのすべての機能とは別に、私は推測しますか?

回答:


11

おそらく、ボタンやその他のウィジェットをアクションに接続する何らかのアーキテクチャがあります。保存をクリックして、保存機能を呼び出す必要があります。

単体テストまたは統合テストを介してアクション自体のテストカバレッジが十分にあると仮定すると、自動UIテストの目的は、ウィジェットがすべて基になるアクションを適切に呼び出し、それらのアクションの結果を正しく表示することを保証することです。

つまり、UIがモデルの状態を適切に反映し、コントローラーに適切に接続されていることを検証します。

もう1つのコンポーネントは、一部のビジネスロジックがUIコードにある場合です。たとえば、パスワードフィールドに特定の文字が必要な場合があります。これらの機能を単体テストでテストするのは困難または不可能な場合があるため、何らかの方法でこれらの機能をテストする必要があります。


3

自動UIテストを介してどの機能をテストする必要がありますか?

すべてのUI機能。

テストする必要があります:

  • ユーザーが実行できるすべての機能。
  • ユーザーが実行するすべてのブラウザー(およびそのバージョン)でユーザーが実行する機能。
  • ハッピー(すべてのステップで正しいことをする)と悲しい(ユーザーがエラーを起こす)パスの両方。
  • 有効および無効なデータ。
  • 大きい数と小さい数。
  • ロールに固有のすべてのロールおよび機能ロール。
  • ユーザーおよび管理者インターフェース。
  • 侵入を試みます。
  • データの作成と更新は意図したとおりに機能します。
  • 削除の作業と、他のテーブルの関連するデータベースデータの削除。
  • キーボードとマウススタイルのユーザー。
  • PC、電話、iPadなどのさまざまなデバイスまたはシミュレーター

0

自動化されたUIテストでのみテストできる機能のようなものはありません。 セレンのようなツールは、人間を自殺のポイントに退屈させることなく、人間の行動を模倣するだけです。自分自身(またはあなたのコンサルタントを)尋ねる質問:「?どのように人がいないことをプログラムテストUIの側面だろう」次の質問は次のとおりです。「もしそうなら、なぜあなたは彼らが何を気にしますか?

一方、もしあなたがそのような機能を持っているなら、ええ、私はあなたが根本的なアーキテクチャの問題を抱えていると言います。:-)


1
「唯一」とは、自動UIテストと単体テストまたは統合テストを指していると思います。セレンが人間ができないことをテストできる何かを作成することはできないと思う(人間の速度対セレンの速度を
ブライアンオークリー

申し訳ありませんが、質問からどこでそれが得られるかわかります。Seleniumだけが使用できるアプリケーションを開発するように私に挑戦してきましたが、それは単にUXチームに固執するためです:)
mragh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.