この質問のいくつかのバージョンがQuoraに上がっている。 1) 多くのソフトウェア会社では、非公式な(あるいは正式な)ヒエラルキーがあり、テスターよりも開発者の方が食物連鎖の上位にある。 2) そのような会社では、優秀なテスターは開発者になることを目指す。 3) これはなぜか?
さて、この質問の言い回し、特に「テスター」という言葉の使い方が、その答えを指し示している。 テストは非常に貴重な活動である。 一人のテスターが一日にできるテストはほんのわずかです。 明確には言われていないが、「テスター」という言葉は「手動のテスター」を意味し、それはしばしばかなり反復的な仕事である。
自分の会社がテスターを重要視していないと誰かが言うとき、その人が本当に見ているのは、自動化で行うべき仕事を人が行っている例である。
ソフトウェア・テストに関わる活動の種類を見てみよう:
- テスト計画設計
- 探索的テスト
- テストケースの作成と手動実行
- テストケースの自動化
- 測定とトラブルシューティング
- 最適化
テスター」というラベルを貼られた人は、多くの手動実行を行い、コードを変更しなければならないたびに同じ実行を行うことが多い。
対照的に、成熟した組織では、手動テストの実行は、実際の目標であるテストの自動化のプロトタイピングフェーズの一部であると見なされている。 テスター "という肩書きを持つ人さえいないかもしれない。"SEiT"(Software Engineer in Test)や "SDiT"(Software Developer in Test)という肩書きを目にすることの方が多いだろう。 SEiT/SDiTは、テストされる製品と並行して完全なテストインフラを構築します。 つまり、SEiTの仕事は、実際には開発の仕事であり、テストの仕事ではない。
SEiTの多くは、製品開発者よりも製品領域について詳しい。 SEiTはまた、製品を効率的かつ効果的に実施する方法の専門家でなければならない。 また、大規模で複雑なソフトウェア製品は、しばしば大規模で複雑なテストインフラを必要とするため、SEiTは、重要なソフトウェアシステムをアーキテクトし、構築し、維持することができなければならない。
もうひとつの考え方は、測定と レバレッジという観点である。 ポール・グラハムは、その著書『Hackers and Painters(ハッカーと画家)』の中で、多くの報酬を得るためには、あなたの仕事は測定可能な結果を出さなければならず、また、わずかな時間の努力で多くの結果を出すことができなければならないと書いている。 テスターは一度に1つのリリースしかテストできない。SEiTは、テスターよりも優れたスピードと再現性で、何度もテストするコードを作成する。
これらの理由から、成熟したソフトウェアチームは、SEiTに非常に高い価値(地位、給与など)を置いている。
なぜ開発者の方がテスターよりも地位が高いのか」と聞かれたら、私はこう答える。
(免責事項:eInfochipsはSEiTイニシアチブで主要なクライアントを支援しています。 私たちはソフトウェアテストにおける自動化の力を強く信じています。SEiT/SDiT イニシアチブについて詳しくは、http://biz.einfochips.com/TDZ-Clearing-Your-Test-Automation をご覧いただくか、marketing@einfochips.comまでご連絡ください。