13

.net テクノロジを使用して作成されたアプリケーション/製品があります。この製品は、Web API (アプリケーション サーバー上の SOAP) を使用して DB に接続する GUI を備えています。テストの大部分は DB の値に対して実行されますが、それ以外はユーザビリティやパフォーマンスなどに分類される場合があります。実行されるテストの 60 ~ 70% は、DB の値が正しく表示されているかどうかを検証することです。他のテストでは、GUI が要件仕様で要求どおりに機能しているかどうかをテストします。

テストのもう 1 つの側面は、DB と GUI の両方でバックエンド アプリケーション サーバー インターフェイスをテストすることです。これにより、App Server が不正な値を GUI に送信しているのか、DB が不正な値を送信しているのかを判断できるようになります。

製品の UI は、追加のドロップダウン メニュー項目とこれらのメニュー項目の追加ページという形で新機能を追加することを除いて、あまり変更されていません。

上記を考慮して、どのフレームワークがより適切でしょうか? QTPまたはSeleniumまたはその他の商用/オープンソースツール?

(コストは大きな問題ではなく、ブラウザの互換性や OS も重要ではありません。システムは Windows Server にインストールされ、DB は互換性があります。)

4

5 に答える 5

14

Java +dbバックエンドと通信するフレックスUIを備えたアプリをテストするために、Seleniumを中心に構築された受け入れテスト「フレームワーク」があります。

スクリプトをJavaで記述し、junitを使用してテストを実行できるため、Seleniumを既存のテストおよび継続的インテグレーションインフラストラクチャに簡単に統合できます。これらのテストも開発者によって作成および保守されています。また、dbunitを使用して、各テストの前にデータベースをセットアップします。

しかし、私たちのテスト部門はQTPを採用することにしました。彼らは私たちのインフラストラクチャがSeleniumを中心に構築されていることを示しましたが、理解するのは難しいと感じました。私は彼らがテストを書きそしてそれらを維持するために専任の専任の人を持っていることを知っています。

私はあなたの正確な状況を知らないので、私はあなたに次のことを考慮することを提案することができるだけです:

  • 誰がテストを作成して維持していますか?
  • スイートはより大規模なインフラストラクチャの一部になる予定ですか?

セレンは次の場合に最適です...

  • テストの作成と保守を担当する開発者がいます
  • より大規模なインフラストラクチャの一部としてこれらのテストを行う必要があります
  • ブラウザの外部で多くのテストを行う必要はないと確信しています。
  • Windows以外の他のブラウザや他のプラットフォームをテストしたいと思うかもしれません
  • あなたは何か無料のものが欲しい

QTPは、次の場合に適しています...

  • テストを作成および保守するコードに精通した人が少なくなります(ただし、Selenium IDEが非コーダーにとって習得が難しいかどうかはわかりません)
  • ブラウザの外部で重要なテストが必要な場合

この記事も役立つかもしれません。

私がどちらを好むかは明らかだと思いますが、状況に最も適したものを決定する必要があります。

于 2011-01-23T20:53:13.227 に答える
3

あなたの最良の選択は、GUI および非 GUI テスト用の HP の新しいソリューションになると思います。新しいソリューションは、QTP と ServiceTest の 2 つの製品との新しい統合です。

  1. QTP は、組織が GUI レイヤーでアプリケーションを自動化するのに役立つ拡張機能を備えた既知の GUI 自動化ソリューションです。
  2. ServiceTest は、Web サービスやその他の非 GUI インターフェースを自動化できる非常に新しいソリューションです。

これら 2 つの統合により、クロスレイヤー アプリケーションと異なるアプリケーション間の統合テストを自動化する 1 つのソリューションがユーザーに提供されます。

詳細は HP サイトでご覧いただけます。

于 2011-01-30T11:16:20.233 に答える
2

プログラミング ライブラリ (Java など) の膨大な配列 (しゃれは意図されていません) にアクセスできるので、私の投票では Selenium-RC を使用することになります。しかし、最初の投稿者のように、これには追加の学習と保守曲線が必要です。しかし、セットアップが完了すると、アプリケーションはあなたの想像力 (およびプログラミング能力 :)) によってのみ制限されます。Selenium-RC (Java) を使用した DB 統合は簡単でした。また、サーバーの応答を測定する際に Selenium を広く使用することもできました。同じことをするQTPのハックがあると確信していますが、HPのサポートがあれば、最近のように、あなたの賭けはオープンソースコミュニティにあるはずです(そしてstackoverflow :))...

于 2011-01-31T16:45:51.407 に答える
2

.Net って言うの?

VS2010 を使用している場合、コード化された UI は非常に優れています。長年の QTP ユーザーとして (もちろん、より技術的な側面で) コード化された UI は夢でした。存在の初期段階でさえ、非常に強力であり、緊密に統合されています。 Visual Studio エコ システムを使用できる場合は、強くお勧めします。あなたはここについて読むことができます

私の経験はより限られていますが、良いことを聞いた別のツール ( specflow ) は、コード化された UI とうまく連携して、賢明な方法でテストを作成および整理できます。

とにかく考えるきっかけになるかも!

于 2011-01-25T16:46:59.207 に答える
1

これに対する私の見解 -

Selenium は次の場合に最適な選択肢です...

  • Quality Center にスクリプトを入れる必要がない場合。一方、継続的インテグレーションははるかに簡単です。
  • Selenium は、チェックポイントなどの機能が少ない下位レベルのツールです。大したことではありませんが、スクリプトの開発と保守により多くの時間を必要とします。Selenium 3 が登場します。新しい Selenium がリリースされるたびに API が変更されるため、古いスクリプトに別れを告げる準備をしてください (別のバージョンの Selenium を使用する別のマシンを除く)。
  • Selenium は無料のツールですが、機能がまだ開発されていないという理由だけで、特定のプラットフォームまたはブラウザーで特定のアクションを実行できない場合があります。
  • いいえ、開発者は通常、Selenium、特に Web 層 (ブラウザーの自動化) に精通していません。Java の知識があっても、html dom を完全に理解することはできません。時々使用する JUnit と混同しないでください。
  • 大規模な Selenium プロジェクトは、Eclipse の他のプロジェクトと同じように見えます。この場合、特にQCを使用すると、QTPの方が優れています。
  • Java はデータ構造に優れており、VBScript とは異なり、完全な OO 言語です。

QTP は次の場合に適しています。

  • QC との統合が必要です。直接的なサポートはありません 継続的な統合。
  • QTP を使用すると、大規模なインフラストラクチャ プロジェクトがすっきりと見えます。QTP には、設計によってコードから分離された Web 層の説明があります (スクリプトで使用される要素の html 属性を含む GUI ファイル)。すべてのライブラリ ファイルは QC に保存され、テスト データは Excel ファイルに保存されます (ベスト プラクティスによる)。
  • VBScript は Windows で優れています。QTP API を使用すると、Win API への強力なアクセスと HTML DOM への直接アクセスが可能になります。
  • QTP は 5 年前から古いコードをサポートしており、はい、カスタマー サポートがあります。
  • 市場投入までの時間は、Selenium よりも短くなります。xpath またはテキストでリンクをクリックする必要がある場合は、フォーラムを検索する必要はありません。クリックするだけです。また、チェックポイントなどの形での追加機能

さまざまなブラウザーに対する自動化テスト スクリプトの開発を開始する前に、よく考えてください。GUI の欠陥に関して言えば、自動化は不十分です。そして、ほとんどすべてのブラウザー固有の欠陥は、スタイリング、レイアウト (GUI) です。機能上の欠陥、誤った値が表示される、または機能しないコントロールは、1 つのプラットフォームで識別できる機能上の欠陥です。

于 2013-10-07T21:29:30.730 に答える