QAエンジニアとは?品質管理の専門家|仕事内容や年収、将来性を経験者が徹底解説
※当サイトは人材関連サービスを展開する株式会社エイジレスが運営しています。本ページは自社および提携先のPRを含む場合があります。
QAエンジニア(Quality Assurance Engineer)とは、開発されたソフトウェアの品質管理を担うエキスパートです。
近年では性能やセキュリティ、ユーザビリティなど非機能要件の観点からもQAエンジニアの需要が拡大しています。
QAエンジニアのキャリアパスは多岐にわたり将来性に明るく、フルリモート案件も多くあるためフリーランスとしても働きやすい職種です。
この記事ではQAエンジニアの仕事内容からはじまり、年収や将来性、未経験から目指す方法などをQAエンジニア経験者が詳しく解説します。
QAエンジニアに興味がある人は、ぜひ参考にしてみてください!
IT転職市場では、個々の実務経験やスキルによって年収が大きく変動します。
自分の年収相場はどのくらいか、どのような企業が転職先の候補になるのか興味がある人は弊社エイジレスにご相談ください。
それぞれに合ったキャリアカウンセリングを行い、IT転職市場の最新動向を踏まえて具体的なアドバイスを提供します。
おすすめの転職エージェント
転職エージェントは大手1社と、特化型1~2社の活用がおすすめです!
- 大手:業界や職種にこだわらず自分に合った転職先を幅広く探る
- 特化型:希望する業界や職種への転職を専門的にサポートしてもらう
さまざまな転職エージェントがありますが、結論として以下から選んでおくと、希望に沿った求人を逃すリスクを軽減できるでしょう。
大手転職エージェント
≫リクルートエージェント
支援実績No1の総合型。年代や職種を問わずまず登録しておくべきエージェントです。
【公式】https://www.r-agent.com/
特化型エージェント
≫社内SE転職ナビ
社内SE特化。業界最大級の社内SE求人数を保有しています。
社内SEはホワイトな求人も多いためおすすめです。
【公式】https://se-navi.jp/
≫ウズカレIT
IT未経験からの転職に特化。就職/転職支援のみならずIT学習のサポートを無料で受けられます。
【公式】https://uzuz-college.jp/
≫エイジレスエージェント
年齢不問求人/ハイクラス転職に特化。SIer・コンサル・大手SESなどの求人を多数保有しています。
約80%が平均年収150万円アップの実績あり。
【公式】https://agent.ageless.co.jp
QAエンジニアとは
yuko_tada
QAエンジニア(Quality Assurance Engineer)とは主に企業が開発した、もしくは開発しているソフトウェアやシステムの品質保証を担うIT技術者のことを指す用語です。
ソフトウェアやシステムの「品質」とは
ソフトウェアやシステムの品質として、大きく分けて機能要件と非機能要件の2つの観点があります。
分かりやすく説明するために、ECサイトを想定して機能要件と非機能要件のそれぞれについて以下に具体例を挙げてみます。
yuko_tada
機能要件
機能要件とはユーザー(クライアントや顧客)が求める具体的な機能のことを指します。
例えばユーザーが欲しい商品を検索し、その結果が一覧となって画面上に表示される機能や、欲しい商品を決済するために決済すると決めた商品をリストに加えるショッピングカード機能などは「機能要件」に該当します。
非機能要件
非機能要件とは上記の機能要件以外すべての要件のことを指し、主にシステム性能やセキュリティ、操作性などが挙げられます。これらの要件はユーザの潜在的なニーズであることが多く、また、抽象的な場合も多いです。
ECサイトの場合、同時に大量のユーザが接続するような状況でもスムーズに意図した動作ができるかどうか等の性能面や、氏名や住所などの個人情報に対するセキュリティ面なども非機能要件に該当します。
ショッピングカート機能があったとしてもユーザーが実際に商品を追加しようとした際に、追加するためのボタンが見つかりにくい、また、追加が完了するまでに数十秒を要するといった状態になってしまうとユーザーの満足度は著しく低下します。
QAエンジニアは、上記のようにユーザーがスムーズにシステムを利用できる状態という品質を保証するための専門家です。
QAエンジニア、テストエンジニア、デバッガー、テスターの違い
yuko_tada
QAエンジニアと似たような職種にテストエンジニア・デバッガー・テスターがあります。たしかにソフトウェアやシステムなどのITシステムの品質において当該システムの動作確認などのテストを実施する人は必要ですが、これらには違いがあります。
テスター
テスターとは対象のITシステムを実際に操作し、エラーや欠陥(バグ)などが発生していないか不具合の有無を確認する役割の人を指します。
ECサイトの場合は実際にユーザが操作しそうな機能が定められた手順において想定通りに動作するか、また、ショッピングカードに商品を追加した後にブラウザの戻るボタンを押下する・同じ商品を0個や大量に注文する・利用途中から別のブラウザに切り替えるなどのユーザや開発者が一般的に想定していない操作を実施し、不具合の有無を確認する役割を担います。
デバッガー
デバッガーはテスターと同様にITシステムにおいて要求事項や一般的に想定していない動作における不具合の有無の確認に加え、発生した不具合の原因の特定を担います。
主に開発者と連携し、不具合の特定や修正・改善を行いますが、場合によりデバッガーがプログラムの修正・改善を実施することもあります。
そのため、テスターとの大きな違いとしてITシステム構築に関する専門知識や、開発者が扱っているプログラミングについての技術などが必要になります。
そのためデバッガーではなく、その専門性からテストエンジニアと呼ばれる場合もあります。
テストエンジニア
テストエンジニアとQAエンジニアが別れている現場の場合、テストエンジニアは主に上記までのテスター、デバッガーをまとめて示すことが多いです。
また、テストエンジニアの担当箇所は機能要件を主とし、QAエンジニアが非機能要件を主とする場合もあります。
一方で、開発(コーディング)から単体テスト・結合テストまでを行うITエンジニアをテストエンジニアと呼び、以降の総合テスト、受け入れテスト、E2Eテストなどを担うITエンジニアをQAエンジニアと呼ぶ場合もあります。
現状、テストエンジニアとQAエンジニアは組織や現場により曖昧であり、区別していない場合もあります。
そのため、転職を検討したり新たな知識を勉強する際にはQAエンジニア志望だとしても「テストエンジニア」も検索することを推奨します。
QAエンジニア
テスターやデバッガーは主に一般的な画面操作やテストケースに沿って作業を行うことが多いです。
QAエンジニアはそのテストケースの実施を任せるために、システムの機能要件や設計内容から、そもそもシステムの仕様に不具合・矛盾点・抜け漏れなどがないかなどの確認も行います。
場合により要件定義や設計書作成といったいわゆる上流工程から 開発者と連携し、仕様や設計について提案することもあります。
そしてこれらの仕様や設計からどのようにテストを進めるかテスト計画を立案し、テストケースを作成します。また、テストツールなどを用いてテスト用のプログラムを構築したり、更新頻度が高いシステムの場合は同じテストを人間が繰り返す手間を省くために自動テストの設計・構築を行います。
SETエンジニア
昨今ではQAエンジニアとは別に、SETエンジニア(Software Engineer in Test)という職種での採用も見受けられるようになってきました。
SETエンジニアは別名「テスト自動化エンジニア」とも呼ばれ、ソフトウェア更新時のリグレッションテストの自動化やCIツールを用いたビルド環境の自動化を行うエンジニアです。
組織やプロダクトによりますがSETエンジニアはSETエンジニア専用チームによって構成され社内の自動化テストを横断的に取り扱うこともあれば、開発チームの中の一部としてSETエンジニアのメンバーが在籍するというような形態をとっています。
QAエンジニアの仕事内容
QAエンジニアの役割はソフトウェアやアプリケーション(以降、ITシステム)の品質保証を担うことです。
ここではQAエンジニアの具体的な仕事内容についてECサイトの構築を例として筆者の経験も交えながら説明します。
yuko_tada
企画・提案
昨今の複雑化したITシステムにおいて、ユーザー目線やクライアントが求めている要件を満たすために、企画・提案時からQAエンジニアがプロジェクトに参画することが増えています。
この段階からテストの分野を主とするQAエンジニアが参画する理由として以下があげられます。
クライアントやユーザーの要件のうち非機能要件を定義する
自社開発でもクライアントからの受注でもITシステムの構築にあたり、
「どういうサービス・システムを創りたいか」という要望は当然あってしかるべきですが、
開発するにあたりどのような機能が必要なのか、画面遷移や他のシステムとの連携など機能要件について認識合わせから行われます。
同時に機能を実現する上でITシステムの可用性、耐久性、性能、セキュリティ面などの非機能要件についても定めるためにQAエンジニアが参画します。
例えば新規にネットショッピングのサイトとしてECサイトを構築するという案件であった場合を考えます。
ECサイトとしての機能要件では
・ユーザーが商品を検索する
・ショッピングカートに購入したい商品を追加する
・ショッピングカートの商品のうち購入する商品を選択する
・決済する
という流れが存在します
これらの機能を実現するにあたり、いくつかの非機能要件が存在します。
①可用性
停止時間をいかにして減らすことができるか。
例えばサーバの故障など何らかの障害が発生した場合に予備のサーバに切り替わり、ユーザーが操作を継続できる状態をどこまでの障害を見越して維持するか。
※AWSにおいては耐障害性としてサーバを冗長構成にし、問題発生時に自動で復旧・切り替わる仕組み
②性能、拡張性
ユーザーが商品の検索を実行した際に候補となる商品の表示までの時間を何秒以内とするか。
多くのユーザーが同時にアクセスした際にどの程度のユーザー数までなら許容できる時間内に表示できるのか。
将来的にユーザ数が増えた場合に、サーバの強化などシステム性能を後から拡張できるようにするか否か。
③運用、保守性
運用・保守において、障害を監視する仕組みやログの出力について、また、バックアップの頻度・範囲・保有期間についてどのように定めるか。
④安全性
ユーザーの氏名や住所などの個人情報を保護するセキュリティ。
⑤ユーザビリティ
多くのユーザーが同時にアクセスした際にどの程度のユーザー数までなら許容できる時間内に表示できるのかという耐久要件、PCからでもスマートフォンからでもユーザーが見やすい、操作しやすいUIになっているかというユーザビリティ。
上記に記載している非機能要件はほんの一部ですが、
極端な例で言えば、「商品をショッピングカートに追加する」機能が完了するまでに毎回数十秒を要するシステムはユーザーにとってはとても利用できたものではありません。
しかしながら、クライアントの頭の中では実際の他社の物と同じような性能を想定しており、それが当たり前になっているケースがあります。
この場合、企画や要件定義時に話題にあがらない状態で開発が進んでしまい、結果として十分なパフォーマンスを維持できないサービスが構築されてしまうリスクが顕在します。
QAエンジニアはこのようなリスクを事前に回避するために、非機能要件の具体的な要・不要や、速度、数値などをこの段階から定義しておきます。
設計・実装
要件定義が終わり、設計書・仕様書などのドキュメント類を作成するにあたってもQAエンジニアの観点は重要になります。設計書・仕様書の作成は主に開発エンジニアが行いますが、それらのドキュメントの内容を開発者ではない視点でのレビューをQAエンジニアが担います。
これは設計書などのドキュメントを作成するにあたって、開発エンジニアが担当箇所のモックなどを用いて、既にある程度動く状態で設計書を作成するケースが多いからです。
この段階で客観的に1人の開発エンジニアだけではなく、関係者同士の設計書や仕様書を突き合わせた場合に仕様の抜け漏れや不備がないか確認する立場の人が必要となります。
また、実装の工程に入る際にどのプログラミング言語を選択するか、どのバージョンにするか、その言語にあったテストツールがあるかなどについてもQAエンジニアからの知見が必要になります。
テスト
一言でテストと言ってもその内容は多岐に渡ります。
完全未経験でテスターとしてのプロジェクト参画の場合は、現場の開発チームもしくはQAエンジニアのリーダーがテスト計画書・実行手順書を作成し、その通りに対象のITシステムを操作して不具合箇所を発見していく単純作業からはじまります。
プログラミング言語に対応できる場合はデバッガーとして、発見した不具合箇所の原因の特定および修正を行います。
QAエンジニアの場合は、本人の実力や組織体制にもよりますが主に以下を担当します。
要件定義書、仕様書、設計書のレビュー
クライアント企業、または開発チームからのドキュメントのレビューを実施し、特に非機能要件について予め課題となり得る箇所について改善案や注意すべき点の助言
テスト計画書・手順書作成
QAエンジニアの主な業務として、どのようなテストを、どのような環境で、いつ実施するかなどの策定するテスト計画書と、テストを実施するための手順書を作成します。
多くの現場では開発チームが担当箇所の単体テストを自身で実施しているため、品質保証の担当として開発チームが見落としがちな観点やユーザーへの影響度を考慮したテストの計画書を作成します。
テスト実施
ここでは詳細は省きますが、一言でテストといってもそのための手法は数多くあるため、その一例を記載します。
・ブラックボックステスト、ホワイトボックステスト
・境界値分析
・デシジョンテーブル、組み合わせテスト
・状態遷移テスト
・探索的テスト、エラー推測
これらのようなテスト技法を用いながら、ITシステムの不具合の発見、特定、改善、分析、フィードバックを行います。特に探索的テストやエラー推測に関してはQAエンジニアとしての経験や実力が大きくでる手法です。
自動テスト環境の構築
設計・実装工程でも記載しましたが
・開発チームの負担を減ら
・テストの自動化環境の構築
・ツールやフレームワークの選定
・自動テストのプログラミング
を実施します。
特に頻繁に新しい機能や修正パッチを追加リリースするようなスマートフォンアプリケーションのようなITシステムの場合、追加箇所の反映によって今までデプロイ・リリースしている機能へ影響がないか確認する「リグレッションテスト」は自動テストに向いています。
現在ではテストのためのツールとして以下が用いられることが多いため、QAエンジニアの技術面としては使い方を習得しておきたいツール・フレームワークの一種です。
・Autify、MagicPod
・Cypress、Selenium、Appium
・Apidog、Postman、JMeter、Jenkins
これらはQAエンジニアの求人の経験欄もしくは現場環境に明記されていることがあるので、実務で実践しておきたいツール類です。
運用・保守
QAエンジニアによるITシステムの運用・保守に関わる面としては、システム監視・障害検知・バックアップからのリカバリ・リストア、セキュリティなど多岐にわたりますが、ITシステムを運用し続けていると万が一何かしらの障害や不具合が発生した際に対応できるようにするため、適切なログデータの出力とその保存場所を決めておくことが求められます。
また、クラウド環境ではなく特にオンプレミス環境の場合はメモリやCPUの数値、HDDやSSDなどの空き容量などハードウェアに関する情報も監視、切迫した場合に警告を発する工夫などが必要です。
業界やシステムによって求められるクオリティや仕事内容の違い
筆者の経験上、組織や現場によってQAエンジニアやテスト工程そのものに大きな違いがあります。
大手SIerでのミッションクリティカルなシステムの更新の場合
電気・水道・ガスなどの公共関連のシステムや、携帯電話に関するシステムは場合により人命に関わるため、障害や停止が許されないミッションクリティカルなシステムであることがあります。
ミッションクリティカルなシステムのテストではテストの人員も多く、期間も数ヶ月単位で確保する場合があります。
例えば携帯電話の通信システムに関するシステムの場合、もし携帯電話が一時的にでも利用不可能になれば、現代においては「不便」では済まされず、警察・救急・消防などへの連絡も途絶えてしまうため人命に大きく関わります。
そのため、そもそもシステム要件として不具合を起こさないことが大前提となり、設計書は綿密にレビューされ、テストケースは効率性よりも網羅性が重視される傾向にあります。
また、システムの更新をするための手順書についてもレビューやテストが行われ、万が一システムの更新を行う際に何らかの不具合が発生した場合には、以前の状態に素早く戻せるかどうかという切り戻しの手順についても事前に本番環境と同じ状態のテスト環境で実施します。
この際に重要な要素として『どのような状態になったら更新を諦め、元の状態の切り戻しをするか』という判断基準も事前に決めておくことで実際に障害や不具合が発生してしまった際の現場の混乱をある程度減らすことも考慮されます。
ミッションクリティカルシステムの更新に、更新作業中にも24時間動作し続けているシステム内に流れるデータ類の調整も実施するため単純に更新前にシステムを戻せたかどうかだけではなく、データベースのデータの整合性についても確認が必要です。
スマートフォンのゲームアプリの場合
一方で、Web業界におけるスマートフォン向けのゲームアプリケーションの場合はミッションクリティカルなシステムと対応がまったく異なります。
むしろ、現在では多くの場合はこちらのようなケースが多いでしょう。
このような業界ではアジャイル開発というソフトウェア開発において、とにかく迅速に設計、開発、リリースが行われるためテスト工程に重きをおいていない場合があります。
極端な話、完全自社開発であり、かつ、一般ユーザー向けのゲームアプリケーションの場合は突然操作ができなくなっても被害はその企業の売上や評判で完結します。
そのため、何かしらの不具合を含みつつもそのままリリースし、SNSによるユーザーの反応やGoogle Playストアなどのレビューを確認しつつ修正パッチを適用させていく場合もあります。
この場合のQAエンジニアはテスターの実機によるテストも重要ですが、新規機能や差分の更新が早いために以前まで動作していた箇所の再テストを手動で行うには余りにも非効率であるため、テストの自動化システムを作成します。
例えば画面の切り替えなどの比較的単純なテストについてはCI/CDツールと連動させ、開発者がソースコードをコミットした際にSeleniumやAppiumを用いた自動テストが実行され、結果を出力しておくという自動テスト用のシステムの構築を行います。
理想的なQAエンジニアとは?
yuko_tada
QAエンジニアの担当業務は本当に幅広くシステム構築の各工程で必要となります。
- 要件定義やサービス企画の段階からプロダクトに関わる
- 設計書や仕様書のレビューの実施
- テスト計画の作成、実施
- テスターなどのメンバーへの指示やマネジメント
- テスト結果の分析
- 開発エンジニアや関係者にフィードバック
- 同じテストを繰り返すことを避けて効率的にテストをするための自動化テストの構築
上記の各工程はもちろん、ITシステムの品質保証を担う専門家として、テスト技法の活用やテストツールの選定なども含みます。こうなると究極の理想的なQAエンジニアは担当プロジェクトのITシステムのアーキテクチャを知り尽くし、プログラミングやマネジメントもできるスーパーマンが求められるということになります。
ここまでくると組織の技術的トップであるCTO(最高技術責任者)へのキャリアパスもありますが、最近ではCTOとは別にVP of Engineering(Vice President of Engineering:VPoE)という技術部門やソフトウェア開発部門を統括する「マネジメント責任者」という役職を設け、CTOとVPoEの2トップ体制によって技術とマネジメントの役割を分ける欧米のような組織体制が日本の企業にも用いられるようになってきています。
QAエンジニアの年収
yuko_tada
QAエンジニアの年収として事例を紹介しますが、同じ「QAエンジニア」という名称でも実質テスターである求人や、自動化テストの自作経験・マネジメント経験まである求人など非常に幅広くなるためあくまで参考情報としてご紹介します。
QAエンジニア経験者の正社員
QAエンジニアや品質保証・品質管理の経験が概ね3年以上ある場合の人の場合、年収の中央値が624万円となっています。ただ、自動化テストのスキル、扱うことができるプログラミング言語の数などによっては1000万円以上の求人も公開されていました。
QAエンジニア経験者のフリーランス(業務委託)
QAエンジニアとして独立しているフリーランスの年収について、求人情報の中央値は754.5万円となっています。ただ、この数値は週5回勤務・リモートありという条件での結果となります。フリーランスとしての働き方としては週2~3日間や、数カ月間のみの所属なども考えられるため、あくまで参考値として捉えるべきです。
QA以外でのITエンジニア経験者および未経験
QAエンジニアとしての業務が未経験であるITエンジニアや、まったくの未経験者の年収中央値は361万円となっています。しかしながら、この枠については非常に振り幅があり、アルバイトとして時給1550円程度の場合や、地方では200万円台という数値も含まれています。
リモート勤務や勤務時間など幅広い条件がある
QAエンジニアの求人は、同じ求人枠に450万円~1000万円という極端な振れ幅がある場合も珍しくなく、経験や実力が大きく加味される職種です。また、未経験者であり、かつ、地方によっては300万円を切る場合も見受けられます。
年収はもちろん重要視される項目ですが、昨今ではリモート勤務が可能か、想定キャリアパスが公開されているかなどの面についても考慮して自身の生活スタイルに合った求人を探してみてください。
QAエンジニアの将来性
yuko_tada
結論からいうと、QAエンジニアの将来性は高く、現在の需要も非常に高いです。
完全にIT業界の未経験者から、豊富な現場経験を持つ人のキャリア採用枠まで幅広い範囲での求人が多いです。
そもそもQAエンジニアがなぜ必要なのか
そもそも品質保証の専門家がITシステムの構築に必要である理由について記載します。
QAエンジニアについてGoogleにて検索を行おうとすると、
- QAエンジニア いらない
- QAエンジニア きつい
- QAエンジニア やりたくない
など、否定的な検索候補のサジェストが表示されます。
これは筆者の現場経験や推察も含まれますが、「いらない」という件については現場の開発エンジニアがテスト工程(単体試験から受入試験まで)の大半を担う組織や現場があるため、品質保証に特化したチームが機能している状態の経験が少ないかもしれません。
QAエンジニアがきつい・やりたくないと感じる人が多い
IT業界もしくは他業界でもITソフトウェア開発部門に配属されるようなITエンジニアの場合、自社もしくはクライアントの要望から、その課題や効率化を進めるようなシステム開発を行うことを仕事としたいと考えている人が多いです。
自分が組み込んだプログラムが実社会に浸透しているということはITエンジニアの目指す姿の花形の1つであり、プログラムもしくはシステムが動くかどうかの確認、デバッグは地味で敬遠される面があります。
また、QAエンジニアの特性上、クライアントの要望や開発シームの進捗、プロジェクトマネージャーからのスケジュール遵守の圧力などが強く、さらに場合により突然の仕様変更が発生してテストそのものがやり直しになってしまい心身に負荷を感じてしまうこともあることから
「需要は高いのに、やりたい人が少ない」
状況であると言えます。
QAエンジニアの評価基準が曖昧
開発部署やマネジメント職に関しては、納期までに要件を満たしたITシステムを構築し、作成したモノが直接残り、場合によっては新技術の導入検討がうまくいったなどのプラスとして評価しやすい項目がいくつもあります。
しかしながら、QAエンジニアや品質保証の場合、不具合や欠陥・障害が発生しないようにすることを目的としているため、どうしても「システムは動くのが当たり前、不具合がでたのはQA部門が甘かったから」と減点方式での評価をされてしまうことがあります。
もちろん、品質保証に理解ある組織・現場では、どのようなトラブルを防げたか、そのためにどんなチャレンジをしたかなどプラス評価をされる項目がありますが、企業文化によっては「生産性」が最重要視されるがために、開発部門よりも年収が低くなってしまうという場合もあります。
そのためQAエンジニア職に就く場合は、品質保証に理解ある組織にて活躍することを推奨します。
もしくは、QAエンジニアとして既に上流工程からプロジェクトに参画していて、マネジメント関連を志望するなら、品質保証に対する評価を高める組織作りができるような企業にあえて参入していくことも選択肢の1つです。
以下の記事では、QAエンジニアがきついと言われる理由や対処法を解説しています。
興味がある人は読んでみてください。
QAエンジニアはきつい?その理由や具体的な対処方法を徹底解説
QAエンジニアは、ソフトウェア開発・システム構築において、品質保証の砦となる重要な職種です。その一方で、「QAエンジニアは辛い!やってられな
大手求人サイトでの募集数からみるQAエンジニアの需要と将来性
大手求人サイトにて「QAエンジニア 未経験」と求人情報を検索すると、直近1年間では平均1000件以上の求人があり、また、感染症の影響があった可能性もありますが、求人数が約23倍に伸びているという明らかな上昇トレンドが見て取れます。
また、リモートワークを実施している企業が数多くあり、企業によってはフルリモート勤務も可能です。
テスターではなく品質保証に対して技術的にアプローチするエンジニアになるべき
現状の求人情報について調査してみると、企業によっては完全に未経験の方をテスターとして受け入れてから、徐々にQAエンジニアとして成長していくことが前提のように記載されている求人が目に付きます。
また、QAエンジニア・テスターとしてある程度の経験がある人に対する求人は年収も500万円を超える求人が多く見受けられますが以下のようなキャリアパスについての掲載も見受けられました。
まず、単なるテスターではなくITエンジニアとして以下が求められるケースが多いです。
- E2Eテストの経験があること
- ソフトウェア自動化についての知識、経験があること
- テストに関するツールやフレームワークの利用経験があること
- 非機能要件についての知見があること
これらはつまり、品質保証に関する経験として単純作業を繰り返してきたテスターではなく、すでに「QA『エンジニア』」としてプログラムのレビューができ、ツール類を用いながら自動化テストを構築・実施できる技術力があることが求められているということです。
昨今ではほぼ単純作業のテスターからの求人も多くありますが、テスト実行以外にもAIの発展やツール・フレームワークの充実性から単純作業員止まりのテスターのままでは年収面やそもそも求人の枠が将来的には厳しくなる可能性もあります。
一方で、ITシステム構築時にテストをやらないということは現状では考えられないので、ITエンジニアとして品質保証に関する技術について最新動向をチェックし、自ら手を動かし、吸収して自分やチームの力に直結できるようなプロフェッショナルはより一層求められるでしょう。
ITエンジニアとしての花形として、やはり表立って目立つのはフロントエンド部分やプロジェクトそのものが視覚的にもどうしても優先されがちです。
また、QAエンジニアは開発エンジニアと違い、「縁の下の力持ち」であるポジションであるため裏方と感じる人も多いでしょう。だからこそQAエンジニアは希少であり、技術力があるほど需要が高いことが見込まれます。
将来的にはプロジェクトマネージャーや組織創りを担う役職が期待される
QAエンジニアの求人情報の中には技術力を求めるキャリア採用については数多くありますが、さらにその中で「将来的にはマネジメントに関わっていただきたい」という文言もよく見かける職種です。
QAエンジニアは技術力を追求する道よりも、テスターや他のQAエンジニアをまとめるリーダー職が求められ、さらにテスト計画や実行内容、結果のフィードバックについて開発チームやクライアントへフィードバックを行い、改善活動を行うことも職務に含まれます。
QAエンジニアとして十分な経験を積んでいくと、クライアントに品質改善案やそのためのサービスを提案する立場となることもキャリアの中には存在するためITコンサルタントのような役職や、組織をまとめるプロジェクトマネージャー職へ進むことが求められるケースもあります。
ITシステムの品質保証は開発チームと離れているほど良い場合がある
さて、株式会社SHIFTが企業としては代表例ですが、ユーザーが一般人であるtoCのゲームやアプリケーションなどのITシステムの場合、テスト工程は開発チームから離れた立場であるほど理想的です。
なぜなら、開発チームは仕様から実装、単体テスト程度までは自分たちでこなすことが多く、テスト工程を実施する際にどうしても開発者目線での視点が入ってしまう傾向にあるためです。
そのため開発チームとQAチームを分けて客観的な視点で多角的にテストを実施することが品質保証には求められます。
そのためにQAチーム・QAエンジニアを開発チームとは別に組織化されている企業が多いですが、さらに理想で言えばテスト工程を品質保証に強い企業や人材に外注し、実施、フィードバックを行うことで限りなくユーザー目線に近い客観的な評価を実施することができます。
ただし、もちろん他社を巻き込むことにより開発速度を犠牲にするトレードオフの状態になってしまうため、プロダクトごとにテスト実施については臨機応変に対応するのが現実的でしょう。
フリーランスとして業務委託枠での需要が多い
さて、株式会社SHIFTが企業としては代表例ですが、外部組織にテスト工程や品質保証を任せるとなるとどうしてもコミュニケーションのための時間が多く発生し、開発速度を落としてしまう可能性があります。
そのため、QAエンジニアとしての経験、技術力を持ち、なるべく客観的な視点でプロジェクトに参画し品質保証活動を行うための人材の確保として業務委託枠としてQAエンジニアのフリーランスエンジニアにも需要があります。
優秀なフリーランスのQAエンジニアならば、複数の企業、様々な業界での経験があり、多角的な視点でプロジェクトやITシステムそのものを俯瞰して見ることができる場合もあります。
また、フリーランスエンジニア側からしても案件獲得や給与面の条件を鑑みて、テスト関連の資格を複数保有していることで、客観的に実力を示すことができます。
現在では業務委託枠に関しては企業側も特に良い人材確保のために「リモートワーク可」と明文化されている求人も多い状況ですので、会社員としてQAエンジニアの実力をつけながら資格をとり、独立することも十分可能です。
QAエンジニアとして転職・独立に役立つ行動
ITエンジニア全般に言えることですが、QAエンジニアとして転職やフリーランスとして独立するために役立つ行動として情報発信を強く推奨します。自身の知識や経験の備忘録にもなりますし、その情報で助かる人もいます。
また、なによりそのままポートフォリオの一部として求人に応募する際に提示することができます。
情報発信がなぜ大切なのか
QAエンジニアとして普段の活動を守秘義務に反しない範囲で、定期的もしくは頻繁に情報発信をし続けていると転職や独立に特に役立ちます。開発エンジニアと違って、QAエンジニアの実力は客観的な判断が難しい面があるためです。
そのため、ブログ・動画・勉強会などで情報発信をすることをおすすめします。
企業公式エンジニアブログへの投稿
所属企業が公式のエンジニアブログを公開している組織なら、そこにQAエンジニアとして自分が行っている業務や使用したツール、課題解決などを記載すると企業の顔としてアウトプットできる人として認識されるため好印象です。
個人としてITエンジニアが多いプラットフォームでの記事投稿
1個人としてITエンジニアの利用者が多い、QiitaやZennなどのブログに技術記事を書いていくことも自身の記録として良いやり方です。
ITエンジニアの勉強会に参加・登壇
もっともオススメである情報発信はQAエンジニア界隈のIT勉強会に参加、登壇をすることです。最初は3〜5分程度の発表でも構いません。社名や守秘義務の扱いは組織によって異なりますが、イベントや勉強会での登壇は知識の整理と、プレゼンテーション能力の向上に大いに役立ちます。
プレゼンテーション資料を公開することにより、実績やポートフォリオとして求人に応募する際に有利に働くことが多いです。繰り返しになりますがQAエンジニアはチームをまとめるようなコミュニケーション能力を求められることが多いので登壇経験は企業にとっても好印象の材料です。
なお、筆者は一時期4つの勉強会の運営に並行して携わっていましたが、どこでも初心者からベテランまで登壇者を募集していることも多く、運営側としては気軽な気持ちで登壇を立候補していただけると助かるという面もあります。
現在はリモートでの登壇が多くなりましたが、登壇者となると懇親会時に運営や他社の登壇者・参加者との横つながりが形成されるため、転職や独立時に評判が役立つことが多々あります。
おすすめの転職エージェント
転職エージェントは大手1社と、特化型1~2社の活用がおすすめです!
- 大手:業界や職種にこだわらず自分に合った転職先を幅広く探る
- 特化型:希望する業界や職種への転職を専門的にサポートしてもらう
さまざまな転職エージェントがありますが、結論として以下から選んでおくと、希望に沿った求人を逃すリスクを軽減できるでしょう。
大手転職エージェント
≫リクルートエージェント
支援実績No1の総合型。年代や職種を問わずまず登録しておくべきエージェントです。
【公式】https://www.r-agent.com/
特化型エージェント
≫社内SE転職ナビ
社内SE特化。業界最大級の社内SE求人数を保有しています。
社内SEはホワイトな求人も多いためおすすめです。
【公式】https://se-navi.jp/
≫ウズカレIT
IT未経験からの転職に特化。就職/転職支援のみならずIT学習のサポートを無料で受けられます。
【公式】https://uzuz-college.jp/
≫エイジレスエージェント
年齢不問求人/ハイクラス転職に特化。SIer・コンサル・大手SESなどの求人を多数保有しています。
約80%が平均年収150万円アップの実績あり。
【公式】https://agent.ageless.co.jp
QAエンジニアに必要なスキル
QAエンジニアは要件定義からクライアントと関わり、様々なテスト手法やツール・フレーム枠などを用いながらテストの計画や実施、社内チームのマネジメント、不具合や欠陥の原因分析やフィードバック、自動化のためのプログラミングなど業務範囲が幅広いため、必要なスキルは非常に多岐に渡ります。
そのため、少なくともQAエンジニアとして適正があると考えられるスキルについて記載します。
コミュニケーション能力
テスト工程において、特にテスターには単純作業を黙々とやり続けられることが適正の1つとして挙げられます。しかしQAエンジニアにおいては他者とのコミュニケーション能力がもっとも求められます。
不具合や欠陥・障害が発生した際に、開発エンジニアやプロジェクトマネージャーに対して、テスト分析結果を言語化して伝え、他の役職のメンバーと認識合わせやスケジュール調整を行うことが必要になります。
また、要件定義段階からクライアントと関わる場合は社外に対しても自社の代表として意見や提案をする機会もあります。
たしかにQAエンジニアは品質保証を担う立場のため、発見した不具合はすべて改善することが理想ですが、それのみを追い求めるとスケジュールの遅れの発生や、レビュー時において特定のメンバーへの指摘が多すぎる場合など、他者との関係悪化にも繋がってしまいかねない場面もあります。
ときには開発エンジニアから「細かすぎる」と責められることもあるかもしれません。そのような状況に陥らないためにも、コミュニケーション能力は非常に重要なスキルの1つとして挙げられます。
論理的思考能力および批判的思考能力
論理的思考はロジカル・シンキングとも呼称されます。ITシステムの不具合や欠陥を発見するにあたって、ITシステムのどのような箇所で不具合の発生がしやすいという傾向があるか考える論理的思考能力はQAエンジニアにとって必要です。
例えば、ECサイトにおいて、ユーザーが欲しい商品を検索した際に、商品一覧の表示に遅延が見られた。
また、ショッピングカートに商品を追加した際の画面表示にも遅延が見られたというような場合、「なぜこれらの画面表示が遅延するのか」、「この2つに共通している点はどこか」と原因を考え、「どちらもデータベースに商品の在庫数も合わせてアクセスする処理が遅延しているのではないか」と遅延の原因の1つを特定する際の理由付けとして必要になります。
時には視点を変えてITシステム全体を見渡す広い視野も必要になります。
論理的思考に加えて、上記のECサイト遅延という事実がある際に「そもそもなぜ画面表示が遅延するのか」「画面を新たに表示する際にこのサイトではどのような処理が行われているのか」「他のユーザーでも同様なのか」と考える批判的思考(クリティカル・シンキング)能力もあればQAエンジニアとして適性があります。
学習意欲や知的好奇心
QAエンジニアに限りませんが、ITエンジニアとしては日々新しい技術が世の中にでてくるような世界で、世の中の技術的トレンドや他社事例などから知らない技術を見つけた際に関心をもち、まずは手を動かして実際に試して学習してみるといった特性がある人がQAエンジニアに向いています。
直近では「ChatGPT」というAIツールが良い例になります。ChatGPTについて知った際にインターネット検索にて調査し、無料ならとにかく使ってみるといった行動がとれる人がQAエンジニア、ならびに、ITエンジニアとして適性があります。
QAエンジニアのキャリアパス
yuko_tada
「QAエンジニアの将来性」の章でも一部触れましたが、QAエンジニアには様々なキャリアパスが存在します。前提として企業に属し、QAエンジニアとしてある程度の実務経験がある人を対象とします。
会社内で出世するキャリア
テスターやデバッガーとして入社、もしくははじめからQAエンジニア枠として入社し品質保証の面において社内でチームリーダーレベルになった後にある想定されるキャリアパスで多い例は以下になります。
QAマネージャー・プロジェクトマネージャー
QAエンジニアとして技術力を磨き、チームリーダーとして活躍できる水準に達している人の場合、既にプロジェクト内でQAチームをまわすマネジメントを行っていることが多いです。
そこから開発エンジニアチームおよびクライアントとの信頼関係が築ける状態になると、品質保証の面に強いマネージャー職としてキャリアを積むケースが多いです。
企業の求人についても「将来的にはマネジメントをお任せします」というような文言が目立ちます。このキャリアパスはそもそも他者とコミュニケーションが求められるQAエンジニアの王道の1つです。
チームをまとめる力が求められた結果として、管理層の業務に携わるようになるのは自然な流れとも言えます。この職種に進んだ場合の想定年収は600万円から規模によっては1000万円も視野に入ります。特にミッションクリティカルなITシステムを扱う組織の場合は年収が高い傾向にあります。
ITコンサルタント
QAエンジニアとして経験を積んでいくと、設計書のレビューをするための知識として、その範囲がデータベースやネットワークなどプロジェクトを全体的に見るような視点が求められるようになります。
例えば想定より画面表示が遅延しているといった性能要件の改善のためには、どこがボトルネックになってしまっているのか原因を特定するためにプログラム以外にデータベース・データストアとの連携、ネットワークの問題、過剰なセキュリティなど多岐にわたる知見が必須となります。
ここまでくるとシステム全体を見渡せるITアーキテクトのような立場になります。
ITシステム全体を考慮することができる実力があれば、新規システムでも既に動いているシステムの改善においても、直接クライアント企業と要件定義から認識合わせを実施し、事前に発生しうる問題や現状の課題の指摘や対応策などを提案でき、そのためのシステム診断サービスのような業務が可能にあります。
この場合はクライアント企業と直接話し合うことが主な業務となるため、対外的にもITコンサルタントと呼ばれる職種になるでしょう。
ITコンサルタントの場合の年収は500〜900万円程度が多く見受けられますが、提携するクライアントとの規模によって幅が広く、場合によっては1000万円超えことも考えられるでしょう。
QAスペシャリスト
呼び方は様々ありますが、QAエンジニアとして現場経験を突き詰め、「技術者」として幅広い知見をもち、QAに直接的に関わらずともテスト工程の自動化、CI/CDツール、テストフレームワーク、プロジェクトに合ったプログラミング言語の選定などを日々調査、実践し、社内にノウハウを展開、組織で扱う技術の選定者となるQAスペシャリストというキャリアパスも考えられます。
プロジェクトマネージャーやITコンサルタントなど主に管理職としての振る舞いよりも現場の技術者として先陣を切る立場の人も組織には必要です。
そのため技術力で勝負していきたい人は管理系の職種よりもQAスペシャリストとして技術力を極めるキャリアパスも考えられます。
QAスペシャリストとして技術力で勝負する場合、600〜800万円程度の年収が想定されます。マネジメント職や他社と積極的に関わるITコンサルタントよりは若干低い傾向にありますが、何より「技術者」としてキャリアを歩み続けられることが最大の強みです。
転職で目指せる花形キャリア
所属企業内でQAエンジニアとしてすでに十分な経験を積み、その後転職を考える場合、花形と考えられるキャリアがいくつかあります。
数百人規模の人員が関わるミッションクリティカルなシステムでの品質保証
主に大手SIerのキャリアパスとなりますが、人命に関わるようなミッションクリティカルなシステムの品質保証を担う立場はQAエンジニアとしてのキャリアの花形の1つです。
携帯電話事業、官公庁、電気水道ガスなどのライフラインが主に挙げられますが、最近では「はやぶさプロジェクト」のように宇宙分野における品質保証を担うケースも存在します。
絶対にシステム障害が許されないプロジェクトにおいて、大規模な人数でのプロジェクトをまとめ、品質保証の責任者としてマネジメントおよび最終承認をする立場は、QAエンジニアの業務の中で開発エンジニアが優先され、一旦は重要度・リスクが低い不具合・欠陥の改善を見送るという妥協がなくなるため、とことん品質保証を突き詰めたい人には向いています。
この規模になると、年収は1000万円〜1200万円を超える場合も想定され、場合によってはその後、事業部全体を管理するような立場にもなり得ます。
QA-SETチームとして技術を突き詰めながら組織つくりもする立場
こちらは主にWeb系企業に多いですが、効率的なアジャイル開発のため、CI/CDツール・テストフレームワーク・テスト自動化などの技術面を売りにしつつ、QAやSETのチーム構造を外部からきた立場として見直すことも求められるキャリアが考えられます。
今までの企業文化と比較し、新しい環境の現場での知見の吸収や、逆に今までの経験を新天地で活かし、品質保証のQA-SETチームの改善や組織つくりにも携わる立場です。
常に新しい技術を試し、周囲を巻き込んで引っ張るような人に特に向いています。
技術力を武器にしていくため、場合によってはベンチャー企業のCTOになる可能性もあります。
想定年収は所属先企業での品質保証に対する考え方が色濃く関わってきますが、開発エンジニアとしても一部参画できる実力があれば600〜900万円程度は見込めます。
異業種転職で時代背景的にニーズが大きく報酬も手堅いポジションやキャリア
これからの時代背景を鑑み、ニーズのある特定の業種にてQAエンジニアとして転職する場合、報酬面も考慮すると以下の業界が考えられます。
・医療、介護、ヘルスケア関連
・ゲーム、動画、エンターテイメント関連
・車の自動運転などオートメーション関連
IT業界に属し、QAエンジニアとして、マネジメントや自動テストなどの技術力を得て異業種に挑戦する場合は、これから伸びていく業界であり、かつ、品質保証が特に重要とされる分野での品質担当として入社することが考えられます。
医療・介護・ヘルスケア業界
医療、介護、ヘルスケア関連については日本の高齢化や健康志向によって、これからも需要がより高まっていく分野です。
また、特に医療分野での品質保証となると人命に直結する場合や、一部介護をサポートするロボットなどの制御システムの品質保証を担うポジションがあります。
報酬・年収の振れ幅は大きいですが、QAエンジニアとして社会貢献性を重視するような人の場合には向いている業界です。
ゲーム、動画、エンターテイメント業界
ゲーム、動画、エンターテイメント関連の業界については、テスターから熟練QAエンジニアまで様々なポジションがあります。将来的にAIの発展や単純作業のテストが減っていくことになっていったとしても、クリエイティブ分野は人間が担い続ける可能性が高いです。
もともとこれらのジャンルに関心がある人には特に向いている業界です。
これらのジャンルは生配信ライブ映像や、大人数が同時にアクセスするようなシビアなシステムが想定されるため、品質保証における性能やセキュリティ、耐障害性などの非機能要件への高い専門性が特に求められる分野です。
車の自動運転などオートメーション業界
これからの時代、車の自動運転や、ロボットの分野などの業界の需要が高まっていくことは多くの人が感じているところでもあります。
これらの分野での品質保証については場合によってはミッションクリティカルな局面が想定されるため、QAエンジニアとして高い技術力とマネジメント力の両方が求められます。
フリーランスを目指すキャリア
企業に属し、QAエンジニアとして技術力、マネジメント経験を積んだあとは独立してフリーランスとなるキャリアもあります。最近では完全リモートワークの求人も多く、ライフスタイルとの調整がしやすい環境もできつつあります。
QAエンジニアは他のエンジニアと若干ことなり、他社での実績が特に求められる職種です。
「QAエンジニアの将来性」でも触れましたが、ITシステムのテスト工程における重要な要素の1つに「客観的な視点」が挙げられます
開発チームと同じ組織のQAエンジニアの場合、どうしても開発時点から関わっているために『この仕様書は別チームのシステムと同様に、このように動く意図があるのだろう』といった思い込みや、職場の人間関係などの面で客観性が薄れてしまう場合があります。
また、テストの専門企業に外注するとなるとコミュニケーションロスも多く時間がかかってしまうことの否めない上に、場合によってはピンポイントで納期に間に合わせるために「QAエンジニアを一部工程だけ短期間のみ増員したい」というような場合もあります。
フリーランスの場合、このような客観性とピンポイントでの参画が可能であるため求人が多いです。
フリーランスとしてQAエンジニアとして適正のある人は、週2〜3日だけ勤務をしたいといった人や、様々な企業・プロジェクトに関わって実績を積みたい人、新しい環境でのスタートに魅力を感じる人が特に向いています。
収入面においても実力、実績、資格があれば企業側も収入レンジの中でも高い方を提示する可能性が高まります。
QAエンジニアにおすすめの資格
yuko_tada
既にIT業界にてエンジニアとして働いていて、これからQAエンジニアとして挑戦したい未経験者向け、また、QAエンジニアとして年収アップに役立つ資格を紹介します。
(未経験に役立つ):JSTQB認定テスト技術者資格 Foundation Level
JSTQBとは、日本におけるソフトウェアテスト技術者資格認定の運営組織で、 各国のテスト技術者認定組織が参加しているISTQB(International Software Testing Qualifications Board)の加盟組織として2005年4月に認定されています。
ISTQBの加盟組織の各国団体は資格および教育・訓練組織認証について相互認証を行っています。つまり、JSTQBが運営するソフトウェアテスト技術者資格は海外でも有効な資格となっています。※https://jstqb.jp/committee.html から引用
JSTQB認定テスト技術者資格はソフトウェアテストに特化した資格です。Foundation Level はIT業界にてエンジニアとして経験があり、テスト工程の経験もあるなら比較的容易に合格することができる資格です。
この資格を紹介した理由として、まずIT業界のテスト工程に特化した資格試験の中で入門レベルとして相応しく、また、国際資格でもあるためにこの資格を保有していれば、ITシステムのテストに関する最低限の知見を持っているということを証明しやすいためです。
また、2022年10月から認定試験がピアソンVUEによるコンピューター試験に移行しました。これにより、今まで会場と受験日が指定されていた環境から、受験しやすい場所でテストセンターが営業している時間帯ならいつでも受験することが可能になりました。
実際の試験は全問多岐選択式で40問を試験時間60分間となっています。筆者は2018年にこの資格を取得しましたが、既に大手SIerでのシステム開発および他の企業でのQAエンジニアとしての経験があったため20時間程度の勉強で取得しました。
勉強方法は公式の対策テキストがありますのでそちらを一周して用語の認識合わせを行い、あとは当時この資格試験用の「テス友」というスマートフォンアプリがあったため通勤中にそちらで問題を問いていました。
(未経験に役立つ):応用情報技術者
応用情報技術者とは、経済産業省が認定する国家資格のうちの1つです。
試験は年に2回のみ受験日があり指定された試験会場で受験し、1日のうち午前と午後にそれぞれ問題用紙が配られ受験します。午前は多肢選択式(四子択一)にて80問を150分間、午後は記述式で全11問の大問の中から5問を選択して150分間で解答します。
応用情報技術者の試験範囲は「期待する技術水準」として
『ITを活用した戦略の立案、システムの企画・要件定義、設計・開発・運用に関し、担当する活動に応じて次の知識・技能が要求される。』
と明記されており、試験内容も
『ITを活用した戦略の立案、システムの企画・要件定義、システムまたはサービス提案、アーキテクチャの設計、システム運用、プロジェクトメンバーとして予算・工程・品質などの管理』
など、非常に幅広い分野が対象になっています。そのため、難易度が決して安易ではなく、人によっては半年以上の学習時間を要する場合があります。
QAエンジニアの業務範囲も非常に幅広く、テスト工程だけではなくドキュメント類やアーキテクチャ、システム運用の理解があることで網羅的なテストケースを作成することができます。
そのため、応用情報技術者を保有しておけばITエンジニアとして幅広い範囲の知見を得ているという証明になるため、転職を視野にいれておくと有利となります。
(年収増に役立つ):JSTQB認定テスト技術者資格 Advanced Level
JSTQB認定テスト技術者資格のFoundation Levelを保有し、ITエンジニア(ソフトウェア開発者でも構わない)として3年以上の実務経験がある場合は、より上位であるAdvanced Levelの取得を目指しましょう。
Advanced Levelの試験は2023年7月現在において、TA(テストアナリスト)資格試験とTM(テストマネージャ)資格試験の2種類が存在します。どちらの資格試験も複数の選択肢から正解を選ぶ形式の問題が出題されます。問題によっては複数の選択肢から正解を選ぶ形式での出題もされます。
TA(テストアナリスト)資格試験
TA資格試験は40問の問題が出題され、試験時間は120分間となっています。AL資格は以下の種別となっています。
- ビジネスドメインの要件の視点から、テスト戦略で定義に沿うように複数のタスクを組み立てていく。
- 品質に対するユーザの期待に応えられるよう、システムを詳細に分析する。
- システム要件がドメインにとって妥当かどうかを評価する。
- 適切な活動を準備して実行し、その進捗状況についてレポートする。
- 評価結果を保証するために必要な証拠を提供する。
- 定義されているゴールを達成する上で必要なツールと技法とを実装する。
TA資格試験の合格基準は65%の正答率が必要となりますが、出題レベルが「学習目的の内容を分析して、それに合わせた手順や技法を適用することができる。」まで求められるため、単純な用語の暗記や試験対策だけではなく実務レベルの深い経験が求められます。
そのため合格率は直近の2022年2月実施の41.6%を除き、20%台以下の場合が多く、最も低い時は合格率6.32%という難関資格となっています。
TM(テストマネージャ)資格試験
TM資格試験は65問の問題が出題され、試験時間は180分間となっています。TM資格は以下の種別となっています。
- 対象システムに対する包括的なテストのゴールおよびテスト戦略を定義する。
- 計画、スケジュールの立案とその追跡を行う。
- 必要となる活動を体系化し説明する。
- タスクに適したリソースを選択、調達し、割り当てる。
- テストチームの選択、編成、指導を行う。
- テストチームのメンバー間、テストチームと他のステークホルダ(利害関係者) とのコミュニケーションを体系化する。
- 妥当な状況判断をすると共に、適切な情報提供を行う。
TM資格試験の合格率はTA資格試験より若干高い傾向がありますが、それでも20%台以下の場合が多く、TA資格試験同様に簡単な資格試験ではありません。
その他の資格試験
JSTQBでは2023年末までに以下の順番で試験を開始する予定です。
- Foundation Level (Specialist) 自動車ソフトウェアテスト担当者
- Advanced Level テスト自動化エンジニア
- Foundation Level (Specialist) アジャイルテスト担当者
(年収増に役立つ):システムアーキテクト
JSTQB以外にもテストにおける資格試験はありますが、それよりも応用情報技術者と同様の情報処理技術者試験における「高度区分試験」に分類される資格取得を目指すことも選択肢の1つとしてあげられます。
その中でもシステムアーキテクトはシステム開発の現場にて業務内容の分析から要件定義や基本設計などいわゆる上流工程を担う「ITシステムの設計者」としての役割です。
システムアーキテクトの主な試験範囲の中では一部とはいえ、以下のような項目があります。
試験範囲 | 内容 |
---|---|
システム構成要素 | システムの構成、システム評価指標など |
システム開発技術 | ソフトウェア適格性確認テストやシステム適格性確認確認テストなどのテスト工程を含む試験範囲 |
システム戦略 | システムの評価、活用促進、業務プロセスなど |
システム企画 | システム化計画、要件定義、調達計画、実施など |
セキュリティ | 情報セキュリティ、情報セキュリティ管理、セキュリティ技術評価、情報セキュリティ対策、セキュリティ実装技術など |
他にもデータベースやネットワークなどのテクノロジ系分野、品質マネジメントを含むプロジェクトマネジメントやサービスマネジメントなどのマネジメント系分野、経営戦略・技術戦略や法務などのストラテジ系分野といった幅広い範囲での深い知識が出題されます。
また、記述式試験に加えて論述問題の解答が必須です。論述試験は大問3つの中から1問を選択し解答する形式ですが、例年、3つの設問があり、
- 800字以内
- 800字以上1600字以内
- 600字以上1200字以内
にてそれぞれ記述する必要があります。
つまり、最低でも1400文字より多く、かつ、3600文字以内に収まる範囲で記述する必要があり、120分間以内にすべて手書きで文章を書くことになります。
また、出題傾向も「過去に携わったシステムの概要」、「課題をどう分析してどう対応したか」、「対応した中で特別な工夫をどうしたか」という受験者の実務経験が問う問題が扱われます。
この論述試験により合格率は12〜15%程度という難易度の高い資格試験となっています。そのため、合格することができれば、システム設計におけるエキスパートとして客観的な評価指標の一助になります。
QAエンジニアに向いている人の特徴
QAエンジニアに向いている人の特徴を4つ解説します。
仕様書や設計書の細部まで読み込める人
QAエンジニアはクライアントとの要件定義や社内での仕様書・設計書などのドキュメント類を細部まで読み込み、矛盾点や、そこから明文化されていない性能要件や画面構成などの非機能要件に気づける人が向いています。
テスト自動化のためのプログラミングは行いますが、ドキュメント類を読み込むことに抵抗がなく、そこから想定されるテストケースを洗い出せる人が向いています。
IT技術以外にも関心が持てる人
QAエンジニアは品質保証の専門家であるため、主にテスト工程におけるテスト技法やチームをまとめるマネジメント能力なども必要ですが、テスターではなくエンジニアです。
自動テストを構築するためのプログラミング能力はもちろんのこと、プロダクトに最適なライブラリやツールを使いこなせるような技術力がある人が向いています。
また、IT技術以外にも法律や行動心理学などの幅広い分野の知識にも関心をもち、活用できる人が向いています。
ユーザー目線でシステムを観ることができる人
現場の人間として、システムやアプリケーションの開発に関わっていると視点がどうしても開発者側になってしまいがちです。
実際に、負荷に耐えられる耐久性があるか、セキュリティ面に問題はないかなどの非機能要件を満たせるようにテストや修正を行います。
しかし、QAエンジニアは実際にユーザーがそのシステムやアプリケーションを利用する際に操作がわかりやすいか、スムーズか、といったユーザビリティである「使いやすさ」が最も重要な非機能要件の1つです。
どれだけ画期的で素早く動くシステムを構築しても、ユーザーが満足しなければそもそも意味がありません。そのため、想定したペルソナ(ユーザー)の人が実際に使うならどうするかとユーザー目線でシステムを考えられる人が向いています。
コミュニケーション能力の高い人
QAエンジニアは立場上、テスターやデバッガーへのテスト計画の指示や進捗管理を行う必要があり、また、テストを進めた結果、設計上の欠陥やテスト時の不具合の発生などによりクライアントや開発者の開発スケジュールを遅らせてしまう場合があります。
そのため、テスト結果の分析や報告を関係者にしっかり伝え、連携し、今後の方針を決める必要があるため、高いコミュニケーション能力がある人が向いています。
また、QAエンジニアとしてはシステムの細かい箇所まで徹底的に欠陥や不具合を洗い出す妥協しない人が向いていますし、重要な素質です。
特にミッションクリティカルなシステムにおいては1つの不具合も許されないため、この姿勢がとれる人が特に向いています。
しかしながら、スキマ時間にプレイするような自社開発のゲームアプリケーションのような場合、状況によってはスケジュールの都合や経営判断から、ユーザーへの影響度合い、そもそも発生する可能性が極めて低い不具合などリスクが小さい場合には一時的に目をつぶり、関係者間で調整し、次回のリリース時に修正するという臨機応変さも必要となります。
未経験からQAエンジニアになるための3つのステップ
yuko_tada
本章では未経験者がQAエンジニアとして就業できるまでの3ステップを記載します。
1.テスターやデバッガーとして入社する(IT業界そのものが未経験の人)
IT業界そのものが未経験の人の場合、QAエンジニアとしてのキャリアの第一歩はITシステムやスマートフォンアプリのテスターやデバッガーとして企業に入社を目指すところから始まります。
QAエンジニアとしては新規ITシステム構築時、もしくは既存システムの更新時においてのテストはある程度自動化させたいところですが、実際に人間がユーザーとして構築したITシステムをスマートフォンの実機にて想定通りの動作をするか確認する人員が必要です。
特にAndroidのスマートフォンはメーカーによって機種の大きさや5G対応未対応などのばらつきが多いため、動作保証端末として組織の端末実機テストの人員が必要です。
そのため、どうしても単純作業要員からとしてのスタートとなるケースが多くなりますが、実際の現場で設計書などのドキュメントや現役QAエンジニアが作成したテストケースを見ながら実務経験を積むことができます。
このケースの求人を探す際は「テスター」や「デバッガー」にて求人検索を行うことで、まずはアルバイトや派遣社員などの雇用形態から業界に入ることが可能です。
しかしながら、長期的なキャリアを考慮すると「QAエンジニア」もしくは「テストエンジニア」にて未経験OKの求人を見つけ応募することになります。
この違いは求人をだしている企業が単純作業要員を必要としているのか、それとも長期的にQAエンジニアを育成することも視野に含めているかを見極めやすくなります。
未経験の求人の場合は学歴が高校卒業程度、PC操作ができる程度から募集している場合もあり、門戸は比較的広いです。
最近ではフルリモートの求人も増えてきていますが、未経験の場合はQAエンジニアのテスト感覚(不具合が頻発しやすい傾向にある箇所、試験項目として頻出する操作など)を現役の先輩方から学びやすい環境が望ましいです。
企業によっては研修期間を設けている場合もあるので、そこからQAエンジニアのノウハウを学んでいくことも選択肢の1つです。
2.プログラミングやテストツールを手を動かして学び、資格も狙う
上記の1のようにまったくの未経験者が入社して現場に慣れてから、また、IT業界での開発エンジニアとしての経験はあり、そこからQAエンジニアを目指す人は現場や市場でよく利用されているプログラミング言語やテストツールなどについて学び、将来的にテストの自動化ができるようになる必要があります。
現状では単純作業要員もある程度は必要となっていますが、AI技術の発展やCD/CIツールの活用によって単純なテストの実行および結果の確認は人間が担う場面が少なくなっていく可能性があります。
そもそもQAエンジニアはデバッグ時からソースコード(プログラム)の不具合の発見、修正、再テストの実施を担うことが多いのでプログラミング言語の習得は必須です。
どのプログラミング言語を選ぶかは現場で触れる言語を優先的に学び、その言語を使って自動化テストをサポートするツールやフレームワークについても実際に手を動かして学んでいきましょう。
また、QAエンジニアとして数多くのテスト手法は現場で活用されているはずですが、テストに特化したJSTQBのような資格や、ITエンジニアとして幅広い知識が得られる応用情報技術者の資格取得を目指して座学も学びましょう。
3.QAエンジニアとして組織作り・マネジメントを行う
上記の2のステップにてQAエンジニアとしての経験や技術力がついてきたら、QAエンジニアやテスター、デバッガーのチームに指示を出せるように組織作りやマネジメントを行います。
たいていの組織の場合、QAエンジニアやテスターなどのテスト用人員はチームを構成して業務に当たります。
リーダーからの指示でのテスト計画書の作成、テスト実行、結果の分析、フィードバックができるようになったら次は自分がリーダーとしてテスターにテスト計画書を渡し、テストの実施を任せるところから徐々にチームを育成し、マネジメントができるようになっていきましょう。
最初はチームサブリーダーのような立場からメンバーに指示を出し、最終的には品質保証部門のチームリーダーとして業務を割り振り、スケジュールを管理するようなマネジメント層としての経験も積んでいくことでQAエンジニアとして独り立ちできるレベルになります。
その後は、そのままQAエンジニアとして活躍を継続し、品質保証の専門分野を極めるか、システム全体を見渡すITアーキテクトやCTOを目指すことも考えられます。場合によっては独立してフリーランスとなる道もあります。
QAエンジニアが活躍する企業の実例3つ
QAエンジニアもしくはソフトウェア品質の分野において有名な企業を2社と、ミッションクリティカルな要件を使うSIer企業についてご紹介します。
事業内容がそもそもソフトウェアの品質保証:株式会社SHIFT
IT業界において、QAエンジニアを含むソフトウェアの品質保証およびテストに関する企業としてまず第一に連想する企業が株式会社SHIFTです。
株式会社SHIFTは事業内容を「ソフトウェアの品質保証、テスト事業」と掲げている東証プライム市場上場企業です。この分野を全面に出しつつ上場している企業は非常に稀です。
キャリア採用枠はもちろん、新卒・未経験からの入社枠も存在します。
株式会社SHIFTは2023年現在キャリア採用に尽力しており、キャリア採用枠にて年収500万円以上が提示された場合などのいくつかの条件を満たし、2023年3月1日から6月末までに入社した人には給与等とは別に100万円を入社祝い金としてプレゼントという採用キャンペーンが開催されていました。
このキャンペーンが好評だったのか、当初の予定では6月末までだったところ2023年9月30日まで延長されているところです。
品質保証の面が目立ちがちな企業ですが、デジタルトランスフォーメーション(DX)にも力を入れています。
クライアント企業に最上流からのDX推進・業務改革、そこからの戦略企画支援などのITコンサルタント業、PM/PMOやアジャイル開発の支援、インフラ構築、マイグレーション支援、セキュリティ面での分厚いサポートなど、幅広い領域においてクライアント企業の課題解決を実施しており、技術領域も広く、マネジメント方面でも活躍することができます。
そのため、携わる業界も必然的に幅広く、金融・流通小売業・製造業・通信業やゲーム業界などのエンターテイメント分野も手掛けています。
職種も幅広く、QAエンジニアはもちろん、ソフトウェア開発エンジニア職やフルスタックエンジニア、UXデザイナーなどの職種や、ゲーム開発分野におけるプランナーやディレクターなどの職種もあります。
株式会社SHIFTは職種や分野が幅広いため、年収面でばらつきがありますが、2022年11月の有価証券報告書の記載によると、株式会社SHIFTの平均年収は604.9万円となっています。
若年層や、キャリア採用でもテスターからのような経験が浅い場合は300万円程度からのスタートが想定されますが、1年間の昇給率がだいたい10%程度あるようで、人によっては10%を大きく上回る場合もあるそうです。
そして株式会社SHIFTでは定年退職を70歳としているようで、30代後半以降からでも十分に長いキャリアを積むことができます。
組織的に品質保証にとりくむ企業:株式会社メルカリ
株式会社メルカリでは2017年から技術経営層としてCTO以外にVP of Engineeringの役職を設けた欧米のような組織体制を形成した企業で、品質保証に関しても2016年からQAエンジニア以外にテスト自動化に取り組むSETチームを設けた企業です。
2017年からQA-SETチームという組織体制をとり、各プロジェクトにおいて品質保証に取り組むQAエンジニアと、開発エンジニアやQAエンジニアをインフラ面や自動化にてサポートするSETチームという明確な役割分担を行っています。
株式会社メルカリでは現役のQAエンジニアやSETの人が社内の組織体制や課題などをブログに公開しているため、関心のある人は直接それらの記事に目を通してみると良いでしょう。
また、SETチームだけでなくQAエンジニアもテスト自動化に関わっており、UI E2Eテスト(エンドユーザーが扱う画面操作のユーザーエンターフェースなどのテスト)にJavaScriptでコードがかけるCypressを用いた環境を構築しています。
手動によるマニュアルテストでもCIツールと連動させることでテスト環境を自動構築し、開発エンジニアへの負担を軽くしています。
株式会社メルカリにおけるQAエンジニアの平均年収は556万円となってはいますが、振れ幅が400万円から1000万円程度とかなり幅広いため、QAエンジニアとしてテスト工程におけるツールやフレームワークの選定や構築、自動化ソフトウェアが書けるレベルの場合は平均値を大きく上回ることが推察できます。
参考までにキャリア採用枠での応募の場合は600万円からの求人情報が公開されています。
ミッションクリティカルなシステムに関わるSIer:日本電気株式会社(NEC)
昨今のQAエンジニアに関するトピックとしては、上記に記載した株式会社メルカリのようなスマートフォンを想定したアプリケーションを開発する企業や、Web業界、ゲーム業界では効率的な開発、リリースを目指すいわゆる「アジャイル開発」における業界の話題が多い面もあります。
しかしながら大手SIerが扱うミッションクリティカルなITシステムの構築を行う企業も品質保証分野の人材を募集しています。
そこで人命や国家に関わるようなプロジェクトを担うこともある大手SIerの例として日本電気株式会社(NEC)およびそのグループ企業に関してもご紹介します。
日本電気株式会社ではキャリア採用として、ウォーターフォール開発の経験者に品質保証に関する分野での求人を公開しています。
日本電気株式会社での求人としては通信キャリア業界向けの品質推進PMO/マネージャクラスという課長級クラスの人材を求めており、その業務内容としては、品質管理のPMOとして、事業部門単位での開発プロセス・品質プロセスの標準化・整備・実行推進、プロジェクトの審査、事業部門向けの学習・テスト用のシステム環境の提供・維持とされています。
これはすなわち、既に他社で十分な品質保証に関する現場経験やプロジェクトマネージャー経験が豊富にある人を指しています。
業務対象として扱う分野は、ここでは携帯電話の通信キャリアを中心に、官庁向けの大規模ネットワーク・クラウドサービスのプロジェクト管理を行います。
この役職の大きな魅力として、500人規模のプロジェクトに携わりながら、システム開発の品質管理・PMOを担うことができます。また、ここからのキャリアパスとして将来的に事業部門全体を対象とした品質管理の責任者としてのポジションに挑戦することができます。
1つのプロジェクトが半年から数年単位のような場合もある大規模なウォーターフォール開発でのマネジメント能力が要求されるため、応募条件も数十名以上のプロジェクトリーダー経験や品質マネージメントに関する知識が求められます。
携帯電話のシステムは、今ではライフラインの1つとして確立しており、ひとたび不具合が発生してしまうと、日本中の経済活動への影響や、一時的にでも停止してしまうと救急通報が行えないため人命に関わります。
Web業界や特にスマートフォンのゲーム業界の素早いリリースと改善活動を繰り返すことができず、日本の基幹システムを担うための大きな責任が求められる役職ですが、逆の視点でみると数百人規模の人が連携したシステム開発に取り組む醍醐味はこのような環境でしか味わえないかもしれません。
想定年収は1000万円前後となっており、他社の大手SIerでもこの規模の役職なら1000万円超えが想定されます。
QAエンジニアとして組織をまとめる立場を経験した後の選択肢として、これらの業界も検討してみてください。
QAエンジニアの独立や転職はエイジレスにお任せください
現在QAエンジニアとして就業されている方や、QAエンジニアを目指したい方向けにエイジレスではキャリア相談や独立時の案件紹介をさせて頂いております。
以下エイジレスエージェント(正社員エージェント)のおすすめポイント
- 大手企業様と信頼関係があるから高い面談/内定率
- 年収大幅アップでの内定実績多数
以下エイジレスフリーランスのおすすめポイント
- 高単価案件が豊富、上流商流の案件のみ取り扱い
- 40代以上のベテランIT人材の大幅年収アップ事例多数
転職とフリーランス独立どちらの相談にも乗れます、是非お気軽に相談を!
まとめ|QAエンジニアの門戸は広く将来性も高い
QAエンジニアは業界完全未経験の人から、ベテランエンジニアまで求人情報が数多くあり、実力と経験次第で収入レンジが大きく高まる職種です。
品質保証の専門家として様々なテストツール・フレームワークを扱い、自動化テストによって業務効率化を図る技術面、開発エンジニアやクライアント企業と直接話す多くの機会があります。
技術力、マネジメント力を積み重ね、ITコンサルタント、マネジメント職、テストに関する技術を極めるスペシャリストなどキャリアパスも複数あります。
実力次第で年収が高くなり、また、リモートワークが可能な求人も多くありますので、フリーランスとして活躍できる場も多い職種です。
ITソフトウェアの品質保証を担うQAエンジニアに関心のある人は、ぜひエイジレスフリーランス/エイジレスエージェントにご登録ください。