テストエンジニアとは?
テストエンジニアの年収について見ていく前に、テストエンジニアという職種について確認しておきましょう。
テストエンジニアはその名前の通り、プログラミングなどシステム構成要素へのテストに対して責任を持つエンジニアです。
具体的に言えば、作成したプログラムのテスト内容を決定し、テスト仕様書など、テストを行うドキュメンテーションを作成し、テスターなどのテストを実際に行う要員に対して、テストに関する指示を出すこと。
そして、実際に行われたテストの結果を検討・承認し、クライアントやプロジェクトマネージャー向けにテスト結果をまとめたドキュメンテーションを作成すること。
究極的には上記の二つになります。
関連する職種としては、テスターとQAエンジニアが挙げられます。
テスターは上でも触れましたが、テストエンジニアの傘下要員として、実際にテストを行うエンジニアのことを指します。
QAエンジニアは、システム開発全体のQA(品質保証)の責任者であり、テストエンジニアの上位職です。
ただし、実際の現場を見ていると、QAエンジニアとテストエンジニア、テスターの分類は曖昧です。
案件の規模などによって、QAエンジニア、テスターがおらず、プロジェクトマネージャー格の要員がQAエンジニア相当の職責を負い、テストエンジニアたちが自分たちで全てのテスト項目を消化することもよくあります。
もっといえば、一般的に設計者とテスト項目作成者は分けた方が良い(※)と言われていますが、わざわざテストエンジニアを用意できない・用意しないため、システムエンジニアなどがテストエンジニア相当の役割を担っていることも非常に多いです。
※設計者がテスト項目を作ると、思い込みなどのために、“要件に適合する正しいテスト項目”が作成されないことがしばしばあるため。
さらに言えば、企業などによって、“テストエンジニアの業務範囲”が異なっており、システムエンジニアの募集と謳っているが、実際の業務内容はテスターだった、という話もよく耳にします。
転職支援サービスによっては、テストエンジニア・テスターと一括りにしているところすらあります。
そのため、テストエンジニアを積極的に運用していない現場でのキャリアが長いシステムエンジニアの方の中には、「システムエンジニアはスキルの十分ではない若者のための仕事」だとか「〇〇エンジニアと呼ぶと聞こえが良いと、人材会社が作ったでたらめな職種名。実際はエンジニアと呼べない作業者」などと低く評価されている節があります。
逆にテストエンジニアを積極的に運用している現場では、様々な開発時のリスクに精通した、もっとも優れた技術者の就く役職として敬意を向けられ、システムエンジニア以上の発言権を有していることもあります。
また、テストエンジニアという肩書で、いわゆる“品質管理コンサルタント”業務を行っている方もいらっしゃいます。
テストエンジニアは有名な割に、職務範囲や評価が非常に曖昧で、一定しない職種と言えます。
テストエンジニアの平均年収は?
上で見た通り、テストエンジニアの責任範囲や評価が曖昧なため、同じ“テストエンジニア”という職種名であっても、下は300万円よりも低い方、上は1000万円前後の方もいる、という現実があります。
一応、求人サイトなどでは平均年収は400万円~500万円と紹介されることが多いです。
確かに、テスト項目の作成などを行う、テスターより上位と扱われている“真っ当なテストエンジニア待遇”であれば、400万円以上の年収が期待できるように思います。
テストエンジニアの年収が高い業界は?
テストエンジニアの年収が高い、つまりはテストエンジニアの評価やニーズが高い業界としては、組み込み系システムを作る製造業(と取引しているソフトウェア業界)やパッケージ業界、ゲーム業界などが挙げられます。
特にゲーム業界は募集も多いです。
スマホゲームやオンラインゲームなどでは開発速度が求められるだけでなく、なおかつバグがあって緊急メンテナンスでサービスの一時停止を行った場合、ユーザーの流出やお詫びアイテムの配布などで単なるサービス一時停止だけでは済まない、経済的損失まで強いられてしまいます。
そのため、速やかにプログラミングの問題を見つけられる、テストエンジニアが必要になっています。
ただし、テストエンジニアの名前で、テスターやデバッガーと変わらない業務をさせられることが多い、という悪評もゲーム業界にはありますので、業務内容をよく確認しましょう。
ちなみに、テスターやデバッガーの年収とテストエンジニアの年収差は小さくありません。
数倍差がつくこともあります。
それから、組み込み系システムなどの開発を行う製造業(と取引しているソフトウェア業界)で働くテストエンジニアは高年収が期待できます。
理由としては「システムのバグで、ブレーキを踏んでもアクセルがかかる不具合を持った車を製造・販売してしまったら、万が一、その不具合によって人が事故死したら、誰が責任取れますか?」という問題に尽きます。
社内の経験豊かなエンジニアや外部の優秀なフリーランスなどをテストエンジニアに任命して、システム構成要素の品質管理業務に従事させていることが多いです。
他に年収が高いテストエンジニアの勤務先としては、上でも触れた、品質問題のコンサルタントとして活躍できるコンサル業界や、多数のテストエンジニアを抱えて、いわゆる第三者機関としてクライアント企業の作成したシステムをテストする専門企業などが挙げられます。
プログラミングなどシステム開発に関わる業界であれば、作成した成果物の出来を確認するためにテストが必要なため、テストエンジニアの活躍の余地は広いかと思います。
ただし、SIer業界などでは、システムエンジニア要員がテストエンジニアを兼ねることが多く、テストエンジニアという職種自体存在しない企業も少ないです。
私自身、SIer出身ですが、システムエンジニア要員教育の一環としてテスト項目の策定方法を含めたシステム構成要素の品質管理について研修を受け、「システムエンジニアはプロジェクトマネジメント能力の一つとして自分たちが作った成果物の品質管理ができるのが当たり前。テストエンジニアって、なんだそれ?」くらいに思っていた人です。
ちなみに、実際の案件の進め方としては、小さい案件では主担当のシステムエンジニアがテスト項目まで作成し、重要な案件についてだけ、同じ部署の主担当ではないシステムエンジニアなどが、いわば“助っ人”としてテストエンジニア的な業務を行うパターンが多かったです。
年収が高いエンジニアの特徴は?
一言で言ってしまえば、効率よくテストを消化できるように検証作業をデザインできるテストエンジニアが高い年収を得ています。
大量のテスター(つまりはお金)を使って、マンパワーでひたすらテストというのはもはや過去のものになりつつあります。
昨今、テスターの代わりにテストを進めてくれる検証ツールを使って効率的にテストを行うのが一般的です。
テストエンジニアには、テスト仕様書などを作成する際、どういった検証ツールを利用するのか、あるいは利用できる検証ツールが限られている場合、どのようにテスト項目や検証ツールを設定すれば良いか、知っていることが非常に重要となっています。
まとめ:テストエンジニアは重要な仕事
テストエンジニアは「問題のないシステムを開発して、納品する」という当たり前だけれど、実に難しいミッションを実現するために作られた役職です。
非常に重要なポジションです。
責任は重大ですが、その分、やりがいも大きいです。