.netテクノロジを使用して作成されたアプリケーション/製品があります。この製品には、Web API(アプリケーションサーバー上のSOAP)を使用してDBに接続するGUIがあります。テストの大部分はDB内の値に対して実行されますが、その他はユーザビリティ、パフォーマンスなどに分類される可能性があります。したがって、実行されるテストの60〜70%は、DB内の値が正しく表示されているかどうかを確認するためのものです。 GUIで、他の人はGUIが要件仕様で希望どおりに機能しているかどうかをテストします。
テストのもう1つの側面は、DBとGUIの両方を使用してバックエンドアプリケーションサーバーインターフェイスをテストすることです。これにより、App ServerがGUIに不正な値を送信しているのか、それとも不正な値を持つDBなのかを判断できます。
製品のUIは、追加のドロップダウンメニュー項目とこれらのメニュー項目の追加ページの形で新しい機能を追加することを除いて、あまり変わりません。
上記を考慮すると、どのフレームワークがより適切でしょうか? QTPまたはSeleniumまたはその他の商用/オープンソースツール?
(コストは大きな問題ではなく、ブラウザーの互換性やOSも問題ではありません。システムはWindows Serverにインストールされ、DBは互換性があります。)
Java + dbバックエンドと通信するフレックスUIを備えたアプリをテストするためにSeleniumを中心に構築された受け入れテスト「フレームワーク」があります。
スクリプトをJavaで記述し、junitを使用してテストを実行できるため、Seleniumを既存のテストおよび継続的インテグレーションインフラストラクチャに簡単に統合できます。これらのテストも開発者によって作成および保守されます。各テストの前に、dbunitを使用してデータベースをセットアップします。
しかし、私たちのテスト部門はQTPを採用することにしました。彼らは私たちのインフラストラクチャがSeleniumを中心に構築されていることを示しましたが、理解するのは難しいと感じました。私は彼らがテストを書きそしてそれらを維持するために専任の専任の人を持っていることを知っています。
私はあなたの正確な状況を知らないので、私はあなたに以下を考慮することを提案することができるだけです:
セレンは次の場合に最適です...
QTPは次の場合に適しています...
この 記事 もあなたを助けるかもしれません。
私がどちらを好むかは明らかだと思いますが、状況に最も適したものを決定する必要があります。
あなたの最良の選択は、GUIおよび非GUIテスト用のHPの新しいソリューションになると思います。新しいソリューションは、QTPとServiceTestの2つの製品との新しい統合です。
これら2つの統合により、ユーザーは、クロスレイヤーアプリケーションと異なるアプリケーション間の統合テストを自動化するための1つのソリューションを利用できます。
詳細については、HPサイトをご覧ください。
プログラミングライブラリ(Javaなど)の膨大な配列(しゃれは意図されていません)にアクセスできるので、私の投票はSelenium-RCを使用することです。しかし、最初のポスターのように、これには追加の学習と保守の曲線が必要です。しかし、一度セットアップすると、アプリケーションはあなたの想像力(そしてプログラミングの腕前:))によってのみ拘束されます。 Selenium-RC(Java)を使用したDB統合は簡単でした。また、サーバーの応答の測定にSeleniumを幅広く使用することができました。 QTPにも同じことをするハックがあると確信していますが、HPのサポートがあれば、最近のように、あなたの賭けはオープンソースコミュニティ(およびstackoverflow :))にあるはずです...
.Netあなたが言う?
VS2010を使用している場合、コード化されたUIは非常に優れています。長年のQTPユーザー(もちろん、より技術的な側面)として、コード化されたUIは夢でした。その存在の初期段階でさえ、非常に強力で、緊密に統合されています。 Visual Studioエコシステムを使用できる場合は、強くお勧めします。あなたはについて読むことができます ここ
私の経験がより制限されているもう1つのツールですが、良いことを聞いたことがあります( specflow )。これは、コード化されたUIとうまく連携して、適切な方法でテストを作成および整理できます。
とにかくあなたに考える何かを与えるかもしれません!
これについての私の見解-
セレンは次の場合に最適です...
QTPは...の場合に適しています。
さまざまなブラウザに対して自動化テストスクリプトの開発を開始する前に、よく考えてください。 GUIの欠陥に関しては、自動化は不十分です。そして、ほとんどすべてのブラウザ固有の欠陥は、スタイリング、レイアウト(GUI)です。機能上の欠陥の値が正しく表示されない、またはコントロールが機能しない場合は、1つのプラットフォームで識別できる機能上の欠陥です。