オンライン ソフトウェア テストの QA プラットフォームであるhttps://testdemy.teachable.com/の創設者、Tim Ebie による記事のロシア語版をぜひ読んでください。このプラットフォームは、自動テストへの取り組みを始めようとしている人を支援するために作成されました。
市場では Web アプリケーションへの関心が高まり、その数が増加しています。それに伴い、プログラミング、技術スキル、さまざまな自動化スキルを必要とする仕事がますます増えています。その結果、手動テスターは需要を維持するために、純粋な手動テストから品質保証 (QA) に切り替える必要があると考え、自動テストに注目しています。多くの QA 職ではコードの作成に関連する一連の技術スキルが必要となるため、手動テストから自動テストに切り替えるのは賢明な選択です。変化を好まない人にとって、そのような変化は不快なものかもしれません。一方、他の開発者は、この「変化の時」を自分のキャリアとスキルを次のレベルに引き上げ、関連性を高める機会と見ています。要求が高まるたびに、可能性は広がります。適切なスキルセットを備えた開発者は、電車に飛び乗って、高収入の素晴らしいキャリアを得ることができます。手動テストから自動化への移行を検討している場合、または別のソフトウェア開発分野からの移行を検討している場合でも、成功するためにいくつかの手順を踏むことは理にかなっています。
市場評価を生成するために使用できる検索ワードの例を次に示します。
QA テスター (自動テスト):
これらの職務内容から重要なポイントをいくつか紹介します。 ハイブリッド/混合役割:役職名と、これらの企業が自動ソフトウェア テストをどのように見ているかに細心の注意を払ってください。これは、リストされている役割の名前 (ソフトウェア オートメーション開発者、テストのソフトウェア開発者など) からわかります。あるパターンに気づきましたか? これらの企業は、多かれ少なかれ QA エンジニアを開発者と呼んでいます ソフトウェア: 手動テスターの場合、これは、次のことを行う時期が来たことを意味します。手動テスト ケースを自動テスト スクリプトに変えるコードの書き方を学びます。自動テストへの移行を検討している開発者にとって、これは、ソフトウェア テスト方法論、テスト ライフ サイクル ソフトウェアについてさらに学び、サポートする自動テスト ケースを構築する方法を学ぶ必要があることを意味します。これらのライフサイクル。この重要な変化を見逃さないでください。そうしないと遅れをとってしまいます。アジャイル手法とアジャイルベースのプロジェクトの台頭により、ますます多くの組織が QA と開発者を 1 つに統合するようになりました。ソフトウェア テストの世界で基本的なトレーニングを受け、同時にソフトウェア開発者のスキルをよく理解している人は、非常に価値があります。 オープンソース テクノロジ/プログラミング言語:説明内で太字で強調表示されているテクノロジとプログラミング言語に注意してください。これらのテクノロジーと言語はターゲットにされており、市場で需要があるためにはそれらを学ぶ必要があります。需要の高いテクノロジーを 1 つ選択し、それを練習し、実際の実践的なアプリケーションやプロジェクトに参加して、スキル セットの構築を開始します。これにより、学習がスピードアップします。どのプログラミング言語から始めればよいかわからない場合は、少し分野を絞りましょう。
プログラミングは自動テストの基礎です。自動テストに参加したい場合は、コーディングができる必要があります。プログラミングが上手であればあるほど、自動テストや自動開発でより成功することができます。したがって、この絶え間なく変化する開発とテクノロジーの世界で競争力を維持したい場合は、この恐怖を克服し、需要の高い自動テスト開発者になることを決意する必要があります。良い点は、より経験豊富な同僚からの最小限の指導、粘り強さと忍耐力を適用し、(JavaRush で行っているように) 継続的に練習することで、プログラミング スキルを確実に向上できることです。次の論理的な質問は、どのプログラミング言語を学べばよいのかということです。私たちの市場評価に基づいて、雇用主は「オブジェクト指向プログラミング言語を深く理解している」人材を雇用したいと考えていることがわかっています。そして私たちの分析によると、それらが参照しているオブジェクト指向プログラミング言語がいくつかあることがわかります。たとえば、Java、C#、JavaScript、Python などです。どれからでも始めることができます。OOP 言語の学習を始めている場合は、自動テストに精通するために適切に対処するためのいくつかの概念を以下に示します。
パブリック ドメインで入手できる優れたツールは、Selenium WebDriver です。Selenium には複数の言語バインディング (Python、Java、C#、Ruby、PHP、JavaScript など) があるため、これらのプログラミング言語のいずれかを学習することは、オートメーション分野で堅実なキャリアを築くための優れた基盤となります。信頼性があり、機能的で効率的な自動テスト ケースを構築するには、マスターする必要があるいくつかの重要な概念を次に示します。
プロのアスリートは誰でも、トレーニングの努力と努力によって自分の旅の高みに到達したと言うでしょう。マイケル・ジョーダンは一生懸命プレーしたが、それ以上に一生懸命練習したと言われています。このアプローチは、自動化を検討している人は誰でも採用する必要があります。新しいスキルが自然になるまで、練習して練習してください。これがスキルを向上させ、テスターとして需要があるようになる唯一の方法です。トレーニングの良い方法の 1 つは、プログラミング言語と自動化ツールを同時に「遊びながら」積極的に学ぶことです。言い換えれば、小さなプログラムや自動テスト スクリプトを作成し、それらを壊したり、変更したりして、現在どのように動作するかを確認します。これまでの行動から学び、もう一度試してください。遊んで、実践して、学んで練習しましょう。これを行うと、学習曲線が向上します。
キャリアの方向性を根本的に変えようとするのは困難に思えるかもしれませんが、評価され、市場価値があることは不可欠です。絶え間なく変化するソフトウェア開発の世界を常に把握し、雇用主が実際に求めているものになるためには、新しいスキルを開発する必要があります。小規模から始めてください: 市場の要件を評価し、オブジェクト指向プログラミングと自動化ツールを学習し、継続的に練習します。そして、あなたは知らないうちに新しい仕事の機会に備えることができるでしょう。出典: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
ステップ 1: 市場評価
スティーブン・A・コヴィー博士の著書『非常に効果的な人の7つの習慣』の「第2の習慣」には、「終わりを念頭に置いて始めなさい。」と書かれています。私は、自動テストを開始する場合には、この原則が当てはまると信じています。自動化エンジニアを雇用している人のニーズを市場で評価することから始めます。雇用主の技術的ニーズを理解できれば、適切なスキルを習得できます。まず始めに、任意のサイト ( Indeed.com、 Dice、Monster、LinkedInなど) で求人情報を確認することをお勧めします。- テスト自動化エンジニア。
- オートメーション開発者。
- 自動テスト/テスター (自動テスト) (自動テスト/自動テスター);
- QA オートメーション エンジニア;
- テストのソフトウェア開発エンジニア (SDET)。
- 彼らは具体的にどのようなスキルやテクノロジーについて言及していますか?
- これらのスキルには別個のスキルまたはテクノロジーのセットまたは「ブロック」が存在しますか?
- 必要な場合、何年の経験が必要ですか?
- 他の業界よりも多くの自動化エンジニアを雇用する傾向がある特定の業界はありますか?
- どのくらいの給料が期待できますか?
- 私たちが興味を持っているツールやテクノロジーは主にオープンアクセスですか、それとも商用製品ですか?
- オブジェクト指向プログラミング言語を明確に理解している。
- Jenkins、Test Complete、VersionOne、Git、Visual Studio、Oracle、MSSQL、Hyper-V、AQTimeに精通している。
- 開発者、ビジネス アナリスト、その他のテスターと緊密に連携して、開発されたソフトウェアの要件を検証するために使用されるテスト自動化コンポーネントを特定します。
- 自動化されたテストを適切なバージョン管理システム ( TFS、GitHubなど) に保存します。
- 自動化のための事前に定義された自動化標準とDevOps標準に従い、継続的な統合および展開プロセスに準拠します。
- ALM ツール (TFS、Jira、HP QC) およびテスト自動化ツール (できれば Selenium WebDriver)の使用経験。
- Selenium WebDriverの使用経験;
- Python、Java、または類似の言語でのプログラミング スキル。
- モバイルテストの経験 / Appium。
- C#、TypeScript、JavaScript ...のテスト環境とテスト ツールを更新および拡張します 。
- C#、Java、JavaScript の強力なプログラミング スキルと、オブジェクト指向プログラミングの概念を明確に理解していること。
- Visual Studio、Subversion、GitHub、Unity、Teamcity、Jira Cloud、Confluence の経験。
ステップ 2: オブジェクト指向プログラミング言語 (OOP) をマスターする
正直に言うと、ほとんどの手動テスターはプログラミングを恐れています。多くの手動テスターは、内部に入ってシステムやアプリケーションが実際にどのように動作するかを想像するだけで恐怖を感じます。この恐怖が、彼らが手動テスターになった主な理由です。- オブジェクト指向プログラミング (クラス、オブジェクト、インスタンス、継承、属性など)。
- モジュール、標準ライブラリ (選択した言語)。
- データ構造 (辞書、リスト、タプルなど)。
- データ型 (文字列、文字、整数、浮動小数点、論理型またはブール型、NoneType など);
- 変数;
- エラー/例外処理。
- 算術演算子/優先順位;
- 比較、論理ブール演算子。
- プロシージャ/関数/メソッド;
- 制御フロー: If ステートメント、for ループ、while ループなど。
- ファイルの読み取り/書き込み。
ステップ 3: 自動化ツールを使いこなす
私はいつもこれを言い続けています。プログラミングが上手になればなるほど、自動化もより上手にできるようになります。プログラミング言語の学習を開始したら、次のステップは自動化ツールの使用方法を学ぶことです。なぜなら、ほとんどの企業はコスト上の理由から、商用ライセンス製品ではなく、オープンソースの自動化ツール(またはフリーソフトウェア)に傾いているからです。- デザインパターン:ページオブジェクトモデル;
- さまざまなロケーター (CSS セレクター、XPATH、ID、名前など) を使用して Web ページ要素を検索します。
- Windows/iFrame を切り替えます。
- リファクタリング;
- 単体テスト。
- クラウド テスト/並列テスト。
- データチェック。
- さまざまな Web ブラウザ (Firefox、Internet Explorer、Chrome、Safari、Opera など) でのテスト。
- 暗黙的および明示的な期待。
- 行動の連鎖
GO TO FULL VERSION