テスターはもっと技術的になるべきか?

この記事はRaj Subrameyerによるゲスト投稿です。

過去数十年でソフトウェアテストは飛躍的な発展を遂げました。以前は、この分野がテック業界でも際立った役割を果たすことになるとは認識されていませんでした。

ソフトウェアテストの専門職が生まれてから現在に至るまで、常に議論になるのが、テスターはより技術的になるべきかという話題です。答えは主観によるところが大きいのですが、あなたの感じ方がどうであれ、より技術的なテスターになる、あるいはより技術的なテスターを採用することに労力を費やす前に、検討すべき事項がいくつかあります。

まず、自分に尋ねてみましょう。

「なぜ」の実体

はじめに、テスターはなぜもっと技術的になりたいのかを明確にする必要があります。

以下の質問は、「なぜ」に近づくのに役立つかもしれません。

  • アプリケーションコードを理解し、機能が内部でどのように動作しているか、何をテストすればよいかをもっと明確に把握したいですか?
  • テストをより効率的にし、ボトルネックを解消するための仕組みを構築したいですか?
  • 開発職への転向を考えていますか?
  • DevOpsや継続的テストを実践しているアジャイル環境で働いており、自動化をいっそう進める必要がありますか?
  • 今働いている会社では、テスターに成長の余地がないと思いますか?
  • 別の会社でもっといい仕事に就ける可能性を高めたいですか?

「なぜ」を追究することは、より技術的になりたいという願望を理解するのに重要です。そうすることで、自分がコーディングに対して熱意を持っていないことがわかり、その発見が別のキャリアパスや機会に重点を移すのに役立つこともあるかもしれません。

技術的なテスターになれば、あなたの価値は上がるか?

非技術的なテスターであることには価値がないと誤解されていることがよくあります。これはまったく真実ではありません。

私の経験から言えば、非技術的なテスターは、よりドメイン知識が豊富で、システムに対してより広く総合的な視野を持っている傾向があります。1つのコンポーネントだけに注目するのではなく、システムのさまざまな障害点を考慮します。また、さまざまなペルソナについて考えているため、多様なフィードバックや結果につながります。コミュニケーションが得意であることも多く、リーダーシップを必要とするポジションで力を発揮できます。

コードを書き、仕組みを構築する技術的なテスターは、日々のテストアクティビティのどんな面に時間がかかっているか、自動化すべきハイリスク領域はどこかを理解し、ステークホルダーとチームにとって最も価値のあるタスクを優先するために、非技術的なテスターからの支援を必要とします。

もっと技術的になるべきか?

企業がより機能横断的なチーム編成に向かい、かつてないスピードでリリースを行うために自動化に頼る割合が増えるにつれて、ある程度の技術的スキルが役に立つことは多いでしょう。自動化されたシステムに詳しくなれば、あなたのキャリアに有利でしょうか?

アプリケーションのコードを読み、理解する能力があれば(たとえコードを書くことはできなくとも)、あなたに対する信頼は増し、開発中の機能を理解する助けになり、あなたがバグを見つけたりシステムの機能に関する懸念を表明したとき、開発者はあなたの意見をもっと真剣に受け止めるかもしれません。技術的知識を持つことは、もしそうすることに興味があるなら、開発者へのキャリアパスを容易にもするかもしれません。

技術的になるにはどうすればよいか?

第一に、より技術的になるには、意識を変える必要があります。多くのテスターは、依然としてコードを見るのをしり込みし、自分にはアプリケーションコードを理解できる才能も素質もないと考えていますが、たいていはそのようなことはありません。

次に、順調に移行を進めるためには、具体的でその時々に合った、成果を測ることのできる現実的な計画が必要です。取り掛かりとなるアイデアをいくつか挙げます。

  • 開発者または技術的なテスターとペアを組み、どのようにコードを書くかを観察し、質問する
  • JavaScript、HTML、CSSなどのよく使われるプログラミング言語のコースを受講する
  • 経験豊富な他のテスターの支援を受けて、システムの簡単な機能を自動化することを志願する
  • ランチセッションやカンファレンスに参加し、他の経験豊かな専門家から学ぶ
  • プロジェクトに関連するさまざまな技術的側面を扱った記事やブログを読む

このとき重要になるのが探求心です。どんなものであれ新しいスキルを身につけるときは同じですが、探求心だけが真の情熱と興味を見出す助けになります。

また、コードを書くのはテストの一面にすぎず、仕事を楽にするものは他にもあることを覚えておくのも重要です。テストには、技術的であること以外にもいろいろな要素があります。たとえば、さまざまなユーザーのペルソナについて考えること、ハイリスク領域を特定すること、開発中の機能をより明確にするためのストーリーを練ること、探索的テストを実施すること、後で参照できるようにさまざまな成果物をメンテナンスすること、じゅうぶんにテストが完了していない機能について懸念を表明すること、運用の問題のパターンを特定すること、テストの優先順位を付け直す際に支援すること、テストアプローチ、ツール、技術に関して他のチームメンバーのメンターとなることなどです。

非技術的なテスターもチームに多大な価値をもたらすことができます。それでも、もっと技術的なスキルを獲得すればあなた自身とあなたのキャリアにとって利益があると判断したなら、確実なアプローチでより技術的なテスターになる道を進みましょう。

Raj Subrameyerは豊富な技術的バックグラウンドを持つ国際的な基調講演者、ライター、技術キャリアコーチです。自身のブログrajsubra.com/blog/では、読者がより良い人生を送るのに役立つニュース、リソース、最新情報を投稿しています。

(この記事は、開発元Gurock社の Blog 「Do Testers Need to Be Technical?」2020年1月9日の翻訳記事です。)

eBook 公開中

Paul Gerrard著 効果的なテスト管理12の秘密 (日本語)

テスト計画やテスト管理に役立つ12のトピックを解説します。

詳細はこちら