100日で4kの昇給、機能テストから自動テストまで、3000語の超充実学習ガイドをまとめてみました

昨年 6 月, 経済的圧力により, 自動テストを進めることにしました. 私は 24 歳で 3 年間機能テストを行ってきました. 広州の給料は 8,000 に固定されています. 住んでいるからかもしれません.気持ちよすぎて、給料8000円で十分だと思います. でも人生は常に変化しています. 彼女の突然の妊娠は私の肩に多くの負担をかけます, しかし、私の給料, 家賃, 光熱費, 等は、生活のために不十分なようです.妊娠の経済的費用. 私にできる唯一のことは、自分の収入を改善することです. 給料, ここ数年のソフトウェアテスト業界では, まだ業界の見通しをある程度理解しており, 最終的に高度な自動テストエンジニアを選びました.仕事は結局報われる. 数日前, 成功したジョブホッピングの給料は、私がいくつかの社会的エリートに行ったほど良くはありませんが、最高の12kに達しました, しかし、私も満足しています. この会議の後, 私はまた、私の給料はここで止まることはないと信じています. ナンセンスな話をせずに、私の学習方法を共有します. 少し助けて...

この記事では、1. 自動テストとは? 2. 自動テストは機能テストよりも優れている点は? 3. 自動テストの習得方法の
3 つの側面から紹介します。


1. 自動テストとは?

一般に、インターフェース自動化テスト、WebUI 自動化テスト、アプリ自動化テストなどのテスト ソリューションは自動化と呼ばれていると考えられています。実際、自動テストは手動に比べて相対的なものです。コードまたはサードパーティ ツールを使用して、複雑なテスト作業を手動から機械による自動実行に変換することを、まとめて自動テストと呼ぶことができます。上記の自動テストの 3 つの側面に加えて、もちろん、ログのフィルタリング、ログの再生、インターフェイスの監視、サービスの監視なども含まれます。特定のビジネス ニーズに応じて、コードによってマンパワーを解放します。

2. 機能テストと比較した自動テストの利点は何ですか?

1. 給与に疑いの余地はない 自動テストの給与は、機能テストの給与よりもはるかに高い (お金は幸せの源です)

2. 回帰テストの方が便利:
回帰テストの場合、システムのすべての機能モジュールをテストする必要があります. サイクルの長い回帰テストは、負荷が高く、テストが頻繁に行われるため、自動テストに適しています. テスト スクリプトとユース ケースが適切に設計されており、テストの期待される結果が期待できるため、回帰テストを自動化することで効率が大幅に向上し、回帰時間が短縮されます。

3. 実際の状況をシミュレートする:
システム上の何千ものユーザーの負荷を同時にテストするなど、手動テストでは実行できないテストを実行でき、テスターはテストの目的を達成できませんが、自動テスト ツールを使用すると、複数のユーザーの同時プロセスをシミュレートします。

4. 人的資源と物的資源の有効活用:
自動化されたテストで頻繁に機械化されたアクションを実行して、エラーを減らし、人的資源をより有効に活用できます。

5. テストの再利用:
通常、自動テストでは自動化されたスクリプト テクノロジが使用されるため、ほとんどまたはまったく変更を加えることなく、さまざまなテスト プロセスで同じユース ケースを使用できます。

6. ヒューマン エラーの削減:
自動化されたテストは機械によって行われ、実行プロセスに人間の過失やエラーはなく、テスト デザインはテストの品質を完全に決定し、ヒューマン エラーを削減できます。

3. 自動テストの学習方法

自動構成:

自動テストは現在の市場で広く使用されており、主流にはインターフェイス自動テストUI 自動テストが含まれます。これに基づいて、継続的インテグレーションと組み合わせることで、完全に自動化されたテストを実現できます。次に、自動化の 3 つの主要コンポーネントに従って、自動化の詳細な紹介を行います(記事の最後にある著者の研究ノートを共有します)。

1. インターフェイス自動化テスト
2. UI 自動化テスト
3. 継続的統合

1. インターフェイス自動テスト

現在、市場に出回っているプロジェクトのほとんどは、フロント エンドとリア エンドが分離されたプロジェクトであり、多数のインターフェイスが存在します。インターフェイス自動化テストは、主にインターフェイスをテストすることです。

では、インターフェイスの自動化テストはどのように実施すればよいのでしょうか? ここでのこれらの知識ポイントとツールを習得する必要があります。

1. HTTP および HTTPS プロトコル

メインプロセスのインターフェーステストでは、HTTPプロトコルをベースに多数のインターフェースが実装されており、データのセキュリティはHTTPSプロトコルによって保証されているため、HTTPおよびHTTPSプロトコルを使いこなす必要があります。

2. インターフェース文書

実際の作業では、コードとは別に、インターフェイスの情報媒体はインターフェイス ドキュメント (開発者が提供) であり、インターフェイス ドキュメントの構造、内容、および仕様を理解することは、インターフェイス テストおよびインターフェイス自動化テストに深く参加するのに役立ちます。

3. インターフェイス テスト ツール Jmeter および Postman

Meterは近年登場したインターフェーステストツールで、フリーかつオープンソースであり、習得しやすいことが最大の特徴です。

Jmeter 公式ウェブサイト: https://jmeter.apache.org/index.html

Postman ツールも非常に強力で、実際のプロジェクト アプリケーションでは、ほぼすべての開発で Postman を使用してインターフェイス リクエストをデバッグします。

Postman のメイン インターフェイス

公式ウェブサイトのドキュメント

4.模擬試験

自動テストでは、すべての機能が自動テストに適しているわけではなく、一部の難しいテスト ポイントについては、モック テクノロジを使用してシミュレートする必要があります。

  • ログインおよび登録インターフェースのパスワードのモック
  • 模擬決済環境
  • 模擬支払いパスワード
  • 模擬認証コード(写真認証コード、スライダー認証コード、顔認証、SMS認証コードなど)

5. まとめ

これらの知識ポイントを習得した後、HTTP プロトコルのインターフェイス自動化テストを完全に把握して適用することができ、小規模なインターフェイス パフォーマンス テストを実施することもできます。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙,可以免费学习!划重点!开源的!!!
qq群号:110685036

2. UI 自動化テスト

UI 自動化テストのコストがインターフェイス テストのコストよりも高い. 主な理由は、技術的な実装が難しいことではなく、UI がユーザーをドッキングするための端末インターフェイスであるためです. 最も頻繁に調整され、最も劇的に変更された部分です.だから維持費が高い。

では、UI 自動化テストを行う必要はありませんか? 逆に、一部の大規模プロジェクトでは、その機能は常に反復的であり、インターフェースは調整されていますが、プロジェクト サイクルが長いため、開発およびテスト プロセス中に、回帰テスト用の自動テスト スクリプトを頻繁に使用する必要があります。 、自動化されたテストを改善することができます. 稼働率, 作業効率を向上させ、作業コストを削減します.

さらに、UI 自動化テストには、UI 自動化テスト スクリプトの開発と保守の問題を解決するために特別に使用される「キーワード駆動型」テストと呼ばれる重要なアイデアがあります。

では、UI 自動化テストを学ぶにはどうすればよいでしょうか。

ここでは、まず Web 自動化テストを学び、次にアプリ自動化テストを学びます。

1. Web 自動テスト

ここでは、Selenium ツールと Robot フレームワークをお勧めします

推奨される理由: Selenium と Robot フレームワークは、世界でトップ 10 の自動テスト ツールです (UI 自動化とインターフェイス自動化の区別はありません)。

下の図に示すように、2019 年に最も人気のある自動テスト ツール: (Selenium がリストのトップ)

1.1 セレン

Selenium は主に Web 自動化テスト用ですが、モバイル APP 自動化テストでは、いくつかのテスト フレームワークも Selenium に基づいて実装されています。Web テストを自動化したい場合は、selenium を学習することが最良の選択です。

アドバンテージ

  • クロスプラットフォーム、クロス言語
  • 複数のブラウザをサポート
  • モバイルテストをサポート
  • 多くのプラグイン、強力なスケーラビリティ

欠点

  • テスト レポートを直接生成できません
  • 動画を認識できない

Selenium をマスターしたら、主流の Web 自動化テストをマスターします。

セレンを学ぶ方法

  • 最初にマニュアル機能テストをマスターし、テストの機能ビジネスを理解する
  • そしてHTML、CSS、JSの三大知識を学ぶ
  • 3 番目の学習用 Selenium テスト フレームワーク
  • 最後に、PO階層化管理の考え方を学びます

1.2 ロボットフレームワーク

Robot Framework は、Python 言語で記述された機能自動化テスト ツールです。スケーラビリティが高く、キーワード駆動をサポートし、複数のタイプのクライアントまたはインターフェイスの同時テストをサポートし、分散テストも実行できます。

アドバンテージ

  • キーワード駆動テスト
  • 再利用可能
  • 展開しやすい
  • HTMLテストレポートをサポート
  • サポートを提供する巨大なテスト ライブラリがあります (サポート Web、携帯電話、Windows クライアント、データベース、HTTP テストなど)。

欠点

  • インターフェイス操作の一般的な問題: ユースケースが巨大な場合、非常に行き詰まる
  • テストライブラリのインポート時にフリーズするなどのバグがあります

Robot Frameworkの使い方を学び、キーワード駆動型の技術を習得。

キーワード主導:

ロボットフレームワークの学び方

1.3 まとめ

Selenium と Robot フレームワークの両方をマスターできれば、それが主流の Web 自動化テストであろうと、他の UI 自動化テストであろうと、独自の経験を持ち、市場で地位を占めることができます。

2 アプリの自動テスト

2.1 どのツールを選ぶべきですか?

最初に一連のデータ (主流) を見てみましょう。

対応機能データ(TesterHomeで取得)

上記の 2 つの図から、Appium は他のツールよりも市場の活用と機能の点で優れていることがわかります。

さらに、Appium は Android だけでなく iOS もサポートしているため、ここでは、市場のニーズに最も適合するように Appium を学習することを選択する必要があります。

2.2 Appium の学習方法

公式サイト: http: //appium.io/

中国語学習マニュアル:: https://www.kancloud.cn/testerhome/appium_docs_cn/2001595

3. 継続的インテグレーション

1. 継続的インテグレーションとは?

シナリオを想像してみましょう. テスト エンジニアはすべての自動化スクリプトを作成しましたが、このボスは毎日出勤して [開始] をクリックしてスクリプトを実行する必要があります。開発者が新しいバージョンを提出すると、自動化スクリプトも再実行する必要があります。

では、この自動化されたスクリプトを自動的に実行し、開発の各リリース後に自動的に実行することはできますか? もちろん、これは継続的インテグレーションです。

継続的インテグレーションを学習するには、最初にjenkins をお勧めします

2. 継続的インテグレーション ツール Jenkins とは何ですか?

JenkinsツールはJAVAで書かれたオープンソースのツールで、スケーラビリティや実用性に優れており、継続的インテグレーションにJenkinsを利用している中小企業も多く、大企業の中にはJenkinsをベースに二次開発を行っているところもあります。

3.ジェンキンスの学び方

  • CI と CD の概念を理解する

    CI: 継続的インテグレーション (複数の開発者が書いたコードをコード ウェアハウスに統合し、ユニット テストを自動的に実行して結果を返す)
    CD: 継続的デリバリー (統合されたコードを自動的にビルド、デプロイ、テストし、パブリッシュし、各ステージの結果を返します)
  • これらのプロセスを実装するには、学習を分割する必要があります
    • 統合コード
    • 単体テスト
    • ビルドコード
    • コードをデプロイする
    • テストコード
    • リリースコード
    • テスト結果の送信
    • Jenkins を使用してこれらのプロセスを統合する

継続的インテグレーションをうまく学ぶためには、Jenkins だけに頼るだけでは不十分で、アーキテクチャの設計、開発、テスト、運用保守まで深く掘り下げる必要があります。

4.まとめ

実際、自動テストは非常に幅広い技術であり、他の業界で習熟したい場合は、少なくとも 5 年間の学習が必要であり、一定のレベルまで習熟する必要があり、テクニカル ディレクターになることさえ不可能ではありません。

テストの場合、テストの作業は実際には比較的簡単で、技術的な難易度は特に高くないため、テスト期間中、誰もが進歩し、自分の価値を実現するために、継続的に学び、統合し続ける必要があります。

END 貧弱な力

最後に, 私の記事を注意深く読んでくれたすべての人に感謝したいと思います. ファンの成長と注目をずっと見ていると, 相互主義は常に必要です. それほど価値のあるものではありませんが, もしあなたがそれが必要:

これらの資料は、[ソフトウェア テスト] の友人のための最も包括的で完全な準備倉庫である必要があります. この倉庫はまた、最も困難な旅を通して何万人ものテスト エンジニアに同行しています. それがあなたにも役立つことを願っています!

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

ソフトウェア テスト インタビュー アプレット

何百万人もの人々がソフトウェアのテスト問題バンクを使い果たしました! ! ! 誰が誰だ!! ! ネットワーク全体で最も包括的なクイズ ミニ プログラムです。携帯電話を使用して、地下鉄やバスでクイズを行うことができます。

次のインタビューの質問セクションが含まれます。

1.ソフトウェアテストの基礎理論、2.Web、アプリ、インタフェース機能テスト、3.ネットワーク、4.データベース、5.Linux

6. ウェブ、アプリ、インターフェイスの自動化、7. パフォーマンス テスト、8. プログラミングの基礎、9. 時間面接の質問、10. 公開テストの質問、11. セキュリティ テスト、12. コンピュータの基礎

取得方法:

おすすめ

転載: blog.csdn.net/jiangjunsss/article/details/130549181