内容:ガイド
序文
ソフトウェアテストエンジニアの必須スキル
1. 共同開発能力
①プロジェクト管理(SVN、Git)
②データ分析能力(Fiddler、Charles、ブラウザF12)。
2. インターフェーステスト
①概念とインターフェーステスト原理概念(コンセプト、インターフェーステスト原理)
②インターフェーステストツール(Jmeter、Postman、SoapUI)
③共通インターフェースプロトコル(HTTP、HTTPS、Webサービス/SPAP)
④HTTPプロトコル概念(URL、リクエストヘッダー、リクエストボディ、レスポンスヘッダー、ステータスコード)
⑤一般的なHTTPリクエストメソッド(GET、POST、DELETE、PUT)
⑥一般的なデータ対話形式(application/x-www-form-urlencoded、multipart/form-data、application/json、 text/xml)
⑦ HTTP ステータス コード (1XX、2XX、3XX、4XX、5XX)
⑧ 共通の認証方法 (トークン、セッション、クッキー)
⑨ インターフェイス テスト ケース (ビジネス機能、境界分析、パラメーターの組み合わせ、例外、パフォーマンス セキュリティ)
⑩ バグ分析とポジショニング(インターフェースリクエスト、レスポンス内容、データベーステーブル構造解析、追加・削除・変更の基本操作、ログ解析)
⑪インターフェーステストレポート
3. ソフトウェアテストの基礎知識
①ソフトウェアテストの定義(ソフトウェアテストの概念)
②ソフトウェアライフサイクル(ウォーターフォール、V、W、アジャイル開発)
③ソフトウェアテストの分類(ブラックボックステスト、ホワイトボックステスト、結合テスト、システムテスト、パフォーマンス)テスト、セキュリティテスト、自動テスト)
④ ソフトウェアテストプロセス(テスト要件分析段階、テスト計画段階、テスト設計段階、テスト実行段階、テスト評価段階)
⑤ ソフトウェアテスト方法(等価クラス、境界値、因果関係図、デシジョンテーブル) 、シナリオ法、エラー推測法)
⑥ ソフトウェアテストケース(ユースケース番号、テスト機能、テストタイトル、ユースケース優先度、前提条件、テストデータ、テストステップ、期待結果、実績)
⑦バグの定義(バグのライフサイクル、バグの種類、バグの重大度、バグ管理、バグの提出、バグ追跡)
4. Python自動化スキル
①pythonエディター(Cpython、Ipython、Jpython、pypy、Ironpython)
②pythonデータ型(float、string、integer、Boolean、list、dictionary、tuple、set)
③python演算子(1.算術演算子:+、—、 *、/、% 2. 論理演算子: and、or、not 3. メンバーシップ演算子: in、not in 4. 代入演算子: =、+=、—= 5. 比較演算子: <、>、<=、<= 、==、!=)
④関数: 1. 定義:def関数名() 2. パラメータの種類:必須/デフォルト/可変長 3. パラメータの受け渡し方法:位置/キーワード 4. 関数の使用方法 5. 関数の戻り値
⑤ファイル処理: 1. ファイルを開く: open/with open...as 2. 読み取りモード: readline/readlines/read 3. 書き込みモード: write 4. Append モード
⑥制御フロー:(if判定、forループ、whileループ)
⑦例外処理(try、excel、else、finally)
⑧オブジェクト指向(クラス、属性、メソッド、オブジェクト、継承、派生、クラス属性オブジェクト属性、クラスメソッド、クラスインスタンス)メソッド、静的メソッド)
5. Linux 基本コマンド
①Linux 基本コマンド:(パーミッション、ファイルクエリ、プロセス、ポート、ファイアウォール操作、ディレクトリ切り替え、新規ファイル、ファイル編集、ユーザー切り替え、ログ表示) ②環境構築:(JDK インストール、環境変数設定、Tomcat インストール
) 、MySQL インストール)
③プロジェクトのデプロイ: (conf は設定ファイル、jdbc 設定ファイルを保存し、webapps はデフォルトで war パッケージを保存し、サービスを再起動します)
6. データベース スキル
MySQL データベース: (データベースへの接続、データベース テーブルの作成、追加、削除、変更、複数テーブルの関連付け (等価結合)、左結合/右結合、グループ クエリ)
7. 主なパフォーマンス
主なパフォーマンスに関する知識: (パフォーマンス理論、オペレーティング システム、ネットワーク パフォーマンス テスト ツール、サーバー、データベース)
8. その他のネットワーク知識
①TCP/IP 4層プロトコル線:(ネットワークインターフェース層、ネットワーク層、トランスポート層、アプリケーション層) ②
ファイアウォール:(パケットフィルタリングファイアウォール、状態期限切れファイアウォール、アプリケーションゲートウェイファイアウォール、ACL、NAT)
③VPN:(レイヤ 2 VPN: L2TP、レイヤ 3 VPN: IPsec、レイヤ 7 VPN: SSL、VPN)
9. ネットワーク知識 OSI 7層ネットワークモデル
①物理層:(ツイストペア、電波、光ファイバ、ビットストリーム)
②データリンク層:(MACアドレス、スイッチング:VLAN/トランク/STP、フレーム)
③ネットワーク層:(IPプロトコル) :IPサブネット/サブネットマスク/IP分類/IP v6、ARPプロトコル、ルーティングプロトコル:スタティックルーティングプロトコル/ダイナミックルーティングプロトコル、ICMPプロトコル) ④トランスポート層:(TCPプロトコル、UDPプロトコル、ポート) ⑤セッション層 ⑥
プレゼンテーション
層
⑦
アプリケーションレイヤ: (HTTP プロトコル、HTTPS プロトコル、DNS プロトコル、FTP プロトコル、FTP プロトコル)
10. APP の特別なテスト機能
①アプリのパフォーマンス テスト: (GT、emmagee、itest)
②アプリのパフォーマンス テストの監視指標: (応答時間、メモリ、CPU、fps、ps、トラフィック)
③アプリの安定性テスト-monkey: (-v、-p 、 -s、-throttle、-randomize-throttle、-ignore- crashes、-ignore-timeouts、monkey API)
④アプリログ分析:
ネットワークの種類: WIFI/5G/4G/3G/2G
ネットワークなし: 切断と再接続。/ ローカル データストレージ
遅延、パケット損失: 応答時間/タイムアウト再接続/ページ レンダリングの整合性
弱いネットワーク テスト ツール: Fiddler、Charles、ネットワーク エミュレーター、Xcode
アプリのパフォーマンス テストの監視指標: (adb、adb logcat、トレース ファイル)
ソフトウェア テスト エンジニアの開発パス
1. ジュニア テスト エンジニアは、
コンピューター サイエンスの学位を取得したばかりの個人、または手動テストの経験がある個人です。テスト スクリプトを開発し、テストのライフサイクルとテスト手法を理解します。
2. テストエンジニア/プログラムアナリスト
1 ~ 2 年の経験を持つテストエンジニアまたはプログラマー。自動テスト スクリプトを作成し、テスト プログラミングの最初のリードとして機能します。プログラミング言語、オペレーティング システム、ネットワーク、データベースのスキルを高めます。
3. シニア テスト エンジニア/プログラム アナリスト
3 ~ 4 年の経験を持つテスト エンジニアまたはプログラマー。テストまたはプログラミングの標準と手順の開発または維持を支援し、ピアレビューを実施し、他の若手テスト エンジニアやプログラマーのアドバイザーとしての役割を果たします。
4. テストグループの責任者は、
4~6年の経験を持つテストエンジニアまたはプログラマーです。1~3名のテストエンジニアまたはプログラマーのマネジメントを担当します。スケジュール設定とジョブのサイジング/コストの見積もりの責任を引き受けます。
5. テスト/プログラミングの担当者は、
6~10年の経験を持つテストエンジニアまたはプログラマーです。8~10名の技術者を統括していただきます。スケジュール設定、ジョブのサイズとコストの見積もり、スケジュールと予算目標どおりに製品を納品する責任を負います。
6. テスト/品質保証/開発 (プロジェクト) マネージャーは
10 年以上の実務経験を持っています。8 人以上が関与する 1 つ以上のプロジェクトを管理します。このドメイン (テスト/QA/開発) 内の開発ライフサイクル ビジネス全体を担当します。
7. プログラムマネージャー
開発およびサポート (テスト/品質保証) 活動において 15 年以上の経験。複数のプロジェクトと開発ライフサイクル全体に取り組む人々を管理します。プロジェクトの方向性の把握と損益責任を負います。
以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。 |
1. Pythonプログラミングの入門から習得まで
2.インターフェース自動化プロジェクトの実戦
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実戦
5. 一流メーカーの再開
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8、JMeterのパフォーマンステスト
9. まとめ(最後にちょっとしたサプライズ)
現実の浮き沈みに打ちのめされるな、闘争は困難を乗り越える鋭い剣だから、失敗の影に染まらない、闘争は輝きを生み出す舞台だから。追求し続け、情熱を燃やし、自分を信じて、勇敢に前進してください。
夢を追う道において、苦闘は山を登る力であり、沼を渡る勇気です。どんなに紆余曲折の道があっても、信念を貫き、懸命に努力することによってのみ、私たちは自分たちの輝かしい章を描き、夢を現実に変えることができます!
障害を乗り越え、終わりのない闘いを続け、決して諦めずに頂上まで登ってください。闘いの道は険しいかもしれないが、努力を続けることによってのみ、私たちは無限の光を得ることができる。勇敢に夢を追い、情熱を胸に燃やし、闘いを輝かせ、人生で最も美しい花を咲かせましょう!