支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


「Quality Assurance(品質保証)」の略称が冠されていることからもわかるように、要求通りの仕様をソフトウェアが満たしているか、品質を管理して保証するための業務を担うのがQAエンジニアです。2000年代には求人自体の少ない職種でしたが、近年では外資系IT企業を中心に高年収が見込める求人も増えてきています。転職を検討している方であれば、QAエンジニアに少なからず興味を持っているのではないでしょうか?

しかし、テストエンジニアと混同されることもあるなど、QAエンジニアの詳細を知る方は多くはないのが現状です。そこで本記事では、QAエンジニアにチャレンジしてみたい、あるいは転職を検討しているエンジニアの方に向け、仕事内容や平均年収、キャリアパス、持っていると有利な資格など、知っておきたいQAエンジニアの実態を紹介していきます。

QAエンジニアとテストエンジニアの違い

QAエンジニアの役割は、開発中のITサービス・ソフトウェアの品質を、ユーザーの視点に立って保証することです。このため、開発工程で行われる単体テスト・結合テストなどと異なり、ユーザーが利用する環境を構築して実施する動作テスト、耐久テストなどの完成品に対するテスト工程を担当するのが業務の中心です。一方、変数の戻り値やクラスの動作、関数同士の連携など、開発中のサービス・ソフトウェアに不具合・バグがないかのテスト工程を担当するのがテストエンジニアです。

ただし、QAエンジニアとテストエンジニアの線引きは曖昧です。プロジェクトや企業によっては、テストエンジニアがすべてのテスト工程を担当する場合もあり、SE・PGが単体テスト・結合テストを担当する場合もあります。QAエンジニアがテストエンジニアと混同されやすいのはこのためだといえますが、ユーザー視点に立った品質保証を担当するのがQAエンジニアだと考えておけば間違いありません。

QAエンジニアの仕事

QAエンジニアの仕事は、ソフトウェアの品質を保証するためのテスト計画立案・設計をはじめ、テスト実行・分析・改善提案と多岐に渡ります。それぞれのフェーズを簡単に解説していきましょう。

仕様の確認・テスト計画

要件定義をもとにした仕様書・基本設計書の内容を確認し、仕様を満たすサービス・ソフトウェアの品質を保証するためにどのようなテストを実施すべきか、計画を立案するフェーズです。ユーザー視点に立ち、仕様に抜けや漏れがないかを確認するのはもちろん、機能追加や仕様変更が生じた場合の対応、基本設計の変更提案などもQAエンジニアの仕事です。

テスト設計・作成

テスト計画に基づいて、実際のテストケースを設計・作成していくフェーズです。不具合・バグ出しといったテストエンジニアの領域ではなく、ユーザーが利用する場合の動作・耐久性といったテストケースを設計・作成するのがQAエンジニアの役割。この時点で必要なテスト技法・手順なども決定しておきます。

テストの実行と分析

決められたテスト技法・手順に従ってテストケースを実行し、発生した問題点を分析していくフェーズです。大量のデータを投入して動作状況を確認する負荷テスト、サーバエラーや表示が生じないかを確認するボリュームテスト、SQLインジェクションなどのセキュリティテストが主に実施され、問題が発生した場合は再現手順を確認して記録します。

分析結果の報告・改善提案

テスト結果のレビュー、不具合の傾向分析などをマネージャー・開発現場に報告すると同時に、改善に向けた提案を行うフェーズです。不具合・問題解決に向けた仕様改善を提案するのはもちろん、仮に仕様通りであっても、ユーザーの観点から使いにくいという判断があれば、問題提起するのがQAエンジニアの役割です。

QAエンジニアに必要な知識・スキル

サービス・ソフトウェアの品質保証という重責を担うQAエンジニアは、未経験から一足飛びになれるものではなく、幅広い知識とスキルとともに経験が求められる職種だといえるでしょう。なかでも重要視される知識・スキルを簡単に解説していきます。

システム開発・プログラミングの知識・スキル

サービス・ソフトウェアの仕様・設計に関するレビュー・評価を行い、不具合・問題改善を提起するQAエンジニアには、システム開発やプログラミングの知識・スキルが求められます。レビュー・評価を行うためには、開発資料や単体テスト・結合テストを理解する必要があり、最低限、開発に使われるプログラミング言語の知識・スキルが必要です。

また、不具合・問題改善を提起するには、開発プロセスの上流工程を含めたシステム開発の全体像を掴んでいなければならないでしょう。SE・PGからに転身する方が多いのは、QAエンジニアに必要な素養をすでに持ち合わせているからだともいえます。

テスト技法の知識・スキル

テスト計画を立案してテストケースを設計・作成するには、品質を保証するための、さまざまなテスト技法の知識・スキルを持ち合わせている必要があります。負荷テスト、ボリュームテストなどのほかにも境界値分析、状態遷移テストなどがあり、開発内容に応じた適切なテストを選択する手腕も求められます。また、予算との兼ね合いも考慮したうえで、効果的なテストの組み合わせを立案するスキルも求められるでしょう。

品質マネジメントの知識・スキル

サービス・ソフトウェアの品質保証を担当するQAエンジニアには、各テスト工程における管理・品質を向上させるためのマネジメント能力が求められます。ISO 9001の知識が求められる開発プロジェクトもあるため、最低限、内容を理解しておく必要があるでしょう。審査員としての資格を取得すれば、活躍できる場面も広がります。

UI / UXに関する知識・スキル

サービス・ソフトウェアの品質を保証するため、ユーザーの視点で評価する必要があるQAエンジニアは、UI / UXに関しても精通しておくべきでしょう。仕様通りにサービスが仕上がっていても、使い勝手が悪くユーザーのミスを誘発しやすければ、使われないシステムになってしまうからです。QAエンジニアは、ユーザーの課題を解決するシステムに仕上げるには、どのようなUI / UXが必要なのかを意識する必要があります。

QAエンジニアの年収は?

品質保証を担うQAエンジニアですが、気になる年収はどのくらいなのでしょうか?ある転職エージェントが2020年9月に実施した調査によれば、QAエンジニアの平均年収は約456万円という結果になっています。これは公開されている求人情報から割り出した平均年収ですが、全体の約38%を占めている年収400〜499万円が求人企業の年収ボリュームゾーンになっているのがわかります。

また、年収300〜399万円が約24%、年収500~599万円が21%になっている一方、年収800〜899万円が2%、年収900万円以上が1%あるのも興味深いポイントです。近年求人が増えているシニアQAエンジニアや、QAマネージャーの求人も含んでいると考えられ、経験を積んでスキルを磨いていけば、高額年収で求人される上級ポジションが狙えるのがわかるでしょう。

QAエンジニアの求人例

それでは、どのような条件のQAエンジニア求人があるのか?QAエンジニアにチャレンジしてみたい方、年収アップを含む転職を検討する方がイメージを描きやすいように、公開されている正社員求人情報をいくつか紹介します。ある転職エージェントで公開されていたQAエンジニアの求人は、検索時点で91件ありました。

自社サービス担当のQAエンジニア求人
・必須要件:テスト設計を含むQAエンジニアの実務経験
・歓迎要件:論理的な思考能力を持つ方
・待遇:正社員、年収350〜750万円

自社クラウドサービス担当のQAエンジニア求人
・必須要件:テスト設計を含むQAエンジニアの実務経験2年以上、テスト自動化経験
・歓迎要件:Webアプリケーションの開発経験
・待遇:正社員、年収500〜1,200万円

QAエンジニアのキャリアパス

求人例を見てもわかるように、比較的年収幅の大きいQAエンジニアは、品質保証の分野だけでもキャリアパスを描けるのが特徴です。企業ごとに呼び方や担当分野は異なりますが、品質保証以外のキャリアパスも含めて紹介していきましょう。

シニアQAエンジニア・マネージャー

QAエンジニアとして経験を積んだ先にあるキャリアパスとしては、上位ポジションともいえるシニアQAエンジニア、QAマネージャーなどが挙げられます。一般的には、テスト計画やフローの立案、テスト自動化計画などの上流工程やチームのマネジメント、UI / UXを含めた改善提案までを担当するのがQAマネージャー、マネージャー経験がありテストにも精通しているQAエンジニアの上位ポジションがシニアQAエンジニアと呼ばれるケースが多いようです。このクラスになれば、年収700万円以上が視野に入ってくるでしょう。

QAコンサルタント

開発の現場だけでなく、クライアントの経営層・関連部署も含む品質リスクの評価を行い、PMOとしてプロジェクトの立案、全体のプロセス管理、予算管理などを統括していくのがQAコンサルタントです。QAエンジニアのスキルを活かして、品質保証のスペシャリストとしての道を進みたい方におすすめのキャリアパスです。

プロジェクトマネージャー

システム開発・プログラミングの知識・スキルを持ち、改善提案を含めた全体像も把握できるQAエンジニアなら、プロジェクトマネージャーとしてゼネラリストを目指すというキャリアパスも考えられます。シニアQAエンジニアを経験した方なら、品質保証で得られたマネジメントスキルを存分に活かせるでしょう。

QAエンジニアが取得しておきたい資格

QAエンジニアになるために必要な資格というものはありませんが、シニアQAエンジニアやQAマネージャーとして活躍するには、特定の資格が有利に働くこともあります。スムーズにキャリアアップを果たすためにも、取得しておいて損のない品質管理関連資格をいくつか紹介しておきます。

・JSTQB認定テスト技術者資格:レビュー評価からソフトウェアテストに関する知識を問う試験。国際資格のISTQBと連携しているため、海外でも通用するのがポイントです。

・ソフトウェア品質技術者資格認定:品質技術とソフトウェアの品質向上に必要な知識を問う試験。初級・中級レベルの2つが用意されています。

・QC検定:品質管理の実践と手法についての知識を問う試験。4級から1級までの4つのレベルが用意されています。

QAエンジニアの将来性は?

ソフトウェアに限らず、ハードウェアも含むどんな製品であっても、市場に出される前の品質保証は必須です。このため、QAエンジニアの仕事がなくなるということは考えられません。ただし、時代の流れに応じて業務プロセスや手法が変化するのも事実であり、QAエンジニアの役割が変化することも考えられます。特に業務自動化によるテスト工程の効率化が重視される現代では、上流工程を担当し、効果的なテスト計画を立案できるQAエンジニアが重用される傾向になると考えられます。

まとめ

QAエンジニアは、サービス・ソフトウェアの品質を担保するための最後の砦を担う、品質保証のスペシャリストといえる存在です。しかし、いまだにテストエンジニアと混同される場合があるなど、企業やプロジェクトによってQAエンジニアの役割・待遇が大きく異なるのも否定できません。QAエンジニアへのキャリアチェンジ、転職を検討する方は、品質保証に対する求人企業の考え方・取り組みをじっくりと吟味し、やりがいの得られる企業を選択する必要もありそうです。