- IT業界に入って間もない人
- ITエンジニアに興味のある人
- テストエンジニアについて知りたい人
こんにちは、YAKUMO(@yakumostyle)です。
飲食業界からIT業界に転身し、現在はITエンジニア ✕ マネージャーをしています。
今回のテーマは『テストエンジニア』。
IT初心者の人は、「どんな仕事?」「将来性はある?」と気になるところですよね。AIの発展によって、テストエンジニアの仕事がなくなるとの噂もありますが、、、
むしろ、今後も需要が伸びる職種です。これからITエンジニアを目指す人や、テスト未経験者の人はチェックしておいて損はありません。
それでは解説しています。
『テストエンジニア』とは?
IT初心者の人は、「テストエンジニア」と聞いてもピンとこないかもしれません。
ざっくりいうと、 仕様書どおりに開発されているか、動作に問題ないかをテストして品質を評価する ITエンジニアのことです。
世に出るためには『テスト』が必要
スマホ、パソコン、デジカメ、テレビ、エアコン、冷蔵庫、電子レンジ、洗濯機、ゲーム、アプリ、ショッピングWEBサイト、、、etc。
すぐに使えなくなったり、説明書とちがった動きをしたらユーザーは困ります。スマホが発火した話があるように、社会的な事故や損失につながることもあるのです。
『テスター』ではありません。
アルバイトの求人で、スマホアプリのテストをする仕事を見たことはありませんか?(「ゲームをしながら給料がもらえる!」のような求人です)
それらの職種はテスターやデバッガーと呼ばれ、テストエンジニアとは違います。
『テストエンジニア』の仕事
テストエンジニアの業務を大きくわけると、テスト計画・設計・実施・結果報告の4つに分類できます。
とくに、「テスト設計」をあいまいにすると手戻りが発生する可能性があるので、テストエンジニアの腕の見せどころです。
では、それぞれ説明していきます。
※OS … オペレーションシステムの略。Windows、Linux、Max OSなど
【1】テスト計画
テストをはじめる前に、つぎのようなことを検討しながらテスト計画書を作成していきます。
テスト計画のポイント
- テストの目的
- 納期、実施期間
- 人員配置、タスク分担
- テスト完了の基準
- テストの実施方法
【2】テスト設計
さまざまテストケースを洗い出し、つぎのような観点でテスト項目書を作成していきます。
テスト設計のポイント
- どのテストケースを実施するか
- どのようなテスト技法を用いるか
- テストを実施する手順
【3】テスト実施
作成したテスト項目書にしたがってテストを実行し、必要に応じてエビデンスを残していきます。
未経験のテストエンジニアは、この業務からスタートするのが一般的です。
【4】テスト結果の報告
テスト結果をまとめてテスト報告書を作成し、最終的に成果物として ”納品” します。
一般的なテスト・評価の流れ
未経験のテストエンジニアは、”テスト業務からスタートすることが一般的” という話をしましたが、実際にどのような流れで実施するかを説明します。
通常、テストは 単体 → 結合 → 回帰 → 総合 → 製品 → 運用 の順で行われます。すでに、予想がつく人は予備知識は完璧です、僕はさっぱりでした(苦笑)
ここでは、毎日使っている「スマートフォン」を例に説明していきます。
単体テスト(ユニットテスト)
上のスクリーンショットは、Bluetooth設定画面でボタンをONにした状態のテストです。OKとNGの違いがわかりますか?(ある部分の文字表記がおかしいです)
このような ” 画面表示の制御 ” だけ、つまり一部の制御だけを確認するテストを 「単体テスト」といいます。
結合テスト(ソフトウェアテスト)
つづいて、検出されたBluetoothデバイスをペアリングするテストです。「接続済み」と表示され、実際に音が出るかなどの動作の確認をします。
このように、” 画面表示の制御 ” と ” Bluetooth制御 ” をかけ合わせた制御のテストを 「結合テスト」 といいます。
回帰テスト(リグレッションテスト)
単体テスト、もしくは結合テストで発覚したバグ(不具合)はまとめて報告します。
その後、修正されたプログラムでテストすることを 「回帰テスト」といいます。
総合テスト(システムテスト)
回帰テストが完了すると、ユーザーが使用することを想定した「総合テスト」 を実施します。あらゆるテストケースをチェックし、バグが発覚すれば回帰テストを繰り返します。
アルバイト求人のテスターやデバッガーなどは、この工程でのテストが一般的です。
製品テスト(ベンチマークテスト)
システム全体の正常動作を確認したあとは「製品テスト」を実施します。意図的に、システムやプログラムの一部に負荷をかけて性能をチェックします。
バージョンアップした製品が、以前より動作が遅ければ論外ですからチェックします。また、この工程をしっかりやらないと「スマホが発火した」などの事件にもなりかねません。
運用テスト(オペレーションテスト)
ここまでくると、世に正式に送り出される日も近いです。
製品テストが完了すると、客先やモニターを募集して「運用テスト」を実施します。問題があれば修正を繰り返し、想定通りであればいよいよ完成です。
『テストエンジニア』の将来
さて、テストエンジニアの仕事はイメージがぼんやりできたかと思いますが、” 将来性 ” が気になるところではないでしょうか。
冒頭で、テストエンジニアは需要が伸びる職種とお話しましたが、つぎの3つの理由から考えられるわけです。
理由①:ITエンジニアが大幅に不足している
2030年、飲食業界、医療・福祉に次いで、IT業界は「79万人もの人材が不足する」と予想されています。
そもそも、ITエンジニアがずーっと足りない状況(苦笑)
どの業界でもIT化が進んでいますが、まだまだテクノロジーには伸びしろがあるので、もちろんテストエンジニアの需要も増えます。
ただし、テクノロジーが発展するということは、スキルを磨きつづけないと時代にとり残されるリスクがあることを忘れてはいけません。
関連記事:【IT未経験者向け】SE転職の定番!登録すべき「求人サイト」は3つだけ
理由②:人工知能の影響を受けない
近年、人手不足、コスト削減、効率化のため「テストの自動化」が注目されおり、有名企業や大手メーカーでは導入しはじめています。
これによって、世間では「テストエンジニアはAIに仕事をうばわれる!」と広まっているようですが、これは意味合いが違います。
実際に友人のテストエンジニアが手がけていることですが、” テスト自動化ツール ” を人工知能と相性がよいPythonで作っていたりします。
今後このようなケースは増えていくでしょうし、 ” テスト自動化ツール ” 自体を設計、実施、修正といったテストエンジニアの新しい在りかたが確立されはじめています。
となると、テスターやデバッガーの需要は減るかもしれませんね。
関連記事:【解説5分】「AIに仕事を奪れる!」という考え方がヤバイ理由。
理由③:業界全体でフリーランス増加の傾向
働きかたの多様化によって、日本でも約10人に1人がフリーランスという調査結果があります。(「フリーランス白書 2018」)
IT業界では、WEB系エンジニアに多いとされるフリーランスですが、その他の開発系エンジニアも年々増加傾向にあります。
IT業界全体のフリーランス化が進んだことによって、プロジェクトとしても「必要な時期」 に、「必要な人材」を雇用できるフリーランスは重宝するわけです。
ある程度のキャリアを積んでフリーランスになれば、プロジェクト渡り歩きながらスキルを磨いてさらに単価を上げることができます。
つまり、テストエンジニアも会社の方針や景気にとらわない『自由』な働きかたができる時代に突入してきたということです。
ITサラリーマンでは、なかなかこうはいきませんね(苦笑)
『テストエンジニア』に必要なスキル
つづいて、テストエンジニアに必要なスキルや資格などを3つ紹介していきます。
資格取得や専門知識の習得は、ある程度の実務経験がないと理解に苦しむと思いますので、焦らずやっていくことをおすすめします。
その1:Excel ※必須
テスト・評価結果をレポートするため使われるExcelは必須スキルです。(もはや、一般スキルではありますが。)
膨大なチェック項目の管理や、集計、グラフ化などをもおこなうので、基本操作にくわえて関数も使えたほうがいいです。
その2:そのコンピュータの知識
テストや評価の対象は、システム、ハードウェア、ソフトウェア、アプリケーションなど、さまざまです。
すべてを網羅するのは現実的ではないので、最低限コンピュータの基礎知識は習得するよう励みましょう。
基準としては、基本情報処理技術者レベルを意思するとよいでしょう。
その3:JSTQB認定テスト技術者資格
テストエンジニアは動作テストをこなすだけが仕事ではなく、適切なテスト環境の構築や、テスト技法についての知識も必要となります。
JSTQB認定テスト技術者資格は、テスト技術力の向上を目的とした海外でも有効な資格で、体系的に学ぶにはおすすめです。
※2020年2月にバージョンアップし、現在の最新は「Version 2018.J03」となります。
『テストエンジニア』のキャリアパス
テストエンジニアで一人前になれば、さまざまなキャリアパスを描けます。
テクノロジーの発展によって専門分野の細分化が進み、今後もさらに広がることが見込まれますが、ここでは代表的なキャリアパスを紹介します。
代表的な5つのキャリアパス
- テストマネージャー
- テストアナリスト
- プログラマー
- SETエンジニア
- 品質コンサルタント
『テストマネージャー』にキャリアアップする
テストマネージャーは、テストチーム全体を管理する仕事です。
テスト要員のアサイン、スケジュール管理、トラブルや問題の対策や対応など、プロジェクトがスムーズに進むようマネジメントしていきます。
『テストアナリスト』にキャリアアップする
テストアナリストは、品質で不合格となったソフトウェアの分析、解決・対策のアイデアを考える仕事です。
AIに代替されにくい領域といわれており、テストエンジニアからキャリアアップで目指したい職種の1つです。
『プログラマー』にキャリアチェンジする
大手IT企業や、経験が少ないITエンジニアのスタンダードなキャリアパスです。
テストでは、プログラムコードを実行しながら評価することが多々あります。実務を通してプログラミングの理解を活かすことができます。
『SETエンジニア』にキャリアアップする
SETとは、Software Engineer in Test の略で、テスト自動化エンジニアとも呼ばれたりします。
テスト自体を自動化するだけではなく、環境構築を自動化や、分析結果から修正を加えるなど多岐にわたります。
『品質コンサルタント』にキャリアアップする
品質コンサルタントは、テストの効率化や、品質確保・改善を支援する仕事です。
プロジェクトに参画し、品質に関するマネジメント全般を行うためPMOとも近しい職種でもあります。
※PMO … プロジェクトマネジメントオフィサー
『テストエンジニア』の年収は?
若手のテストエンジニアの年収は370万円ほど、テストマネージャークラスになってくると年収650万円を超える人もいます。
日本の年収中央値は約360万円ですので悪くないほうです。
IT未経験は、まず業界参入すること。
人材不足だからこそ即戦力を求めるIT業界は人を選びます。
とくに、僕のような遅めの業界参入は20代に比べて苦戦することもあるので、初回提案で内定率90%を誇る「レバテックキャリア」などのサービスを利用して確実に転職を決めましょう。
また、エージェント全員がエンジニア出身の「Tech Stars Agent」も、転職後のミスマッチが起こりにくいのでおすすめです。
IT経験者は、キャリアパスを意識すること。
どんなキャリアパスを描いても、環境がなければスキルを磨けませんので会社選びも重要になります。
前述した「Tech Stars Agent」は、エンジニア経験者のエージェントが先のキャリアまで見据えた企業を紹介してくれるので安心です。
また、テスト・品質案件に特化した「ソフトウェアジョブズ」は派遣雇用ですが、キャリアアップにつながる仕事が豊富で、いずれフリーランスとして活躍したい人に向いています。
まとめ
日本では、新人にテストを経験させてから、プログラマーとしての実力を身につけさせる流れが定番のようになっているので、テストエンジニアは軽く見られがちです。
しかし、テストで見逃したバグの影響でシステムの再設計が発生したり、ユーザーに届いてから重大なバグが発覚して大変な損失になることも実際に起きています。
そのため、豊富な知識や経験のあるテストエンジニアは重宝され、年収も高く設定されるのも事実です。
これからITエンジニアを目指す人は、ぜひチャレンジしてみてくださいね。
ー くらしと仕事をワンランク上に ー
以上、YAKUMO(@yakumostyle)でした。
関連記事:【IT未経験者向け】SE転職の定番!登録すべき「求人サイト」は3つだけ
関連記事:【断言】20代なら”未経験”でも『IT転職』は余裕です[現役エンジニアが語る]
コメント