機能テストの進歩から、自動テストでの給与 10,000 の増加まで 3 か月で、私は気付きました...

最近、自動テスト技術を共有しているため、次のようによく尋ねられます。

機能テストを自動化したいのですが、どのように始めればよいですか? 推奨する適切なリソースはありますか?

というわけで、次は、私自身の経験をもとに、職場で自動テストをどのように行っているかについてお話します。(学習ルートとネットワークディスクのリソースは記事の最後にあります) どのようにして機能テストから自動テストに進み、3 か月で給与を上げましたか? 今日話しましょう

1. 自動テストとは

自動テストのコンセプト:

自動テストは、人間主導のテスト動作を機械実行に変換するプロセスです。通常、テストケースが設計されてレビューに合格した後、テスト担当者はテストケースに記述された手順に従って段階的にテストを実行し、実際の結果と期待される結果を比較します。簡単に言えば、自動テストとは、テスト対象のソフトウェアを単独で実行したり、ソフトウェアの機能を実行したり、他のツールを単独で実行したりして、ソフトウェアの内部と外部をチェックすることです。

自動テストには、自動化とテストの 2 つの概念が含まれます。

  • 自動化:人間の代わりにプログラム (または機械、機器など) によって、指定された目標を自動的に達成するプロセス。
  • テスト:システムが指定された要件を満たしていることを確認します。
  • 自動テスト:プログラム (または機械、機器など) を手動および自動のシステム検証に置き換えるプロセス。では、機械はどのようにして人間が何を望んでいるかを知るのでしょうか? そうですね~ポイントはプログラミング言語です。プログラミング言語の機械学習は非常に簡単で単純なので、とんでもないことです。インストールすれば、機械が学習します。幸いなことに、人間がプログラミング言語を学ぶことは特に難しいことではありません。プログラミング言語には、人間とコンピューターのコミュニケーションの架け橋があり、残りはマシンがツールを選択するのを助けることです。自動化が自動化されるように、対応するテストを実行し、対応するツールを見つけます。

簡単に言えば、自動テストの導入の理由は、ソフトウェア テスターを退屈な機械的手動テスト労働から解放し、自動テスト ツールに置き換えて、テスターがソフトウェア製品自体の品質の向上に真にエネルギーを費やすことができるようにするためです自動テストは手動テストの作業負荷を軽減できますが、手動テストを完全に置き換えることはできず、やみくもにテストの自動化を追求すると、企業の運用コストが急激に増加するだけです。

自動テストの長所と短所:

➤利点:

  • (1) テスト実行効率を向上させ、時間とコストを節約
  • (2) より重要な仕事をするために労働力を解放する。
  • (3) 再利用可能、施工は人による
  • (4) 顧客満足度の向上。
  • (5) テストチームの全体的なレベルを向上させます。
  • (6)互換性試験の工数を大幅に削減できる
  • (7) 一部のテスト作業は自動化する必要があります。

➤ 短所:

  • (1) テストスクリプトの開発に時間がかかり、サイクルが長くなる
  • (2)製品の迅速な反復、自動化スクリプトも反復し続け、時間コストが非常に高くなります
  • (3) 異なるプロジェクト間での自動化スクリプトの再利用は非常に少ない
  • (4) 短期プロジェクト製品の自動化の価値は高くない
  • (5) 自動化は、バグを見つけて 100% のカバレッジを達成するための手動テストを完全に置き換えることはできません
  • (6) 自動化は回帰テストに適しています
  • (7) 自動化された開発プロセスでは、ソフトウェア テスト チームの技術に対する要件が高くなります。

手動テストと自動テスト:

  • 手動テスト:手動テストは、テスト担当者がユース ケースを 1 つずつ実行し、テスト結果が期待どおりかどうかを観察することです. 手動テストは、一般に、(1) 時間的リソースが不足している; (2) 技術レベルが不十分であるという 2 つの理由に基づいています. このような場合、手動テストが重要な役割を果たします。手動テストでは、テストを定義し、テストを追跡することもできます。
  • 自動テスト:自動テストは、機能自動化とパフォーマンス自動化に分けられます. 前者は、テスト ツール (またはフレームワーク) を使用してテスト スクリプトを記録/記述し、ソフトウェア機能をテストし、テスト結果が正しいかどうかを検証し、マニュアルの一部を置き換えることです.テスト作業. 人件費と時間のコストを節約するという目的を達成するため. 後者はパフォーマンス ツールを使用して、システムにリクエストを送信する数千の仮想ユーザーをシミュレートし、システムの処理能力を検証します。

 

2.私の経験から、自動テストを学びたい学生への6つの提案

最初のアドバイス:まずプログラミング言語を学び、次に自動化ツールに進みます。

言語としてJavaまたはPythonを選択することができ、最初にPythonから始めて、次にJavaを始めることができます。言語を学習する過程では、テストを行っていることを忘れ、開発者として自分自身を扱い、関連するプログラミング知識を体系的に学習する必要があります。これは、言語のレベルが自動化のレベルを大きく左右するためです。

2 番目の提案: 自動化されたテスト ツールを馬車の前で学習するのではなく、優れた基礎を築く

http プロトコルを理解していなければ、loadrunner、fiddler、soapUI などのツールを理解できませんし、HTML を理解していなければ、firebug を理解できません。したがって、基礎がしっかりと築かれていれば、半分の労力で 2 倍の結果が得られます。

3 つ目の提案: 自分自身を明確に認識し、目標を定義する

率直に言って、何かを行う前に、まず自分がどれだけ持っているかを確認する必要があります.まず、現在の能力レベルを評価し、学習にどのようなリソース(エネルギー、時間、お金)を投資できるかを確認します.どのような内容を理解できるか、どの段階で大牛に頼むべきか、最終的にはますます混乱しないようにすること、第二に、自分の能力を認識した後、自分で合理的な目標を設定する必要があります。時間がかかりますか? どのレベルまで。

4 番目の提案: 適切な開始点を選択し、最も役立つ計画を設計します。

  • インターフェイスの自動化: Python+Unittest+HtmlTestRuner+Jenkins および Java+Httpclient+TestNG+Jenkins
  • Web 自動化: Python+Webdrver+HtmlTestRunner+Jenkins、Java+Webdriver+TestNG+Jenkins
  • アプリの自動化: Robotium+Java+TestNG+Jenkins、Appium+Java+TestNG+Jenkins、Appium+Python+HtmlTestRunner
  • 補助テスト スクリプト: Shell と Python に基づいて、反復作業を簡素化し、ログをフィルター処理するなど。

もちろん、これらは基本的な実装ソリューションであり、他のソリューションは最初に紹介しません。始めたばかりの場合は、言語を選択した後、インターフェースのテストから始めて、Web と APP の自動化を学ぶことをお勧めします。

5 番目の提案: 1 つのインスタンスから他のことを推測することを学ぶ

初心者は不安になりやすく、混乱しやすく、消化しにくいすべてを学びたいと思っています。多くの場所が接続され、コード構造、ユースケース管理などを類推して使用できるため、学習効率が向上するだけでなく、混乱を避けることができます。最も重要なことは、紙の上で話すのではなく、実践することです。

6 番目の提案: ツールに制限されず、オープン ソースをもっと活用する

テスト業界には多くの自動テスト ツールがありますが、大企業はオープン ソースのフレームワークとツールを使用し、独自のテスト ソリューションをカスタマイズする傾向があります。Webdriver、Appium などのオープン ソース ツールを使用して独自の自動テスト プロジェクトを構築する方法を学び、全体的な自動化の動作原理を習得して、将来的に独自のツール プラットフォームを構築する準備を整えます。いくつかのツールを使用するのと同じくらい簡単です。

自動化されたテストの最高の状態: テスト ツールを開発し、自動化されたフレームワークを設計し、他のユーザーがそれらを使用できるようにします。

3. 言語から始めて、自動テストを完了するための自動テスト学習の究極のルート

Python または Java 言語をマスターし、 Python から始めることをお勧めします

基本的な言語知識、構文、関数、モジュール、入出力、オブジェクト指向
プログラミング 、スクリプト、標準ライブラリ、マルチスレッド、サードパーティ ライブラリ、外部データ処理
ユニットテスト、pytest テスト フレームワーク、パラメータ化、データ駆動型

Web での自動テスト

Selenium のインストール、記録、
Web コントロールの処理、JavaScript スクリプト、PO モード

モバイルアプリの自動テスト

appium の使用、記録、要素の配置方法
APP コントロールの配置、インタラクション、パラメータ化 ユース ケース
appium の問題の 配置 分析、ソース コード分析、二次パッケージング

サーバー インターフェイスの自動テスト

インターフェース 自動 テスト フレームワークリクエスト
インターフェース リクエスト構築、アサーション
json/xml リクエスト、レスポンス アサーション
headcookie 処理、認証システム

エントリーから習熟度までの自動テスト

この学習ルートに従って自動テストを完全に理解すれば、月収 15 ~ 25,000 は非常に簡単で、コーディング能力があれば、引き続きテスト開発に懸命に取り組むことができます。

最後に書く:

テスト チームの中でどのようなアイデンティティーを持っていても、自動テストに対する認識がどうであれ、自動テストが好きか嫌いかに関係なく、手動テストからテスト開発のに切り替えるには、自動化は必須です。

自動テストのコストが高い、効果が低い、効率が悪いなどのネガティブなフィードバックを耳にするかもしれませんが、これは自動テストの問題ではないことを明確に認識しておく必要があります。行き来する人が決める。

私たちにできることは、自動化されたテストに直面し、適切な方法を見つけ、常に自分自身を改善することです!

 END 貧弱な力

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

これらの資料は、[自動テスト] を進めたい友人のための最も包括的で完全な準備倉庫である必要があります. この倉庫はまた、最も困難な旅を通して何万人ものテストエンジニアに同行してきました.

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

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

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

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

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

取得方法:

おすすめ

転載: blog.csdn.net/m0_58026506/article/details/130322855