内容:ガイド
序文
Selenium4 自動テスト: https://www.bilibili.com/video/BV1MS4y1W79K/
一般的に使用される Selenium 自動テスト サポート フレームワーク:
Python+selenium4+pytest+POM+allure+Jenkins。
テクノロジーが進歩し、人によるテストが Selenium の自動テストに移行するにつれて、テスト ソリューションはこれまで以上に拡張性が高くなります。
ただし、ほとんどのチームの前にはもう 1 つ山があります。それは、並列テストのスケーラビリティです。多くの企業は依然として、品質保証を提供するために逐次テスト方法を使用していますが、これには多くの時間、リソース、労力がかかります。
並列テストとは何ですか?
Selenium の並列テストは、異なる環境で同じテストを同時に実行するプロセスです。テストを並行して実行する主な目的は、Selenium Grid を使用して高品質の製品を確保しながら、全体の時間を短縮してテストの効率を向上させることです。順次実行シナリオをテストしてみましょう。
フォーム送信の機能をテストする必要があり、そのフォーム用の自動テスト スクリプトを作成したとします。
このテストを 60 の異なるブラウザーと OS の組み合わせで実行すると、1 つのテストが 1 分で実行されると仮定すると、合計で 60 分、つまり 1 時間かかることになります。これは使用例の 1 つにすぎず、他のモジュールで自動化スクリプトを実行することを考えると恐ろしいです。
上記の場合、3 つの並列テストを同時に実行するとどうなるか:
合計実行時間は 60 分から 20 分に短縮されます。同様に、4 つの並行テストを実行した場合、合計時間は 15 分に短縮されるだけで、効率は 2 倍、さらに 2 倍になります。
Selenium テストを並行して実行する理由は何ですか?
1. より広いテスト範囲
テストを並行して実行すると、テスト担当者に短いスパンで幅広いテスト互換性が提供されるため、逐次テストと比較して高速なアプローチになります。
たとえば、新しい Web アプリケーションのユーザー インターフェイス機能をテストする場合、さまざまな OS とブラウザーの組み合わせでテストを繰り返し実行するのではなく、テストを並行して実行することで、すべての組み合わせを同時にテストできます。
2. テスト時間の短縮
逐次テストでは、Web アプリケーションの包括的かつ徹底した自動ブラウザ テストが実現されますが、非常に時間がかかります。一方、並列テストでは、複数のコンピューターでテストを並行して実行することで、全体のテスト時間を短縮できます。
たとえば、100 回のランタイムを実行したい場合、自動ブラウザ テストの効率を 100 倍向上させることができ、製品をより迅速に出荷できるようになります。
3. 費用対効果
逐次テストには開発、メンテナンス、およびテスト環境を最新の状態に保つ必要があり、これが全体のコストに影響を与える可能性があります。ただし、Selenium での並列テストはクラウド上で実行される自動プロセスであるため、メンテナンスは必要ありません。さらに、クラウド インフラストラクチャは常に更新されるため、更新について心配する必要はありません。
4. 継続的統合と継続的デリバリー
継続的統合と継続的デリバリーでは、機能テストを頻繁かつ迅速に実行する必要があります。また、テストを並行して実行することで、時間を節約できるだけでなく、詳細なテスト データ レポートも取得できます。開発チームは後でこれらのレポートを使用してコード内の問題を見つけ、迅速に修正して CI/CD を最適化できます。
5. 継続的テスト
可能な限り短期間で高品質の製品をリリースするための優れた方法は、継続的な統合および配信方法を使用することです。継続的なテストにはより高速なテスト サイクルが必要ですが、これは逐次的な自動ブラウザ テストでは実現できません。ただし、Selenium で並行テストを使用すると、製品をより早く市場にリリースできるため、チームはソフトウェア テストでクラウド テクノロジと仮想化を利用して、より多くのテストをより高速に実行できます。
6. 並列テストケースを処理するにはどうすればよいですか?
テストを並行して実行する最善の方法は、ブラウザ互換性テスト用に異なるプロジェクトを作成して Web アプリケーションのさまざまな部分をテストし、これらの異なるプロジェクトをテストするためのメイン プロジェクトを作成することだと考えています。一般に、Selenium には 2 つのレベルの並列テスト基準があります。1 つ目は開始レベルの条件で、2 つ目は終了条件です。
エントリーレベルの標準では、テストが正常に並行して実行される前に実行する必要がある、次のような特定のタスクが定義されています。
Selenium で並列テストを開始する前にテスト環境のセットアップが必要です。
自動ブラウザ テスト プロセスを開始する前に前提条件とシナリオを定義する必要があります。
新しいデータと古いデータは正常に移行する必要があります。
終了レベルの基準は、
新しく開発されたシステムに対してレガシー システムを実行すること、
2 つのシステム間の違いを理解すること、
同じ入力を使用して自動ブラウザ テストの全サイクルを実施すること、
レガシー システムとの比較を含む、並行テストを正常に実行するための手順を説明します。 、新しく開発されたシステムの出力を測定し、
バグが見つかった場合は開発チームに報告します。
以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。 |
1. Pythonプログラミングの入門から習得まで
2.インターフェース自動化プロジェクトの実戦
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実戦
5. 一流メーカーの再開
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8、JMeterのパフォーマンステスト
9. まとめ(最後にちょっとしたサプライズ)
今日の努力は明日の収穫だ 追求を諦めなければ夢を実現するチャンスはある 人生で最も大切なことは成功することではなく前進し続けることだ 誰もが自分の光を持っている、勇気を持って輝いてください; 誰でもすべての努力は報われます、あなたが耐えられる限り; 成功には代償が必要ですが、粘り強さは最大の勝利です。
夢を追い続けるには粘り強さが勝利の鍵です。秋は成長のチャンスであり、諦めない限り、より遠く、より高く、より速く進むことができます。自分を信じて、自分の選択を貫けば、必ず人生をより良くすることができるでしょう!
コンフォートゾーンを手放し、勇敢に前進したときにのみ、自分の無限の可能性を発見できます。失敗に圧倒されないでください、失敗は成功の母だからです。自分の能力をしっかりと信じ、勇敢に夢と成功を追求してください。があなたを手招きしています!