更新日:
ITエンジニア職といえば、システムエンジニア、セキュリティエンジニアといった職種が有名ですが、同じエンジニア職でも「ソフトウェアの品質を守る」という大切な役割を担っているのが、テストエンジニアです。
このガイドでは、テストエンジニアの仕事内容や年収、必要なスキル・資格について詳しく解説していきます。
テストエンジニアとは?
テストエンジニアとは、デジタル製品(IT製品や家電製品、ソフトウェアなど)が仕様書通りに作られているかどうかをチェックするエンジニアのことです。製品の品質向上を目指して複数のテストを実施し、プログラムのエラー(バグ)やデータベースの設計ミスのチェックおよび修正をおこないます。
企業によっては、テストエンジニアを、テスター、あるいはQAエンジニアと呼ぶ場合もあります(厳密にいえば、テスターは「テストをおこなう職種」、QAエンジニアは、「ソフトウェアの品質保証を目的とした動作テストや品質管理をおこなう職種」のことをいいます)。
テストエンジニアの仕事内容
テストエンジニアの仕事は、大きく分けて次の4つに分類されます。
1.テスト実施に向けての計画策定
2.テスト設計
3.テスト実行
4.テストの結果の確認と資料作成
それぞれの具体的な仕事内容について、詳しく見ていきましょう。
1. テスト実施に向けての計画策定
テストを実施する目的や実施期間、実施方法、モジュールや人員配置といった内容を、詳細に検討したうえでテスト計画書を作成します。このとき、開発者からの情報提供を受けながら、テスト範囲や対象とする機能などを決めていきます。
2. テスト設計
テスト計画をもとに、テスト観点を決めます。テスト観点とは、どこを重点的にテストするか、どのテスト技法が適しているかを吟味することです。テスト観点を決定後、テストケースの作成(テストの設計図を作成する段階)へと進みます。
3. テスト実行
設計したテストを実行します。当初の想定通りにプログラムが動作しているかのチェックをおこない、必要に応じてDBダンプなどのテスト証跡を残します。テスト実施に関しては、企業によっては自動化されている場合や、ほかのエンジニア職(プログラマー、システムエンジニアなど)が兼務している場合もありますが、一般的にはテストエンジニアの職域とされています。
4. テスト結果の確認と資料作成
テスト結果を確認して資料にまとめ、開発者およびチームリーダー、プロジェクトリーダーにレビューをおこないます。テストに何らかの問題があった場合や、テスト内容に関しての追加要望があった場合などは、再テストとなることもあります。
テストエンジニアの年収
テストエンジニアの年収帯で多いのは400~500万円です。
テストエンジニアの年収は、担当する業務範囲やスキルによって差が見られます。たとえば、若手のテストエンジニアの年収は370万円ほどですが、ソースコードを修正できるレベルのスキルを持つテストエンジニアのなかには年収650万円以上の方もいらっしゃいます。また当然ながら、テストをおこなうだけでなく幅広い業務を請け負うテストエンジニアのほうが高収入です。
年収アップを図るためには、スキルを磨くとともに、テストの実施だけでなく、テスト全般(テストの計画、設計、分析など)を請け負えるテストエンジニアになることがカギといえるでしょう。
テストエンジニアに必要なスキル
テストエンジニアは、未経験者やエンジニア職の初心者でも参入しやすい職種といわれています。これは、「テストの実施のみ」を扱うテストエンジニアの場合は、業務知識や言語スキルがそれほど必要とされないということが関係しています。
しかし、「テストエンジニアとして活躍したい」と考えている場合は、やはりある程度のスキルは必要です。 では、テストエンジニアに必要なスキルとは、どのようなものなのでしょうか?
ソフトウェア開発に関するスキル
テストをおこなうソフトウェア関連の開発スキルは必須です。これは、テストをおこなう対象となっているものが、どうやって実装されたかを把握できると、適切なテストケースが判断しやすくなるからです。
また、開発スキルがあれば、テスト実行中に新たに必要なテストケースを発見し、開発者へ提案するといったこともできるようになります。
さらに、開発スキルに加えてプログラミング知識があれば、バグの修正もできるようになるため、テストエンジニアとしてのキャリアアップがさらに期待できます。
テスト工程や技法に関するスキル
システム全体の動作確認をおこなう「システムテスト」や、プログラミングを1行ごとにテストする「単体テスト」など、一般的なテスト工程に関するスキルはもちろんのこと、テスト設計技法に関する知識・スキルも必須です。
技法に関する知識・スキルがあれば、「デシジョンテーブルテスト※」や「状態遷移テスト※」も可能になり、テストの効率化や正確性アップにつながります。
※デシジョンテーブルテスト
複数の条件の組み合わせをデシジョンテーブル(入力した条件に対してプログラムがどのように動作するかをまとめた表)で記述し、そこからテストケースを導出するテスト
※状態遷移テスト
事前に作成した状態遷移図や状態遷移表をもとに、ソフトウェア動作中のさまざまな変化をチェックするテスト
集中力・理解力・問題提案力
テストによっては、細分化された膨大な量のテストケースをこなす必要があります。そのため、細かい作業を長時間にわたって続けられる「集中力」は必須です。また、テスト対象となるものの仕様や機能を的確かつ正確に把握できる「理解力」や、立場によってはテスト環境や作業での問題点がないかどうかを調べて改善していく「問題提案力」も求められます。
資料作成スキル
テスト終了後には、おこなった個々のテストケースに対して、証拠となるエビデンスを資料で残す必要があります。そのため、テストの流れ(画面やテスト実行前後の変化ほか)が一目見てすぐにわかるような資料をワードやエクセル、パワーポイントを使って作成できるスキルが求められます。
テストエンジニアを目指すなら、ぜひ取得しておきたい資格
テストエンジニアになるために必須の資格はありませんが、取得しておくと就職や転職で有利になる資格はあります。こちらでは、テストエンジニアを目指すならぜひ取得しておきたい4つの資格をご紹介します。
基本情報技術者試験
基本情報技術者試験はIPA(情報処理推進機構)主催でおこなわれる国家資格試験。試験では、ITやプログラミングに関する基礎知識が問われます。エンジニアの求人では、企業によっては基本情報処理技術者資格の取得を条件としていることも多いため、ITエンジニアならまず取得しておきたい資格です。
JSTQB認定テスト技術者資格
JSTQB認定テスト技術者資格は、日本ソフトウェアテスト資格認定委員会(JSTQB)が実施する資格試験。Foundation Level、Advanced Levelの2レベルから成る、海外でも通用する資格です。
ソフトウェア品質技術者資格認定
ソフトウェア品質技術者資格認定は、日本科学技術連盟が実施するテストエンジニア向けの認定資格。試験は初級・中級・上級の3レベルに分けられています。
IT検証技術者認定試験(IVEC)
IT検証技術者認定試験(IVEC)とは、IT検証産業協会(IVIA)主催でおこなわれるテストエンジニアの資格試験。試験はレベル1(テスト実行者)からレベル7(研究者・上級コンサルタント)までの7レベルに分けられており、主にテスト現場における実務知識が問われます。
まとめ
エンジニア職のなかでは、どちらかといえば知名度が低めのテストエンジニア。しかし、テストエンジニアという職種は、たとえ表舞台で目立つことはなくても「ソフトウェアの品質を守る」という大切な役割を担う、いわば「縁の下の力持ち」ともいえる存在なのです。
テストエンジニアは、私たちの日常生活のなかでIT技術を応用した多くの製品の開発にも携わっており、そうした製品は、これからますます増えていくことが予想されます。そして、そのような背景があるからこそ、「テスト全般を請け負えるスキルを持つ」テストエンジニアの需要も、さらに高まっていくことが考えられます。