テストエンジニアという職業をご存知でしょうか?
IT業界のエンジニアと言えば、システム設計や企画をするSEや、プログラマーなどを連想される方も多いかと思いますが、大規模なシステムでは、SEやプログラマーが開発・製造したものをチェックするテストエンジニアという職業も非常に重要な役割となってきます。
どんな大希望システムにもバグやインシデントは必ず付き物となっておりますので、エンドユーザーやクライアントに影響が出る前に、テストエンジニアが全てを未然に防いでおります。
今回は若手テストエンジニアの方に直接、仕事内容や仕事のやりがい・きつい所までをインタビューしましたので、これからテストエンジニアになろうと考えている方には、参考になることでしょう。
テストエンジニアとは?仕事内容と給料
仕事内容
テストエンジニアは、開発中の製品に対して、問題がないかのテストをおこないます。自社でテスト部門をもっていたり、他社開発の製品のテストを請け負う形だったり様々です。
テストエンジニアは大きく3つのクラスに分かれており、初級クラス、中級クラス、上級クラスがあります。ここでは、それぞれのクラスの役割、仕事内容について紹介したいと思います。
【初級クラス】
製品評価の作業オペレーターとして、テストケースに従って、決められたテストをおこないます。言われたことをやるだけでなく、製品を触ってみて使いにくくないか、わかりづらくないかなど、ユーザー目線で確認することが求められます。
【中級クラス】
中級クラスになると、テストの方針策定やテストケース作成など、どうすれば品質を保証できるテストができるかを考えます。また、テストを行った結果を分析し、品質に対する客観的な事実・見解を示します。さらに、テストを効率化するために必要なテストツールの選定や運用を任され、テスト自動化なども検討していきます。
【上級クラス】
上級クラスは、品質に対しての責任を持ちます。テストの結果やプロセスなど、総合的にみて製品に問題がないかの判断を行います。また企業によっては、テストを潤滑・確実に進めるためのサポートやアドバイスを行うコンサルタントの役割もあります。
給料や年収
所属企業にもよりますが、平均年収は400~600万円前後となります。
テストエンジニアのやりがい
テストエンジニアの仕事の面白いところや楽しいところは人によって様々あると思いますが、ここでは2つあげることにします。
幅広い技術に触れられる
テストエンジニアは、その製品がお客様に満足してもらえるものかどうかを確かめる必要があります。なので、その製品を使ってできること、使われている技術をよく知る必要があります。また製品に使われている技術はかなり多いので、非常に多くの知識を得ることができます。
開発に携わる方が多くの技術に触れられるのではないか、という意見もあると思いますが、そうとも限らないと考えています。
というのも、製品の開発規模によりますが、普通は開発者は特定の部分に特化しています。例えば、車を開発しますとなった場合、エンジンはこの人、操作部はこの人、というように役割分担をしないとやっていけません。なので、開発者は特定の部分に特化した、”狭く深い”知識が必要になってくるのです。
一方、テストエンジニアは、製品全体をテストします。つまり、エンジンもみるし、操作部も見ます。つまりいろいろな技術を”広く浅く”知る必要があるのです。
多くの人と関われる
テストエンジニアは、上記のように、幅広い知識が必要です?その知識を得るためには、それぞれの開発者や知見を持った人と関わる必要があります。そのため、人脈が広がり、そこから新しい仕事が生まれたりします。ビジネスは人あってこそだと思うので、人脈を広げることは有益ですし、なにより知り合いが増えるというのは楽しいです。
テストエンジニアのきついこと
テストエンジニアの大変なところはたくさんありますが、ここでは1つあげるとすれば「勉強することが多い」という点が一番きついです。
テストエンジニアは、学ぶことが多いです。製品の仕様を理解し、ネットワーク構造やセキュリティについても考える必要があります。
テストを行ったあとにテスト結果をまとめて、分析や考察をおこなって、上司や関係者に報告するという仕事が発生します。
製品の品質を保証するための重要な仕事ですので、しっかりと論理立てて分析・説明する能力も問われます。
とにかくあれもこれもスキルを身につけていかないと難しい仕事です。はっきり言って大変です。
また、関係者とのコミュニケーションは必須で、人と話すことが苦手な人には結構キツイ仕事だと思います。
はじめの頃は、関係づくりに苦労します。
ただ、仕事にも慣れてくると知り合いも増えて、仲良くなればなるほど楽になると思います。最初の2,3年は苦労すると思いますが、頑張ってください。
テストエンジニアに向いている人
- 本質を考えることができる人
- 細かいところに気付ける人
- 努力できる人
①本質を考えることができる人
どの仕事にも言えることですが、本質を考えることは重要です。
例えば、車のテストをすることを考えます。
開発から、ハンドルが左右それぞれん180度回るようにしました、テストお願いします、と依頼がきたとします。テストをしてみると、確かに180度ずつ回りました。仕様通り動いているのでこれで問題ありません。
はたして、これでいいのでしょうか?
ハンドルが180度回ったとしても、タイヤが180度回るとは限りません。
つまり、タイヤがハンドルに合わせて想定通りの動きをしていないと意味がないわけです。ハンドルはタイヤを動かすことが本質なので、そこが考慮からずれていると意味がありません。
このようなことに気づける、つまり本質を考えることができる人がテストエンジニアには向いていると思います。
②細かいところに気付ける人
テストエンジニアには、細かいところに気がつける能力は必要だと思います。
テストエンジニアは品質を保証するのが仕事です。小さなことでも、保証する責任があるので、気にする必要があります。
例えば、ネジが一つ締め忘れていました、うっかりミスです、今後気をつけます、とか言ってくる人がいたとしましょう。
ネジ1つくらいなら大丈夫ですよ、とか言っちゃう人は向いていないんだと思います。テストエンジニアとしては、ネジ一つでも問題、なぜ起こったのか?再発防止を徹底しなさい、と酸っぱく言う必要があるのです。
開発からしたら、めちゃくちゃめんどくさい人ですが、これが仕事なのです。なので、細かいことを気にしてしまう、完璧主義者のような方は向いていると思われます。
③努力できる人
どんな仕事でも努力は必要だとは思いますが、テストエンジニアは、特に努力が必要だと感じています。
テストエンジニアは、まず製品の仕様や仕組みを理解しなければなりません。電化製品であれば、基本的なIT知識やハードウェア、ネットワーク構造やセキュリティの知識、食品や化学製品、薬であれば、化学・薬学の基本的な知識、分析手法などのスキルも必要になります。
ある特定の知識だけで十分な場合もありますが、キャリアアップをしていくなら、幅広い知識が必要です。なので、必ずと言っていいほど勉強はしないといけなくなります。
もし、努力できない人なら、初級レベルで止まってしまい、昇進は望めないでしょう。
昇進してお給料をアップさせたいならば、努力・勉強することは必須です。
テストエンジニアに向いていない人
- 自分で考えられない人
- 大雑把で物事を細く見れない人
- 努力できない人
①自分で考えられない人
与えられたテストを実施するだけでは、テストエンジニアとして重宝されることはありません。
自分でこのテスト内容の目的や、テストを設計・計画した人の意図をくみ取ったうえで、追加でこのようなテストも必要ではないかと考えられる能力が必要となります。
何も考えずに作業を作業として行いたい人には、常に自分で考えて業務を遂行するテストエンジニアは向いていないかと思います。
②大雑把で物事を細く見れない人
細かい設計書の弱点を見抜くのがテストエンジニアの仕事です。
大雑把に計画も立てずに行動したい人には、面倒な仕事だと思いますので、向いていないかと感じます。
③努力できない人
テストエンジニアを激務だと表現する人もいますが、業務時間外でも常に新しい技術や知識を習得する努力が必要となってきます。
もちろん、業務量に関しては、忙しい時期と落ち着いた時期の波はありますが、常に休むことなくある程度の努力を継続する必要はありますので、覚悟が必要となります。
テストエンジニアに就職するには?
テストエンジニアになるために、必要な資格はありませんが、ソフトウェア資格のJSTQBを保有している方が有利だと思います。
IT業界ではメジャーな仕事ではありますので、転職サイトに登録・転職エージェントに相談すれば、沢山求人募集があります。
テストエンジニアは、勉強することが多く苦労する一方で、確実に実力がついていきます。
開発者からするとテストエンジニアは、製品化の日程を遅らせる厄介者のイメージが強いですが、市場で問題が起こると、そっちのほうがコストも時間もかかり面倒です。テストエンジニアの重要性を理解した上でやるべきことを考えるといいかと思います。