4 か月の独学でソフトウェア テストを行った後、Alibaba に入社しました。機能テストから自動化に切り替える方法... 私が経験したことは何ですか?

大手求人サイトでは、月給1万元以上のテストエンジニアは基本的に自動テストという必須スキルを持っています。では、自動テストは難しいのでしょうか? 以下に私の経験をお話しますので、聞いた上で皆さんご自身の判断で判断していただければと思います。

1. 私は誰ですか?

無意識のうちに、私はソフトウェアテスト業界に 8 年間携わっていました。私はベンチャー企業と上場企業の両方で働いてきました。機能テスト、自動テスト、パフォーマンステストを行ってきました。私は新人テスターであり、テスト チームのリーダーでもあります。この5年間で最も貴重な経験を挙げるとすれば、それは知識の体系化だと思います。では、知識の体系化とは何でしょうか?人それぞれ違いますが、私の知識の体系化について簡単に話しましょう。

2. 私の成長の軌跡

機能テスト -> UI 自動化

業界に入った当初を思い返してみると、機能テストすらできませんでした。そのため、私は機能テスト ケースの設計に多くの時間を費やしましたが、プロジェクトが進むにつれて、テスト ケースの数はどんどん増えていきました。ユースケース設計も容易になりました。私は内心、機能テストを行うだけでは満足できず、自動テストは非常に強力だと感じています。

その後、コーディングの基礎を学びました。しかし問題があり、コーディングの基礎を学んだ後でも、自動テストのやり方がわかりません研究が深まるにつれて、ソフトウェアテストにおける一般的な自動化は主に 2 つのタイプに分けられ、1 つは UI の自動化、もう 1 つはインターフェイスの自動化であることがわかりました。

それで、どれを最初に学べばよいでしょうか?当時、UI の自動化は手動のクリックを置き換えることができ、非常に優れているため、少しわかりにくいと感じていました。その後、半年かけてUIの自動化を学びました。ここで、UI 自動化を学ぶのにそんなに時間がかかるのかと疑問に思う人もいるかもしれません。当時の私にとっては、そうです。私はコンピューターサイエンスを専攻していましたが、大学で学んだことのほとんどを基本的に忘れています。まず、UI オートメーションについて学ぶ必要があることを見てみましょう (例として Selenium を取り上げます)。それをマインド マップで簡単にリストしてみましょう。

もちろん、UI 自動化について学ぶ必要があることは上記のものよりもはるかに多く、これらは比較的中核的なものです。学習プロセスにおけるすべての知識は分散していますが、初心者にとってそれをまとめるのは困難です。その後、UI 自動化を必要とする新しい会社に入社する機会があり、GitHub で優れたコードを見つけたり、ブログを読んだりして、最終的に最初の自動化プロジェクトを実現しました。その気持ちはすごいけど、偉い人が言ってたけど、そんなことないよ、ただのボタン魔法使いじゃないですか(顔を覆って泣きながら)

UIの自動化——>インターフェースの自動化

もちろん、私もこの偉大なマスターにインターフェース自動化の道を導かれましたが、UI 自動化の学習経験があれば、インターフェース自動化の学習には基本的に労力はかかりません。UI自動化とインターフェース自動化のメリットとデメリットを言うと、比較するのは難しいのですが、目的はソフトウェアの品質です。しかし、もし選択肢が与えられたら、私はインターフェイスの自動化を選択します。インターフェイスは一般的に変更するのが簡単ではなく、UI インターフェイスは頻繁に変更されるため、インターフェイス自動化のメンテナンス コストは比較的低いからです。これが、「Python Django インターフェイス用の Python Django インターフェイス」を記録した理由です。テスト開発
「自動テスト フレームワークの実践」の理由。

インターフェイスの自動化 -> パフォーマンス テスト

UIの自動化とインターフェースの自動化は完了しましたが、何を学ぶ必要がありますか? 私は再びパフォーマンスを勉強しに行きました。なぜパフォーマンスを勉強したのですか? それは完全に仕事の必要性のためでした。後で、パフォーマンスが本当に底なし沼であることに気づきました。開発知識、サーバー アーキテクチャ、オペレーティング システム、テスト監視ツール、コンテナーについての理解が必要です知識など 私の知識が広すぎて、まだ苦労しています。もちろん、パフォーマンステストの過程で開発知識も学びましたが、これまでUI/インターフェースの自動化や機能テストを行う際には、ブラックボックス/グレーボックスレベルでしかバグの原因を判断できませんでした。開発の知識があれば、バグについてはおそらく知っていたでしょう。これは私自身のテストのキャリアの改善とみなすことができます。

そうは言っても、実際には、ソフトウェア テスターの共通知識体系は次のとおりです。

ここに画像の説明を挿入します

3. インターフェース自動化テストをどのように説明すればよいでしょうか?

「テスト開発: Python Django インターフェイス自動テスト フレームワークの実践」の内容を見てみましょう。

ここに画像の説明を挿入します

第 1 章では、Python のインストール、Python IDE、ローカルデータベース環境について説明します。

第 2 章では Django の基本を説明し、誰もが Django についてすぐに理解できるようにします。

第 3 章では、http プロトコル、Cookie、セッションについて説明し、これまでの知識に基づいてブログ システムを開発し、インターフェイス テスト ドキュメントの作成方法を説明します。

第 4 章では、インターフェイスの自動化に不可欠なスキルである Python でのリクエスト ライブラリについて説明します。

第 5 章では、unittest 単体テスト フレームワーク、パラメータ化を使用してインターフェイス テスト ケースを作成する方法、データベースを初期化する方法、テスト ケースをバッチで実行してテスト レポートを生成する方法について説明します。次に、独自のインターフェイス自動テスト フレームワークの開発を指導します。

第 6 章と第 7 章では、git/GitHub の基本を説明し、全員がプロジェクトを継続的に統合できるように導きます。もちろん、これらの内容をもとに動画も収録されているので、学習方法は動画+資料+授業後の指導になります。

では、なぜこの 7 章なのか?

1. このコースの主な目的は、自動インターフェイス テストに Python を使用する方法を教えることです。しかし、なぜ開発について話すのでしょうか? 私たちはよくインターフェースのテスト、インターフェースのテストについて話しますが、インターフェースとは何でしょうか? インターフェースはどのように開発されていますか? 考えてみてください。インターフェイスを開発できれば、テスト担当者にとってインターフェイスのテストは簡単になります。

2. もちろん、このコースを学習するには Python の基礎が必要です。Django 自体も Python のフレームワークであるためです。

3. インターフェイスが開発されたので、Python を使用してインターフェイスの自動テストを行うこともできます。これで十分ですか? もちろん、答えは十分ではありません。エンタープライズレベルのニーズを満たすために、Git/GitHub と継続的インテグレーションに関する章を追加しました。

4. 学習に必要な技術的基盤とその進め方は何ですか?

Pythonの基本!Pythonの基本!Pythonの基本!重要なことは3回強調します。

もちろん、当講座が万能というわけではなく、比較的初級レベルなので、自分で学ばなければいけないこともまだまだたくさんあります。たとえば、単純なインターフェイスを開発することはできますが、完全なシステム (インターフェイス テスト プラットフォーム) を開発するにはどうすればよいでしょうか? フロントエンドの知識とDjango開発の知識を深く学ぶ必要があります。これは、私たちがテスト開発に成長する唯一の方法でもあります。別の例として、コースで MySQL データベースを使用しますが、プロジェクトで Oracle データベースを使用する場合、データベースにどのように接続して初期化すればよいでしょうか? 学習に終わりはありません。検索エンジンは私たちの最良のツールとなるでしょう。

5. 何が得られますか?

このコースを学ぶことで、機能テストからインターフェース自動テストエンジニアに一気にステップアップできると思います。コードの量が増えると、会社にいるときも、仕事を探しているときも、より自信が持てるようになります。冒頭の質問に戻りますが、自動テストは難しいですか? 私の答えは、あなたが学びたいかどうかを確認することです。

4G の普及により、APP は急速に開発され、多くのテスト エンジニアもサポートされました。5G はもうすぐそこまで来ていますが、5G がテスターに​​とってチャンスとなるかどうかを予測するのは困難です。しかし、もし私たちが前進をやめてしまったら、未来は間違いなく私たちからどんどん遠ざかってしまうと確信できます。

2021年は例年にない年ですが、この機会にしっかり勉強して、技術的にもお財布的にも大きな収穫を得ていただければ幸いです。

ここに画像の説明を挿入します

以下に、アリババで独学でソフトウェアテストを行うための最も主流のキャリアプランニングルート学習プロセスをまとめますので、少しでもお役に立てれば幸いです~お互い励まし合いましょう~
ここに画像の説明を挿入します

1. テストの基本

テストの基本スキルを理解し、主流の欠陥管理ツールの使用法を習得し、テスト環境の運用と保守に習熟する

2. Linux に関する必須知識

Linux は現在最も人気のあるソフトウェア環境システムであるため、習得する必要があり、現在の採用要件では Linux の機能が求められています。

ここに画像の説明を挿入します

3. シェルスクリプト

マスター シェル スクリプト: シェルの基本とアプリケーション、シェル ロジック制御、およびシェル ロジック関数を含む

ここに画像の説明を挿入します

4. インターネット プログラムの原則

自動化への唯一の道: フロントエンド開発の基礎知識とインターネット ネットワークの必須知識 4. インターネット プログラムの原則

ここに画像の説明を挿入します

5.MySQLデータベース

ソフトウェア テスト エンジニアは、基本的な「追加、削除、変更、確認」だけではなく、MySQL データベースの知識を持っている必要があります。
ここに画像の説明を挿入します

6. パケットキャプチャツール

Fiddler、Wireshark、Sniffer、Tcpdump、およびさまざまなパケット キャプチャ ツールは、さまざまなプロジェクトに適しており、最適なツールが必ず 1 つあります。
ここに画像の説明を挿入します

7. インターフェーステストツール

インターフェイス テスト アーティファクト、避けては通れない強力なツール、Jmeter。小さくて柔軟: 郵便配達員

8. Web 自動テスト Java と Python

自動化の目的を理解し、TestNG とユニットテストの自動化フレームワーク、アサーションとログ処理に習熟する

ここに画像の説明を挿入します

9. インターフェースとモバイル端末の自動化

プロフェッショナルなインターフェイスの通話およびテスト ソリューション。完全な Web およびインターフェース自動化フレームワークを確立し、Appium 全体を使用する

ここに画像の説明を挿入します

10. アジャイルテストとTestOpsの構築

TestOps の謎を解き明かし、Jenkins フレームワークの継続的統合について理解しましょう
ここに画像の説明を挿入します

11. パフォーマンステストとセキュリティテスト

ソフトウェア テストのもう一方の側面: パフォーマンス テストとセキュリティ テスト、方向を選択して、ピットを登るように頑張ってください。
ここに画像の説明を挿入します

この内容を読んだ後、次の 2 つのこともあなたの自己改善に役立つと思います。

1. この記事をより多くの人に見てもらえるように、「いいね!」してください。評価していただくと、より質の高いコンテンツを作成する励みになります。

2.
自分を強くする: 考えてみてください。試験業界で働き続けたいのであれば、なぜ企業は 35 歳以降もあなたを雇用し続ける必要があるのでしょうか。あなたの経験と機能テストのスキルは十分ではありません。進歩する必要があり、テクノロジー スタックを強化する必要があります。何を待っていますか!

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが編集され、アップロードされています。必要な友人は自分で入手できます[100% 無料保証]

ソフトウェアテスト面接文書

私たちは高給の仕事を見つけるために勉強しなければなりません。以下の面接の質問は、アリババ、テンセント、バイトなどの一流インターネット企業の最新の面接資料であり、一部のバイトの上司が権威ある回答をしています。面接情報に基づいて、誰もが満足のいく仕事を見つけることができると思います。

おすすめ

転載: blog.csdn.net/weixin_50829653/article/details/133313003