ソフトウェアテストの技術スキルを身につけるための3つの戦術
ソフトウェアの複雑化に伴い、業界では幅広い技術スキルを持つ人材を採用する傾向にあります。企業は、1人のエンジニアがさまざまな種類のアプリケーション、テクノロジー、プログラミング言語、フレームワーク、およびチームで作業できるようにすることを望んでいます。このことは、ソフトウェアテストの専門職に関して、まったく新しいレベルの課題をもたらします。
多くの経験豊富なソフトウェアのテスターは、優れた専門知識、経験、およびクリティカルシンキングのスキルを備えています。しかし、ユーティリティを構築したり、コードを理解したり、必要に応じて開発作業をおこなったりするための技術的なスキルセットが不足している場合があります。
多くのテスターは、そのような能力がなくてもキャリアで成功を収めていますが、知識を深め、キャリアパスの選択肢を増やすために、より技術的なスキルを身につけたいと考えている人もいます。もしあなたが後者のグループに属しているのであれば、次の3つの方法でその道を歩み始めることができます。
教育に投資する
新しいことを学び、自分のスキルを確認するために、学位や資格が必要だった時代は終わりました。現在では、学びたい技術スキルを身につけるためのオンライン リソース、カンファレンス、メンター、コミュニティ、有料のトレーニング プログラムなどが数多く存在します。
まずは、自分自身を教育することから始めましょう。これらのリソースを通じて、新しい概念、ツール、フレームワークを積極的に検討してください。同じ道を歩む様々な人と話し、彼らから学びましょう。
現在のプロジェクトを見直すのも、ひとつの良い方法です。次のような質問を自分に投げかけてみてください。
- アプリケーションで使用されている現在の技術スタックは何か?
- 自分のチームは開発とテストにどのようなツールとフレームワークを使用しているか?
- アプリケーションの開発とテストに使用しているプログラミング言語は何か?
- 職場には、どのようなテストツール、ユーティリティ、フレームワークがすでに存在しているか?
- 現在のプロジェクトにどのような技術スキルが直接適用できるか?
これらの質問の答えを考えることは、日々のプロジェクトにすぐに適用できる何かを集中して学ぶために役立ちます。新しいスキルセットを学ぶときによくある間違いは、そのスキルが実用的かどうかに注意を払わないことです。新しいことを学んでも、数カ月後にはそのことを忘れてしまうのです。
プロジェクトで毎日実践できることを学ぶようにしましょう。そうすれば、学ぶことがより楽しくなり、達成感も得られます。
アプリケーション内部を調べる
多くのテスターは、コードを見たり、システムの技術的な側面を理解しようとしたりすると、怖気づくものです。これは多くの場合、自分にはこの種の情報を吸収するのに必要な適性や才能がないと感じていることが原因です。
プロジェクトに価値を提供するためにテスターが技術的である必要はありませんし、「技術的である必要がある」という仮定は正しくありません。しかし、好奇心と物事を学ぶ意欲があれば、より良いテスターになれるのですから、技術的になることを恐れないでください。
見通しを変える方法の1つは、内部に目を向けることです。UIからアプリケーションを見るだけでなく、UIの下で同じアプリケーションをテストする他の手段を考えましょう。APIテスト、ブラウザーツールを使ったフロントエンドエラーの検査、Webサイトのトラフィックの監視、パフォーマンスと負荷のテスト、ヘッドレスブラウザー自動化ツールの使用など、さまざまな方法が考えられます。
方法を 1つか2つ選択して、学習と実装を始めましょう。これらの分野で事前知識を持っている開発者や他のテスターの助けを借りて、彼らから学ぶこともできます。
開発者とチームを組む
開発者はあなたの学習の支援者です。彼らの知識を活用して、技術的なスキルセットを身につけましょう。
コードレビューに参加し、開発者が議論しているコードの脆弱性に注意を払いましょう。コーディング手法、開発標準、使用されているプログラミング言語を徐々に理解するのに役立ちますし、何よりも、機能のテスト容易性、必要なテストデータの設定、その他テストに影響を与える可能性のあるあらゆる要素について洞察を得ることができます。
また、機能開発プロセスでは、開発者とペアを組みましょう。そうすることで、機能開発に使用されるコードについて直接的に知ることができます。並行して、オンラインのリソースを使って、プログラミング言語の基礎を学びます。しばらくすると、アプリケーションのコードをより理解できるようになり、よりシンプルで再利用可能なものにするためのアイデアを提案することもできるようになるはずです。最後に、ペアリング セッションの 1 つを自ら進んで担当し、簡単な機能の開発を始めることができます。
これらの3つのステップに従うことで、テスターは安全地帯を抜け出し、価値ある技術スキルセットを獲得し、キャリアアップの選択肢を増やすことができます。
作者について:
Raj Subrameyerは、国際的な基調講演者、ライター、およびキャリアコーチであり、技術的なバックグラウンドを豊富に持っています。 彼のBlog(rajsubra.com/blog/)では、読者の生活に役立ち、インスピレーションを与えるニュース、リソースを投稿しています。
(この記事は、開発元 Ranorex 社 Blog 「3 Tactics to Gain Technical Skills in Software Testing」2020年5月22日の翻訳記事です。)