
今回はこういう疑問に答えていきたいと思います。
結論としては、未経験者でもプログラミングに自信がなくても、テストエンジニアにはなれます。
テストエンジニアもプログラマーも「未経験でもなれる」という求人情報がありますが、テストエンジニアに絞って今回はご紹介します。
そもそもテストエンジニアってどんな仕事? プログラマーとの違いは?
簡単に言うと、IT技術を使う製品が世の中で使われる前に動作確認をし、問題なく動作することを保証する職種です。
「テスター」「QAエンジニア」という名称で呼ばれることもあります。
家電製品、駅にある券売機、銀行のATM、スマホアプリなど、あらゆるIT機器・アプリはテストエンジニアによって必ずテストされています。

プログラマー=プログラミング言語を使ってシステムやアプリの動きを「創り出す」仕事
テストエンジニア=創られたプログラムがシステムやアプリで動くか「確認する」仕事 となります。
決まった手順通りに動作確認するのがメインになるので、プログラマーのようにセンスの面での向き・不向きが大きく出ないIT関連の職種です。
未経験でもチャレンジしやすい「テストエンジニア」になるメリット

1. 最新の機器・機能に触れる経験ができる
テストエンジニアが扱うテストは、どの案件でも世の中に出回る前の段階でのテストになるので、一足先に流行を先取りできます。
創りたいという気持ちは薄いけど、IT技術に触れるのは好きという方もいると思いますので、そのような方には向いているかと思います。
プログラマーは「自分のプログラムには間違いはないはずだ」という自信を持って仕事をしているので、第三者の立場からテストすることは不具合発覚のためには役に立ちます。
2. Officeやパソコン・機器操作に詳しくなれる
テストエンジニアは、メインである「動作確認」だけが仕事ではありません。
テスト結果の入力やテスト項目通りの結果にならなかった時に不具合報告書を作成する仕事があります。(WordかExcelを使用)
先輩方はITについて詳しい人が多いため、ぎこちない操作でWordやExcel、機器に触れていると、こんな風に使えばいいと教えてもらえることがあり、未経験者にとってはスキルアップになります。
3. トラブルが起きた時に不具合を修正する責任はない
たまに、ニュースでシステムのトラブルのニュースがありますが、不具合の原因を突き止め、プログラムそのものを修正するのはプログラマーの役割となります。
テストエンジニアは、根本となるプログラミングはしていないので、不具合を発見した時に「どういう状況でこのような結果になりました」と報告する必要はあります。
ですが、実際のプログラムの修正はプログラマーが行うので、特に世の中にシステムが出回ってからの不具合発覚の時の緊迫感を一番感じるのはプログラマーになると思います。
プログラム修正後の動作確認の出番はありますが、プレッシャーは断然プログラマーの方が大きいです。
4. テスト案件によっては、他の都道府県に行くことができる
家電製品やスマホ関連の案件では、他の都道府県に行ってまでテストをすることは、基本的にはないかと思います。
しかし、例えば地方にしか置いていない銀行のATMのようなテストがある場合には、実際に現地に行ってシステムが動作するかどうか確認しに行く必要があります。
そのため、旅行好きな人にとっては会社の経費で他の都道府県に行き、2週間~1ヶ月ぐらいの長期テストになると休日にご当地グルメや観光を楽しむチャンスもあります。
あくまでも仕事メインなので、スケジュールに余裕があればの話ですが…。
5. 会社によっては、テストエンジニアからのキャリアアップが図れる
プログラマーもいる会社であれば、未経験の場合、最初はテストエンジニアからのスタートになることもありますが、プログラムの修正など徐々にステップアップできる機会もあります。
未経験でプログラミングに自信のない人には、まずはテストエンジニアでシステム開発の流れを経験するという会社もあるからです。
ただし、プログラマー希望なのにいつまでもテストエンジニアのままの場合、プログラミングの適性がないかプロジェクトにプログラマーとしてアサインできないということもありますので、その場合転職すべきか考えた方が良いでしょう。
テスト専門の会社の場合、テストエンジニアをまとめる「テストマネージャー」、テストの計画やケースの分析を行う「テストアナリスト」などにステップアップできる機会があります。
未経験で入った後、ずっとプロジェクトメンバーとしてのテストだけで終わるというキャリアではない可能性もあるので、入社したい会社で、将来どのようなキャリアパスがあるのか面接の時に聞いてみるのも良いでしょう。
後で後悔しないために…あらかじめ知っておきたい「テストエンジニア」になるデメリット

1. クリエイティブなスキルが身につかない
未経験でもプログラマーになりたい場合には、テストエンジニアという職種ではなく、プログラマーとして採用してもらいましょう。
あくまで、テストエンジニアは「確認のプロ」としての人材を求めています。
「確認」ではなく、「創りたい」のであればテストエンジニアだとクリエイティブな要素の仕事はなくなります。
世の中で使われるようになった時にプログラマーであれば「あのシステムを創るのに自分が関わった」と思えます。
一方、テストエンジニアは動作確認だけなので出来上がった時の実感は当然のことながら得られないのが現状です。
2. 仕様変更・不具合による修正により、同じ確認を何回もすることがある
テストエンジニアはプログラムの修正や追加があれば、必ず関連項目について想定されるあらゆる項目について確認する必要があります。
例えば、アプリ開発の場合、一部分しか変更点がなかったとしても客先(発注元)にリリースする前には基本的な動作確認のテスト項目を一通り行う必要があります。
プログラマーは仕様変更・不具合修正が必要になった時に必要な部分の対処ができればよいことになります。
一方で、テストエンジニアは今まで行ってきた項目にも動作に影響がないかどうか検証するため何回も同じ確認することになります。
修正の場合、今までやってきたテストの確認が無駄だったと感じるような場面に遭遇することがあります。
それでも手を抜かずにコツコツと確認し続ける忍耐力のない人には、苦痛に感じる仕事になります。
3. テストエンジニアとしてのキャリアアップが図れない会社もある
プログラマーのメインの会社で、まずは「プロジェクトのメンバーの一員」としてテストエンジニアとなった場合、自主的に学習し、周りに聞いて自分のノウハウにしていく気概が必須です。
特にSESの会社では年齢が上がるにつれ、できる役割がテストエンジニアの仕事だけになると、スキルが足りないとみなされます。
その結果、アサインプロジェクトが見つからず、最悪の場合、自社や自宅で待機ということもあり得ます。
テスト専門の会社ではどうしてもそのテストが合わない場合、テスト案件の種類を変えてもらうチャンスはあるかもしれません。
しかし、開発そのものをメインにしている会社の場合、テストが性に合っていても次々入社する新人に仕事を奪われてしまうこともありますので、注意してください。
その場合、会社勤めではなく、フリーランスでテストエンジニアとして働くと、月に40~50万円ぐらいの案件もあります。
ただ、紹介件数が少なく、技術が身につく案件ではないので、本当に合うかどうかよく考えた方が良いでしょう。


4. 深夜残業・休日出勤や急な出張が発生する場合もある
プログラマーもそうですが、トラブルがあった時にプログラムの修正後に動作確認をするので、テストエンジニアも一緒に行う場合があります。
そのため、休日の朝に突然電話がかかってきて、午後からテストが全部終わるまで出勤ということもあります。
また、案件によっては、動作確認のために急な出張が発生する場合もあります。
アプリ、Webサービス、家電製品は出張まではないと考えて大丈夫かと思いますが、ATMのような大型の端末を担当している会社であれば、突発的な出張はあり得ます。
IT関連の職種すべてに言えることですが、必要に迫られたら深夜残業・休日出勤はせざるを得ないので、あらかじめ覚悟の上目指しましょう。
テストエンジニアになるべきか考える時に覚えておいて欲しいこと

テストエンジニアは未経験でもプログラミングで何かを創れなくても採用されれば、できる仕事です。
ただし、仕事なのでテストだからといい加減な気持ちで取り組まずにプロ意識を持って、目の前のテスト項目に根気強く向き合う姿勢を持つべきです。
世の中に出る前に不具合を見つけ出す「最後の砦」でもあります。
そのような裏方でもテストエンジニアの仕事のデメリットよりもメリットを感じ、IT技術に触れてマネージャーやアナリストの立場としてステップアップしていきたいのであれば、テスト専門の企業を目指すとよいでしょう。
一方、開発メインの会社に採用された場合、テストエンジニアの仕事状況から将来的に抜け出せないと新人にどんどんスキル面で追い抜かれてしまうことがあります。
テストエンジニアでフリーランスをするという選択肢もありますが、案件数が少なくスキルアップが図れないのが特徴です。
創りたいけれど仕事として自信がないのであれば、趣味の範囲に留めるのも1つの手です。
仕事で使うプログラムと自主的に学習するプログラムは圧倒的に難易度が異なります。
自分が将来どんな姿になっていたいかをよく考えてテストエンジニアになるかどうか判断してください。