企業の一般的な給与水準が分からない場合、多くの面接官はむやみやたらに値段を尋ねようとはしませんが、面接官はあなたの能力を疑う可能性があります。あるネチズンは、自身の経験をオンラインで共有しました。この男性はテスターであり、9 年間の実務経験があり、自分の能力はかなり優れていると考えています。
現在の会社の給与にあまり満足できないと感じたので、転職するつもりです。そこでファーウェイに面接に行き、すんなり合格しましたが、希望給与を聞いたときにファーウェイの給与水準がどのくらいなのか分からなかったので、控えめに10,000と答えました。
しかし、2次面接以降何も連絡がなかったのは予想外だったので、面接時に希望した給与が低かったのかなと思いました。正直に言うと、ファーウェイの月給1万元は確かに少し低いです。
これを見たネチズンたちも意見を表明した。ファーウェイの従業員は、「新卒者の初任給は依然として月給2万だ。ファーウェイには実際にそのような低賃金のポジションはなく、必要とされるものは本当に少ない」と直接語った。説明がないのも無理はなく、経験9年目のベテラン社員の給料は1万元しかないのに、どうして面接官はあなたの能力を信頼できるのでしょうか?
一部のネチズンはまた、「これほどの給料では、面接官は何をすればいいのか分からないかもしれない。現在、ファーウェイでは経験豊富で優れた能力を持つ従業員の月給は税引き後少なくとも2万元だろう。何も得られなければ、あなたはそうするだろう」と述べた。面接官から連絡が来ないのは残念です。
一部のネチズンは「インタビュー中にそのことについて質問しなかったのですか?」と言いました。会社の給料水準知らないの?
そのため、企業に面接する際には、事前に企業のレベルを理解し、自分に合った金額を提示しなければ、面接官はただの見世物だと思われてしまい、あえて高い給与を求めてきません。面接中は保守的にならないでください。そうしないと、最終的に苦しむのはあなただけになります。
しかし、他の要素が同じであれば、面接がどのような結果になろうとも、結局のところ、あなたの成功を保証するのはあなたの技術だけであり、現時点では十分な技術的予備力を確保することが最も重要です。
ソフトウェア テスト業界に長年携わってきたベテランとして、長年にわたるテクノロジーの要約と概要、および上級ソフトウェア テスト エンジニアが習得する必要があるスキルについてのメモを共有したいと思います。テクノロジーの道を突き進む決意をしている友人たちの助けになれば幸いです。
1. ソフトウェアテストの基本的な理論的知識:
ソフトウェア テストの理論的知識は、テスト作業を実行するための理論的基礎およびサポートであり、テストの非常に重要な段階で習得する必要があるスキルです。
ソフトウェア品質モデル: ソフトウェア テスト プロセスにより、ソフトウェアの品質が保証されます。品質モデルに基づいて、この保証のどのような側面を考慮できますか?
テストの分類: ソフトウェア テスト プロセスは、基本的なテストから高度なテストまで、さまざまな観点から分類できます。
開発プロセス: ソフトウェアの完全なライフサイクル、つまりゼロから消滅までのソフトウェアのプロセスをテスターに伝えます。
テスト プロセス: 実際のプロジェクトでテスト作業を実行する方法をテスターにマスターおよびガイドします。このため、テスターは一般的な主流のテスト プロセスを完全に理解する必要があります。さまざまなソフトウェア プロジェクトに遭遇し、ソフトウェアの欠陥を最も効率的にテストできる場所を知る
テスト計画とプログラム: プロジェクトでのテスト活動を計画し、テスト活動が秩序ある方法で確実に実行されるようにする方法
設計ケース手法: ブラック ボックス テスト段階で習得する必要があるいくつかのテスト ケース設計手法。たとえば、ブラック ボックス テスト ケースの設計方法、テスト ケースの要素などです。
ソフトウェアの欠陥: テストの実行中に欠陥を特定し、欠陥レポートを提出する必要があります。
欠陥管理: 欠陥を提出した後、実際の作業で検証提出の問題を処理する際に開発チームを支援する方法。例: バグレベルの優先度分類、バグの説明、バグのライフサイクル、Zentao などの欠陥管理ツールの使用など。
テストレポート: テストプロセスと結果の確認をレビューし、体系的な専門的なソフトウェアテスト評価レポートを生成します。
2. ソフトウェア テスト スキル - Linux システム
Linux システムは主要なサーバー オペレーティング システムであり、IT 部門で働くほとんどの人が所有しなければならない基本テクノロジーの 1 つです。
Linux システムの基礎知識: マルチユーザー、マルチタスク、ディストリビューション版など。
一般的な Linux 操作コマンド: ログの表示、ファイルの圧縮と解凍、ユーザー管理、ファイルのアクセス許可など。
基本的なアプリケーション jdk、mysql、tomcat をデプロイおよび構成します
Dockerのインストールと使用
基本的なシェル RAD スクリプトの作成
使用されるリモート ターミナル ツール: シェル、xftps など。
3. 基本的なソフトウェア テスト スキル - SQL データベース
データベースは、ソフトウェア システムに不可欠なアプリケーション システムとして、追加、削除、変更、クエリ操作と切り離せないデータの正確性と完全性を検証するためのインターフェイス テスト、パフォーマンス テストなどのプロセスで運用する必要があることがよくあります。プロジェクトの展開フェーズでは、データベースもプロジェクトの展開と連携する必要があります。データベースのサポートは、パフォーマンス テストとインターフェイス自動化テストで必要です。
データベースの基本概念
リレーショナルデータベース
MYSQL の基本的なクエリ ステートメントとストアド プロシージャの追加と変更
MYSQL 複雑なクエリ、複数テーブルのクエリ
MYSQL インデックスとトランザクション関連の概念
データベース クライアント ツールの使用: Navicat など
4. ソフトウェアテストスキル - プログラミング言語
プログラミングの基礎を持たない友人がPython言語を学ぶことをお勧めします
Python言語の学習内容には以下の知識が含まれます。
Python の基礎: Python 言語の機能、実行環境、基本構文、コーディング スタイル、サンプル プログラム
データ構造:
基本的なデータ構造: 数値、文字列、型判定、型変換、スライス、文字列書式設定、数値演算、位置パラメータ、キーワード パラメータ。
データ構造の結合: リスト、タプル、範囲、辞書、セット、ハッシュ不可能なオブジェクト、アンパック、メモリ内データ構造アドレス、不変データ
プログラム制御:シーケンス構造、ループ構造、判定構造、例外処理、論理演算子
関数: 関数、関数パラメータ、戻り値、変数スコープ、匿名関数、一般的に使用される組み込み関数を定義します。
モジュールとライブラリ: モジュールとパッケージ、インポート キーワード、一般的に使用される標準ライブラリ、一般的に使用されるサードパーティ ライブラリ、パッケージ管理ツール pip
オブジェクト指向: オブジェクト指向の起源と利点、オブジェクト指向のプロパティ クラスとオブジェクトの関係、オブジェクトの特別なメソッド
ログ:baseConfig、ファイル ログ、電子メール ログ、カスタマイズされた形式、組み込みプレースホルダー、レベル フィルタリング、階層伝播、構成ファイル
テストフレームワーク:unitest、pytestなど。
同時プログラミング:マルチプロセス、マルチスレッド、コルーチン、スレッドプール、同期制御、スレッド通信、分散、モンキーパッチ、非同期構文、ジェネレーター
ネットワーク プログラミング: ソケット プログラミングの基礎、TCP サーバーとクライアント、並列リクエスト処理、HTTP サーバーとクライアント
5. 高度なソフトウェアテストの自動化 - インターフェーステスト
インターフェイス テストは本質的に機能テストの一種で、スクリプトまたはツールを通じてサーバー インターフェイスを呼び出すクライアントをシミュレートします。インターフェース層からテストするため、問題を早期に発見でき、テスト効率の向上と修理コストの削減が可能になります。
http/httpst プロトコルの学習
一般的なリクエスト メソッドを学習します: GET、POST
Cookie とセッション学習
インターフェースの基本概念
インターフェースドキュメントの理解
インターフェーステストケースの作成
使用したインターフェイス テスト ツール: postman、Jmeter、SoapUl
6. 高度なソフトウェア テストの自動化 - パフォーマンス テスト
パフォーマンス テストの技術的要件は非常に高く、パフォーマンス テストの指標、テストの分類、テスト設計を深く理解するだけではありません。また、パフォーマンス シナリオをより適切に設計できるように、システム ビジネスとアーキテクチャに関する知識を学ぶ必要もあります。
パフォーマンスの基本概念: パフォーマンス テストの意味、一般的なパフォーマンス指標の理解、パフォーマンス テストの分類
パフォーマンス テスト プロセス: パフォーマンス要件分析、パフォーマンス シナリオ設計、テスト スクリプト作成、テスト実行リソースの監視、パフォーマンス チューニング、回帰テスト
Jmeter と roadrunner によって使用されます
パフォーマンステストレポートの出力
7. 高度なソフトウェアテストの自動化 - アプリの自動化
モバイル端末を介してサービスを提供するプロジェクトやシステムが増えており、モバイル端末上のソフトウェアの品質がますます重要になっており、アプリの自動テストは自動テストの重要な部分となっています。Appium では、アプリの自動テストと Web の自動テストには多くの類似点がありますが、テスト エンジニアとして、モバイル アプリケーションのツールと機能を習得する必要があります。
Appiumモバイルテスト環境構築:Appium ServerAppiumとDesktop、Android動作環境構築、シミュレータのインストールと接続、実機デバッグモード、adb、weditor、 - - UiAutomator22、Monkey
Appium 要素の配置: ネイティブ アプリケーション要素の配置、純粋な Web アプリケーション要素の配置、ハイブリッド アプリケーション要素の配置
Appium 要素のインタラクション: 要素のロードの待機、要素の基本的な属性とメソッド、スライド、ドラッグ、ズーム操作、ドロップダウン選択操作、トースト メッセージ処理、共通コントロール分析、共通レイアウト分析
パッケージ テスト フレームワーク: Appium、adb、その他のツールを統合し、事前定義された例外処理、Appium ログ、スクリーンショットを記録し、多目的テスト フレームワークを作成します。
8. 高度なソフトウェア テスト自動化 - 継続的統合と継続的テスト
継続的インテグレーションと継続的テストは、製品を構築、テストし、繰り返してバグを修正するプロセスです。これは、チームが開発段階の早い段階で欠陥を発見するのに役立ちます。この欠陥は通常、それほど複雑ではなく、修正が容易です。継続的統合と継続的テストを通じて、エラーのリスクを早期に最小限に抑え、より高品質のソフトウェアをより迅速に提供できます。
バージョン管理 Git: バックグラウンドの導入、環境のデプロイメント、ワークスペース、ステージング領域とサブミット領域、ブランチの作成とマージ、競合解決、タグ、構成とエイリアス、ローカル ウェアハウスとリモート ウェアハウス、GitHub とコード クラウド
Jenkins との継続的統合: バックグラウンドの導入、環境の展開、ファイル構造、リモート ウェアハウスとプライベート サーバー、JA パッケージの依存関係、プラグイン管理
コンテナ Docker: Docker のイメージ、ウェアハウス、コンテナ、Docker エンジンとアーキテクチャ図、ネットワーク設定、データの永続性を理解します。
要約:
最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それほど価値のあるものではありませんが、使用できる場合は、直接受け取ることができます。
これらの資料は、[ソフトウェア テスト] の友人にとって、最も包括的かつ完全な準備倉庫である必要があります。この倉庫は、最も困難な旅を乗り越える何万人ものテスト エンジニアにも同行してきました。それがあなたにも役立つことを願っています! 必要な人は誰でもパートナーをクリックできます。下の小さなカードを受け取ってください