勤続3年、月収2万弱、新卒採用が心配!インターネットの急速な発展に伴い、従業員の適者生存が加速しています。年は境界線です。人の能力や体力が足りなければ淘汰される。いきいきとしたワークライフは、多くの人を不安にさせます。
最近、211学部生のテストエンジニアが不安を口にした。数年で, 彼の技術はあまり改善されていません, しかし、彼はいくつかのフレームワークに精通しています. テストドキュメントを書く能力を除いて, 彼は自動テストに実際に触れたことはありません. 新卒なら誰でも私に取って代わることができると思います.アリさん発行の年末年始 高額賞金をもらった時はとても不安でした.30歳になって恥ずかしくないように、あと5年はどうしたらいいのかわかりませんでした.
実際、多くの友人が同じ気持ちを持ち、このような状況を経験していると思いますが、現状を変えることは非常に困難です。しかし、多くのことは、人々が明らかにしようと努力しなければ、現状を変えることはできません。それらを変更できるかどうかはどうすればわかりますか?正しい方向を見つけ、それに向かって努力することは不可能ではありません。では、プログラマーは何ができるでしょうか。
まず第一に、自動テストはどのようにして.
JavaやPythonをベースにしたプログラミング言語をマスターする必要があり、自動テストを行う言語は何でも構いませんが、やはりこの2つが主流です。自動テスト エンジニアの中でも自動テスト エンジニアの 1 人だと思いますが、やはり Python 言語を選択することを強くお勧めします。Python 言語は、弱いプログラミングの基礎に非常にやさしく、学習しやすい言語です。
プログラミング言語は自動化の中核であり、プログラミングの方法を知らなければ意味がありません。次に、主流のテスト フレームワークといくつかの補助ツールについて知る必要があります。
主流のフレームワークは、selenium、appium、monkey、monkeyrunner などに過ぎず、基本的には、これらのいくつかの APP と UI の自動化をマスターしてから操作できます。
第二に、パフォーマンス テスト パフォーマンス テストで良い仕事をするための最も重要な前提条件の 1 つは、テスト対象の製品のシステム アーキテクチャを理解し、システム全体のデータ フローと相互作用を習得することです。このようにして、分析することができます。システムのプレッシャー ポイントを把握し、パフォーマンス テストの計画を立てる必要があります。そうしないと、強力なパフォーマンス テスト ツールがテストの目的を達成できない可能性があります。
次に、パフォーマンス テスト ツールを選択します。ここでは、次のようなオープン ソースのパフォーマンス テスト ツールを分析することをお勧めします。これらのツールの実装原理を習得することは、後でテストの目的を達成するためにツールを最適化するのに非常に役立ちます。単純にロードランナーの記録再生や結果分析ができると思っているのではなく、性能テストの達人なので、自分に対する要求が低すぎるとしか言いようがありません。
実践、分析、検証、実践を繰り返すことで、いつの日かこの分野のパフォーマンス テストの専門家およびテストの専門家になることができます。他の人に頼らなければならないかもしれません(大きな牛の地位とは一致しません)。
ソフトウェア テスト エンジニアとして、すぐに優れたテスト開発マスターまたはパフォーマンス テスト マスターになるには、どれだけ努力すればよいか、またはソフトウェア テスト エンジニアとしてどのような知識体系を習得する必要があるか。これは、現場に足を踏み入れたばかりのソフトウェアテストエンジニアだけでなく、3年から5年働いて混乱し始めたエンジニアも、問題に直面し、理解する必要があります。
1. ソフトウェア テストの基本的な理論的知識:
- ソフトウェアテストの理論的知識は、テスト作業を実行するための理論的基礎とサポートであり、テストの非常に重要な段階で習得する必要があるスキルです。
- ソフトウェア品質モデル: ソフトウェアのテスト プロセスはソフトウェアの品質を保証し、品質モデルからどのような側面から考え始めることができるか
- テストの分類: ソフトウェアのテスト プロセスは、基本的なテストから高度なテストまで、さまざまな角度から分類できます。
- 開発プロセス: テスターに、ソフトウェアの完全なライフサイクル、つまりソフトウェアがゼロから死ぬまでのプロセスを伝えます。
- テスト プロセス: 実際のプロジェクトでテスト作業を実行する方法をマスターし、テスターをガイドします。これには、テスターが一般的な主流のテスト プロセスを完全に理解している必要があります。さまざまなソフトウェア プロジェクトに遭遇し、ソフトウェアの欠陥を最も効率的にテストする場所を知る
- テスト計画とスキーム: プロジェクトでテスト活動を計画および実行して、テスト活動が秩序ある方法で確実に実行されるようにする方法
- ユース ケースの設計方法: ブラック ボックス テスト フェーズでマスターする必要があるいくつかのテスト ケースの設計方法。たとえば、ブラックボックス テスト ケース、テスト ケース要素などの設計方法。
- ソフトウェアの欠陥: テストの実行中に欠陥を特定して報告する必要があります。
- 欠陥管理: 欠陥を提出した後、実際の作業で提出物を検証するという問題に対処するために開発を支援する方法。例: バグ レベルの優先度分類、バグの説明、バグのライフ サイクル、Zen Tao などの欠陥管理ツールの使用など。
- テスト レポート: テスト プロセスをレビューして結果を確認し、体系的な専門的なソフトウェア テスト評価レポートを生成します。
第二に、ソフトウェア テスト スキル - Linux システム
Linux システムは、サーバーの主要なオペレーティング システムであり、IT 職に従事するほとんどの担当者が所有しなければならない基本的なテクノロジの 1 つでもあります。
- Linux システムの基本的な知識: マルチユーザー、マルチタスク、リリース バージョンなど。
- 一般的な Linux 操作コマンド: ログの表示、ファイルの圧縮、解凍、ユーザー管理、ファイルのアクセス許可など。
- 基本的なアプリケーション jdk、mysql、tomcat をデプロイおよび構成できます
- docker のインストールと使用
- 基本的なシェル RAD スクリプトを作成する
- リモート ターミナル ツールの使用: シェル、xftps など
3、ソフトウェア テスト スキル - SQL データベース
ソフトウェアシステムに必要なアプリケーションシステムとして、データベースは多くの場合、インターフェイステスト、パフォーマンステストなどのプロセスでデータベースを操作して、データの正確性と完全性を検証する必要があります。これらはすべて、追加の操作と切り離せません。 、データベースの削除、変更、およびチェックプロジェクトの展開段階では、データベースはまだプロジェクトの展開に協力する必要があります。パフォーマンス テストとインターフェイス自動化テストでは、データベースのサポートが必要です。
- データベースの基本概念
- リレーショナル データベース
- MYSQL基本追加・修正クエリ文、ストアドプロシージャ
- MYSQL 複合クエリ、複数テーブル クエリ
- MYSQL インデックスとトランザクション関連の概念
- データベース クライアント ツールの使用: Navicat など
4、ソフトウェア テスト スキル - プログラミング言語
プログラミング言語はPythonから始めて、補助的にJava言語を学ぶのがおすすめで、主要な求人サイトを調べてみると、基本的にこの2言語がメインです。プログラミングの基礎がない友達は、まずPython言語を学ぶことができます
Python 言語の学習コンテンツには、次の知識ポイントが含まれます。
- Python の基礎: Python 言語の機能、動作環境、基本的な文法、コード スタイル、サンプル プログラム
- データ構造:基本データ構造:数値、文字列、型判定、型変換、スライス、文字列整形、数値演算、位置パラメータ、キーワードパラメータ 結合データ構造:リスト、タプル、レンジ、ディクショナリ、セット、ハッシュ不可オブジェクト、アンパック、メモリ データ構造アドレス、不変データ
- プログラム制御:シーケンス構造、ループ構造、判定構造、例外処理、論理演算子
- 関数: 関数、関数パラメーター、戻り値、変数スコープ、無名関数、一般的に使用される組み込み関数の定義
- モジュールとライブラリ: モジュールとパッケージ、インポート キーワード、共通標準ライブラリ、共通サードパーティ ライブラリ、パッケージ管理ツール pip
- オブジェクト指向: オブジェクト指向の起源と利点、オブジェクト指向の特性クラスとオブジェクトの間の接続、およびオブジェクトの特殊メソッド
- ロギング: baseConfig、ファイル ログ、メール ログ、カスタム形式、組み込みプレースホルダー、レベル フィルタリング、レベル伝達、構成ファイル
- テスト フレームワーク: unitest、pytest など。
- 並行プログラミング: マルチプロセス、マルチスレッド、コルーチン、スレッド プール、同期制御、スレッド通信、分散、モンキー パッチ、非同期構文、ジェネレータ
- ネットワークプログラミング: ソケットプログラミングの基礎、TCP サーバーとクライアント、並列リクエスト処理、HTTP サーバーとクライアント
五、高度なソフトウェア テスト自動化 - インターフェイス テスト
インターフェイス テストの本質は、一種の機能テストでもあり、スクリプトまたはツールを使用して、シミュレートされたクライアントがサーバー インターフェイスを呼び出します。インターフェース層からテストするため、問題を早期に発見できるため、テスト効率が向上し、修理コストが削減されます。
- http/httpst プロトコルの学習
- 一般的なリクエスト メソッドの学習: GET、POST
- クッキーとセッションの学習
- インターフェイスの基本概念
- インターフェイス ドキュメントの理解
- インターフェイス テスト ケースの作成
- インターフェイス テスト ツールの使用: postman、Jmeter、SoapUl
6. 高度なソフトウェア テストの自動化 - パフォーマンス テスト
パフォーマンス テストの技術的要件は非常に高く、パフォーマンス テストの指標、テストの分類、およびテストの設計についての深い理解が必要になるだけではありません。また、パフォーマンス シナリオをより適切に設計できるように、システム ビジネスとアーキテクチャについても学ぶ必要があります。
- パフォーマンスの基本概念: パフォーマンス テストの意味、一般的なパフォーマンス指標の理解、パフォーマンス テストの分類
- パフォーマンス テスト プロセス: パフォーマンス要件の分析、パフォーマンス シナリオの設計、テスト スクリプトの作成、テスト実行リソースの監視、パフォーマンス チューニング、回帰テスト
- Jmeter とロードランナーの使用
- パフォーマンス テスト レポートの出力
7、高度なソフトウェア テストの自動化 - Web 自動化
自動化の目的を理解し、TestNG&unittest 自動化フレームワークをマスターし、アサーションとログ処理を行います。テストを行う学生は、Web 自動化に主に Selenium または QTP を使用していることを知っています。ここでは、Selenium の Web 自動化環境の構築、正しいブラウザー構成をマスターする必要があります。
8、高度なソフトウェア テストの自動化 - アプリの自動化
モバイル端末を通じてサービスを提供するプロジェクトやシステムがますます増えており、モバイル端末のソフトウェア品質がますます重要になってきており、アプリの自動テストは自動テストの重要な部分になっています。Appium の助けを借りて、アプリ自動化テストと Web 自動化テストの間には多くの類似点がありますが、テスト エンジニアとして、モバイル アプリケーションのツールと機能をマスターする必要があります。
- Appium モバイルテスト環境構築:Appium Server Appium and Desktop、Android 動作環境構築、エミュレータインストールと接続、実機デバッグモード、adb、weditor、・・・UiAutomator22、Monkey
- Appium 要素の配置: ネイティブ アプリケーション要素の配置、純粋な Web アプリケーション要素の配置、ハイブリッド アプリケーション要素の配置
- Appium 要素の相互作用: 要素の読み込みの待機、要素の基本的なプロパティとメソッド、スライド、ドラッグ、ズーム操作、ドロップダウン選択操作、トースト メッセージ処理、共通コントロール分析、共通レイアウト分析
- テスト フレームワークのパッケージ化: Appium、adb、およびその他のツールの統合、定義済みの例外処理、Appium ログの記録、スクリーンショット、多目的テスト フレームワークの作成
9 つの高度なソフトウェア テストの自動化 - 継続的な統合と継続的なテスト
継続的インテグレーションと継続的テストは、製品の構築、テスト、バグの修正を繰り返すプロセスです。通常、バグがそれほど複雑ではなく、修正が容易な開発フェーズの早い段階で、チームがバグを見つけるのに役立ちます。継続的な統合と継続的なテストにより、バグのリスクを早期に最小限に抑え、より高品質のソフトウェアの提供をスピードアップできます。
- バージョン管理 Git: 背景の紹介、環境のデプロイ、ワークスペース、ステージング領域と送信領域、ブランチの作成とマージ、競合の解決、ラベル、構成とエイリアス、ローカル ウェアハウスとリモート ウェアハウス、GitHub とコード クラウド
- Jenkins の継続的な統合: 背景の紹介、環境のデプロイ、ファイル構造、リモート ウェアハウスとプライベート サーバー、ja パッケージの依存関係、プラグインの管理
- Container Docker: Dockers イメージ、ウェアハウス、コンテナー、Docker エンジンとアーキテクチャー図、ネットワーク設定、データ永続性について理解する
この学習フレームワークのルートに沿って探求と改善を続け、テクノロジーのボトルネックを突き破っていくことができると信じています.このプロセスはあなたを惨めなものにするでしょうが、それを乗り越える限り. その後の人生はずっと楽になります。ことわざにあるように、最初はすべてが困難であり、最初の一歩を踏み出す限り、すでに半分成功しており、完了後にこの旅を振り返ると、多くの感情を感じるでしょう。私もこのような道のりを経て、高給の職に就く機会が増えましたが、その努力が報われることは、自分の能力が認められ、自分の価値が証明された証と言えます。私の現在の状態では、少なくとも税引き後30+の給与は非常に満足です.
また、ソフトウェア テストの学習教材もいくつか共有しています。これは、ソフトウェア テストを学習する人にとって非常に役立つはずです。困っている友達は、下のカードをクリックしてそれらを拾うことができます。基本的な入門レベルのリソースに加えて、あなたもたくさんアップロードしました理論から実際の戦闘まで、高度な自動化リソースは、知識と行動の統一によってのみ真に習得できます。
ご自身でお持ち帰りいただけます(非公開メッセージキーワード「データ」で無料でゲットできますよ~)
[50G ソフトウェア テスト パッケージ] ビデオ チュートリアル + コース ノート + テスト ドキュメント + 選択されたインタビューの質問の 216 ページの要約付き
これらの資料は、[ソフトウェア テスト] を行う友人のための最も包括的で完全な準備倉庫である必要があります. この倉庫は、最も困難な旅でも私に同行しました. 何事も一刻も早い対応が必要で、特に技術業界では技術力の向上が求められます。
最後に、塩辛い魚にならないでください
テストを長期的なキャリア開発の目標にしたい場合は、常に学び続ける必要があります. 競争力を持つためには、今何年働いても、行動を起こせば、すでに. 2023年には、昇進して給料が上がったり、好きな会社から内定をもらったり、すべてが順調に進んでいきます。
お役に立ちましたら、いいねやコレクションをお願いします。次回からすぐに見つけられるのも便利です。