【Web自動テスト】入門01 - フレームワークの紹介

まず、目的

ソフトウェア自動テストの分野で避けられない「ホットポテト」として、Web 自動テストは通常​​、テスト実務者の間で学習するための最初の選択肢となります。C/S アーキテクチャの自動化と比較すると、B/S には独自の制限があります。多くの利点があります。業界の発展傾向、研究開発モデルの特性、テストツールのサポートなどの要素は無視されており、その全体的な完全なエコシステムは C/S アーキテクチャのテスト値をはるかに上回っています。それでは、Web 自動テストの過去と現在について詳しく話しましょう。

2. 説明

この記事で使用する技術スタックは Selenium+Python です。プログラミングは難しくないため、全体的なアイデアはオブジェクト指向プログラミングの概念に基づいています。そのため、コーディング言語の基礎が脆弱でなければ、完全に置き換えることができます。 。

3. 手動テストと自動テストの違い

Web 自動テストを正式に導入する前に、まず手動テストと自動テストの違いと認識について説明します。専門学生やテスト業界に入ったばかりの学生の多くは、このことを理解していると思いますが、自動テストは手動テストに比べて技術的な内容が高く、給与も高く、代替性も低いです。ブロガーはこの見解について半々しか言えませんが、実際の実務経験や実際のプロジェクト経験が少ない学生の場合は、たとえ自動化の方が高度な技術的な内容であっても、手動テストから始めることをお勧めします。詳細には触れませんが、誰にとっても最も現実的なのは、コアの競争力です。では、テストの場合、テストのコアの競争力とは何でしょうか? 仕事!それはビジネスに違いありませんが、なぜビジネスなのでしょうか?

高い技術スキルはあるものの、ビジネス スキルが平均的である場合、たとえ非常に効率的なコードを作成できたとしても、製品やプロジェクトのビジネスに近づくことはできず、たとえ作成したスクリプトやフレームワークも役に立たないことを想像してください。ビジネスを理解している他の同僚にレビューや修正を手伝ってもらう必要がありますが、一方で、ビジネスを深く理解し、製品の機能と設計をよく理解していれば、両方のテスト ケース設計で成功するでしょう。他の人が検出できない製品の問題、欠陥、さらには設計シナリオの抜け穴さえも発見します。コーディングは、多くの練習を通じて磨くことができる難しいスキルですが、ビジネスでは理解するだけでなく、より頻繁に拡張と革新が必要です。なぜテストは全社で製品やプロジェクトを理解している人が行うべきと言われるのか? それは、その機能の使い方やビジネスシナリオのマッチング、要件のペインポイントを誰よりも理解しているからです。これは、プロダクトマネージャーの理解をさらに超える必要があります。したがって、企業内でテストがどこまで進められるかを決定するのは決してテクノロジーではなく、ビジネスです。

上記の観点から両者の違いは何かというと、手動テストで良い仕事をするためには、 1. ビジネス理解力 2. 論理的思考力 3. コミュニケーション能力 4. 基礎テスト の 4 点を満たす必要があります。これら 4 つの点から、あなたのマニュアルテスト能力は間違いなく低いと言えます。自動化でうまく機能するには、上記の 4 つのポイントを達成することに加えて、コーディング能力、考え方の変更、フレームワーク設計などの能力を向上させる必要もあります。自動化と手動作業の違いは、実装と実行の方法が異なるだけでなく、段階的なプロセスも異なることがわかります。したがって、ブロガーは、自動化したい場合は、手動のビジネス テストから始めるのが最善であると依然として推奨しています。

4. フレームワークの選択

Web 自動テスト フレームワークと言えば、QTP、Selenium、AutoRunner、Robot Framework、watir、RFT など、すでに多くの成熟したテスト フレームワークが市場に存在しています。

QTP は比較的古い自動テスト フレームワークです。2012 年以前はまだ多くのチームや企業が使用していました。スクリプトは比較的シンプルで理解しやすいですが、その一方で制限も比較的大きいです。言語は VBS のみをサポートしています。コストが高く、フレームワークのオブジェクト サポートは十分な柔軟性がありません。

Selenium は、依然として最も主流の Web 自動テスト フレームワークの 1 つです。無料でオープン ソースであり、クロスプラットフォームをサポートしています。重要なのは、テストをブラウザで直接実行して、ユーザーの実際の操作をシミュレートできることです。


AutoRunner は、豊富な技術フレームワークをサポートし、スクリプト言語として Java を使用し、比較的完全なエコシステムをサポートし、キーワード リマインダー、キーワード ハイライト、およびキーワード ドライバーを使用します。同期ポイント、チェックポイント、パラメータ化、およびデータ駆動型パラメータ化をサポートします。機能テスト、回帰テスト、システムテスト、構築テストなどに使用するのがより適しています。


Robot Framework は、Python、キーワード駆動、データ駆動、およびカスタム キーワードをサポートしています。フレームワーク内のテスト ケースはさまざまな形式で記述でき、テスト レポートは自動的に生成されます。次のようなサードパーティ ライブラリのサポートは必要ありません。他のソフトウェア。


Watir は、スクリプト言語として Ruby を使用し、複数のクロスプラットフォーム ブラウザーをサポートできるようになりました。オープンソース フレームワークとして、Watir には、スクリプトを記録できないことや、js をバウンスする機能など、Selenium と比較して多くの制限と欠点があります。Boxサポートがあまり親切ではない等。


RFT は IBM によって開始されました。これは Web 自動化テストに使用されるフレームワークであるだけでなく、HTML、Java、Windows、.NET、Visual Basic、Silverlight、Eclipse、Siebel、Flex、Ajax、Dojo、GEF、および PowerBuilder アプリケーションもテストできます。ただし、オープンソースではなく、有料で、サポートされているオブジェクトライブラリも多くないため、学習用に使用するのには適しています。


では、これらのさまざまなフレームワークの中から自分に合ったテストフレームワークを選択するにはどうすればよいでしょうか? まずは自分の能力、得意なコーディング言語は何か、さらにはコーディングの基礎があるかどうかを評価するという 2 つのポイントから始めます。上記フレームワークの特性を考慮すると、例えばコーディング能力のない人はスクリプト記録機能を備えたフレームワークを優先したり、例えばJavaが得意な人はJavaサポートが充実したフレームワークを選択したりすることができる。もう 1 つは、独自のテスト オブジェクト (製品またはプロジェクト)、テスト オブジェクトの実装にどのような種類のテクノロジ スタックが使用されているか、ページの変更や反復の頻度と規模などを評価することです。上記 2 つの側面に基づいて選択基準を評価できれば、プロジェクトや製品に合った自動テスト フレームワークを選択できる可能性が高くなります。

5. Selenium の仕組み

Selenium の動作原理を詳しく説明する前に、簡単な動作原理図を見てみましょう:

写真のクライアントは、実際には Python を使用して作成したソース コードです。Selenium にはグラフィカル インターフェイスがないため、以下だけを見ていきます。これは、ソース コードを使用して実装する Selenium ビジネス関数になる可能性があります。

ドライバーはウェブドライバーですが、ソースコードはブラウザーに対応する操作を直接指示することができないことを誰もが知っているはずです。コードは、提供された API を介してブラウザとの通信セッションを確立する必要があります。このセッションにより、スクリプトはブラウザを駆動して、テストに必要な特定のビジネス オペレーションを実行できます。

ブラウザは、最終的に業務を表現するためのインターフェースオブジェクトですが、Seleniumの特徴は、ブラウザ上で直接操作して、ユーザーの実際の業務行為をシミュレートできることです。コードによってシミュレートされた http リクエストを受信した後、ブラウザーはそれを解析し、ブラウザー インターフェイスでビジネスに必要な特定の操作 (アクション) を実装し、リクエストに応答し、操作が成功したかどうかをリクエスターに通知します。

要約すると、全体的なプロセスは、作成したコード スクリプトが Selenium を呼び出し、Selenium が特定の API を呼び出してブラウザ上でビジネス オペレーションを実行し、ブラウザはビジネス オペレーションの結果をスクリプトまたは IDE に通知します。

最後に、私の学習教材の一部を共有したいと思います:

上記のコンテンツは、ソフトウェア テストの友人にとって最も包括的で完全な準備倉庫となるはずです。各モジュールをより適切に整理するために、多くの高品質のブログ投稿も参照しました。インターネット上でのプロジェクトやプロジェクトで、すべての知識ポイントを見逃さないように努めています。多くの友人がこれらのコンテンツを参考にしてレビューし、BATJ などの大手メーカーからオファーを獲得しました。この倉庫は多くのソフトウェア テスト学習者にも役立ちました。あなたにもお役に立てれば幸いです。 . .

以下の WeChat 公式アカウントをフォローして無料で入手してください! ↓ ↓ ↓ ↓ ↓

おすすめ

転載: blog.csdn.net/weixin_56331124/article/details/132667513