2023 年にはソフトウェアテストは飽和すると言われていますが、本当ですか?

この 2 日間、私はソフトウェア テストの発展について友人と話しました。実際、ソフトウェア テストは知らないうちに大きな変化を遂げてきました。過去数年間のソフトウェア テスト業界はまだ出口でした。ソフトウェア テスト業界は、ソフトウェア テスト業界に殺到しています。ソフトウェアテスト業界 現在、ソフトウェアテスト業界の「ギャップ」は基本的に飽和しています。もちろん、私が言いたいのは、最も基本的な機能テストの仕事要件は非常に少ないですが、自動化、パフォーマンス、セキュリティ、さらには将来登場する可能性のあるビッグデータ テストや AI テストの機会がまだたくさんあるということです。 。

 

「長江の後波が前波を押し、前波は浜辺で消える」というかつては人々を笑わせたジョークが、今ではソフトウェア テスト業界の真実の姿となっています。ソフトウェア テスト業界は参入障壁が低く、給与が高いため、ソフトウェア テスト業界の「先駆者」をめぐって常に鮮血が流れており、それが私たちに大きなプレッシャーをもたらしています。

業界に数年勤務しているものの、まだ機能テスト中の学生が直面するプレッシャーは想像に難くない。結局のところ、ソフトウェアテスト業界は依然として技術的な立場にあります。技術職なので技術に頼って話さなければなりません。新しいスキルを継続的に習得し、ソフトウェア テストの「バグを見つける」能力を向上させることは、ソフトウェア テストの実務者が解決する必要がある緊急の問題となっています。したがって、ほとんどの若手機能テスターは現在、自動化、パフォーマンス、セキュリティに近づいています。

しかし、依然として多くのソフトウェア テスト エンジニアが混乱し、無力で、自分の方向性を見つけることができずに「岐路」に立っているのです。
 

 

すべての混乱は、考えすぎて実行しすぎていることが原因です。ソフトウェアテスト業界の実務者は皆、現在直面しているジレンマを認識していますが、タイムリーに変更を加え、時代の変化に適応できる人材は依然として少なすぎます。ほとんどの人は明らかに「タイ山が目の前で倒れ、顔が泥のようになった」のに、自分たちが業界によって排除されていくのをただ見ているだけなのでしょうか?


いいえ、ソフトウェア テスト エンジニアの開発方向性を示す次のナレッジ アーキテクチャ図を見ると、どこで熱心に取り組むべきかがわかります。

1. 一般的に、新人をテストするときは、まず良い基礎を築く必要があります。古典的な本を読んで理論的基礎をテストするか、インターネット上に無料のリソースがたくさんあります。最初の 2 冊の基本的な本を選択すると、効果が得られます。多くの。

2. 最初は、あまりにも多くの技術グループや他のフォーラムに参加して質問することはお勧めしません。初期段階で問題が発生した場合は、自分で検索して解決することができます。もちろん、コントロールする必要があります。ストップロスポイントを設定し、問題にあまり長い時間を費やさないでください。

3. 基本を独学しながら、しっかりメモをとり、自分自身が理解した上で行う必要があります。マインドマップを使用すると、前後に学んだことを結び付けることができます

4. 本やステージを読んだ後、自己評価を行って、いくつかの古典的な筆記試験の問題やいくつかの istqb の問題を見つけて漏れがないか確認し、目標を絞った方法で学んだことを定着させることができます。

5. 次に、実行するプロジェクトを見つけるか、クラウドテスト プラットフォームにアクセスして、基本的なテスト ドキュメントの仕様の作成など、基本的なプロジェクト テスト プロセスを確認します。テストクラウドテスト プラットフォームは、少なくともテストのトレーニングには適したプラットフォームです。ケースの設計と実行、バグの調査と欠陥の提出は非常に優れています。

 

6. 現在、無料の公開コースを提供するプラットフォームが多数あり、技術ディスカッション グループを通じてニュースのプッシュを受け取り、適切な時間を設定して専門分野のテスト方法を聞くことができ、一般的なプロセスをすぐに理解することができます。 。(必ず厳格な審査を通過し、高品質のものを選択してください。そうしないと多くの時間が無駄になります):

学習パス

 

フェーズ 1 テストの基礎

ソフトウェアテストにおいてテストの基礎は最も重要であり、テストを行う以上、どのような種類のテストであっても、テストの基礎と理論的な知識を習得する必要があります。
最良の学習レベルはどれくらいですか? それを理解し、自分の言葉で言い直せることが最善です。
結局のところ、面接の最初のテストでは、質問された質問はすべて基礎理論から評価されます。
テストの基礎は何ですか?

テストの定義、テストの分類、テストの方法、テストのライフサイクル。
テスト計画、テスト シナリオ、テスト戦略、テスト ケースの作成。
BUGの定義、BUGの分類、BUGの6つの要素、BUGのライフサイクル。
テストと開発プロセスの関係、ウォーターフォールフロー、V字、W字(ダブルV)、スパイラル、アジャイルなど。
PDCAや5W2Hなどの分析・管理手法
品質マネジメントシステム CMMI(理解)
まあ、上記の内容だと思いますが、いずれも理論力と文書力です 覚えて書く意欲さえあれば習得できます独立して。

第 2 段階の共通テスト ツール
テスト ツールは常にソフトウェア テスターの右腕です。ツールに完全に依存することはできませんが、ツールなしではいられません。ソフトウェアを学習する過程では、次のことに重点を置く必要があります。中級ソフトウェア テスト ツールの使用: 以下の図は初級レベルと中級レベルをカバーしています ソフトウェア テスト エンジニアが必要とするテスト ツールを学習したい場合は、学習を始めてください。

ソフトウェア テストの専門家サークルには何千ものツールがあり、すべてを使用することは不可能ですが、少なくとも、どのツールが利用可能か、どのツールをいつ使用するか、各ツールがどのような問題を解決できるかを知ってから適用する必要があります。いくつかのツールについて詳しく説明します。以下にまとめてみましょう。

テスト管理ツール

禅道:简单好用,市场主流,互联网行业居多
Jira:简单好用
QC/禅道:简单好用,市场主流,互联网行业居多
Jira:简单好用
QC/ALM:复杂,收费,电信/金融行业使用较多
bugzilla:功能简单
svn:代码和文档管理工具
git:但是多分支管理比svn好ALM:复杂,收费,电信/金融行业使用较多
bugzilla:功能简单
svn:代码和文档管理工具
git:但是多分支管理比svn好

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

Jmeter(开源)
postman
SoapUI
推荐使用 jmeter 和 postman。

パフォーマンステストツール

loadrunner:大而全,要学精通还是有点难度,重量级工具,过去和现在都是行业老大
jmeter:基于java平台的性能开源测试工具,其实也很强大,而且比较好用
Locust:基于python的一个性能测试工具

ホワイトボックステストツール

junit/testng:java下的单元测试框架
unittest/pytest:python下的单元测试框架
cppunit:跨平台的c++单元测试框架
PhpUnit:Php语言下的单元测试框架
TestBed:一个重量级的白盒测试软件,可以进行单元测试、集成测试、静态测试,军工行业常用
Klockword:静态测试工具,军工行业常用

継続的インテグレーションツール

Jenkins:比较常见的一种CI工具
Hudson

ネットワークテストツール

以HTTP/HTTPs协议为主,网络测试工具有:
wireshark
fiddler
charles

アプリ自動化ツール

appium:这个应该算是目前最流行的基于app的自动化测试框架了
uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作
Monkey:安卓自带的测试工具
Monkey Runner:Monkey改进版,支持自己编写脚本测试,用Python语言
Robotium:一款国外的Android自动化测试框架,用法比较

Webセキュリティテストツール

appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来
fiddler:网络抓包工具
burpsuite:暴力破解、抓包工具
skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。

コード学習の第 3 段階
さて、上記の 2 つの部分を学習したら、おめでとうございます。あなたはすでに優秀なジュニア テスト エンジニアです。
次に、開発の方向性を検討する必要がありますが、
自動テストエンジニアになるべきでしょうか?
それともパフォーマンステストエンジニアでしょうか?
それともセキュリティテストエンジニアでしょうか?
ああ!この質問はとても難しいです!どうやって選べばいいのか分かりません。
とにかく、私はあらゆることについて少しは知っているので、どんなポジションにも対応できます。
方向の選択については、私の記事を参照してください

さて、あなたはすでに答えを心の中に持っていると思います。それでは、以下でそれについて話し続けましょう。
この段階ではコードを学ぶ必要がありますが、プログラミング言語の選択に関しては、Java または Python をお勧めします。
マスターしなければならないデータベースもあります。ツールの勉強で、データベース関連の応用はもう使いこなせると思います!
つまり、プログラミング言語を学ぶことができるようになりました
が、開発ほど深く学ぶ必要はありません。
たとえば、Java については、JavaSE の部分だけを学習すれば十分です。Python についても同様で、基本を学ぶだけです。
つまり、初期段階でどちらかを選択して勉強することができます。
何?あなたは私が何を学んだかと尋ねます。
もちろん両方できます、
ははははははは、当然です!驚くことではないが! 

自動化の方向性

コードを基本的にマスターしたら、次のステップはさまざまな自動テストを学習することです。

さまざまなシングルエンド テスト フレームワーク:unittest (python)、pytest (python)、JUnit (java)
WEB 自動テスト フレームワーク: Selenium (java\python\javascript に適用)
APP 自動テスト フレームワーク: appium (java\python\javascript に適用) )
上記の内容は、学習する言語に応じて選択してください。
Appiunm と Selenium は、参加するプロジェクトに応じて選択されます。
しかし、それは問題ではありません、とにかく、遅かれ早かれ学ばなければなりません。
この部分にはチュートリアルが多すぎます。プログラミングの基礎を学習したら、Baidu にアクセスしてください。多くのブログ フォーラムにチュートリアルがあります。
そして、その時のあなたのレベルに応じて、それは簡単に理解できます。

パフォーマンスの方向性

 loadrunner と jmeter についてはさらに詳しく説明します。
スクリプトはオフレコで手動で作成できます。
マルチスレッド プログラミングを学習し、Java または Python を手動で記述し、ツールを使用せずに圧力テストを直接実装できます。
Linux を学ぶと、結局のところ、パフォーマンスは常にサーバーに関係します。
システムのボトルネックをより簡単に分析できるように、システム アーキテクチャの関連知識を学習します。
正直、演奏演出のヒントの方が覚えることが多すぎて難しいです。
性能テストは徹底的に行われており、基本的にはアーキテクトのレベルです。
もしかしたらあなたは今、この成果重視の学習を困惑した表情で見ているかもしれません。
大丈夫、上記のプログラミング言語を学べば、混乱することはありません。

 セキュリティの方向性

 

ペネトレーションテスト
SQLインジェクション、
ブルートフォースクラッキング、
データベース削除
など。
実際、セキュリティテストは基本的に伝説のハッカーであるネットワーク攻撃と防御に偏っていますが、私たちは皆善良な人々であり、この開発の方向性は白です帽子。
Chuangyuの学習システムを知ることをお勧めします。
これを見たらさらに混乱してしまうと思います。
大丈夫、基本を学べば私が何を言っているのか分かるでしょう。
結局のところ、あなたはまだ新人です。
そんな小さなことは気にしないでください。

この段階では、通常は中級テストエンジニアのレベルになっているはずです。
 

建築学習の第4段階

 

学習の最初の 3 段階が完了したら、より合理的にコードを記述する方法を検討する必要があります。
より包括的にテストする方法。
プロジェクトの品質をより良く保証するにはどうすればよいでしょうか。
私の意見では、この段階では、テストの基本に戻って学び直す必要があります。
なぜなら、この段階での改善は考え方や方法の改善だからです。
上記はすべて、その方法を教えています。
この段階では、なぜ自分がそうしたことをしたのかを自分で見つけなければなりません。
この段階を越えると、基本的にエキスパートになれます。
学ぶのは当然で、この時点でフレームワークはたくさんマスターしているはずですし、適切なフレームワークを自分で開発することもできます。
自動テスト フレームワーク、パフォーマンス テスト フレームワークなど。
すでに独自のもののセットを持っています。
グループやフォーラムで攻撃的なふりをすると、他の人は敬意を込めてあなたを偉大なボスと呼ぶでしょう。
もしかしたら、他のテクノロジーも学び、フルスタックの方向に進んだことがあるかもしれません。
つまり、この段階では学習ルートがありません。

【最後に】
上記の知識とスキルを全て習得し、柔軟に活用できる方であれば、月給2万以上でも問題ないと思います

おすすめ

転載: blog.csdn.net/lzz718719/article/details/130657981