更新日:2022/04/01
システム、ソフトウェア開発において重要視される「QCD」。
Qは「Quality(品質)」、Cは「Cost(コスト)」、Dは「Delively(納期)」を表しますが、その中で特に重要なのがQuality(品質)です。
システムベンダーでは「QAエンジニア」というポジションを設け、ソフトウェアの品質を高く保つ取り組みを行っています。
ここでは、QAエンジニアの役割から、仕事内容や必要なスキルなどを幅広く紹介していきます。
目次
QAエンジニアのQAは「Quality Assurance」の略で、「品質保証エンジニア」と訳されます。
では、QAエンジニアの役割やテストエンジニアとの違いなどについて詳しく見ていきましょう。
QAエンジニアの役割は、システム、アプリケーション、サービスといったソフトウェア製品における品質を担保することです。
業務の範囲は企業によって異なりますが、一般的にはテスト工程での品質確保業務がメインとなります。
システムやソフトウェアの開発では、たった一つの設計ミスが大きな障害につながります。
場合によってはサービスが破綻してしまったり、損害賠償に発展したりするケースもあります。
開発におけるミスを見つけ出すためには、システム設計に直接かかわる立場とは違う視点でのチェックが欠かせません。
QAエンジニアは、こうしたリスクを避け、システムやソフトウェアをより完全な形で送り出すために存在しています。
弊社で公開している「品質管理/QAの平均年収データ(2016)」では、QAエンジニアの平均年収は389万円となっており、20代で346万円、30代で437万円ほどとなっています。
職種別の平均年収ランキング(2016)の中で見てみると、IT業界の中では高いとは言えませんが、企業規模や勤続年数、スキルなどによっても変わってきます。
また、開発において品質の管理はとても重要です。
今後、QAエンジニアの需要が高まってくると、平均給与が変化することも考えられます。
QAエンジニアの業務はテストエンジニアの業務と重複している部分が多く、その境目は曖昧です。
しかし、テストの実施以外にもいくつかの重要な役割を果たすことがQAエンジニアには求められます。
例えば、開発プロセスの品質管理、テスト結果の分析とその分析内容のフィードバック、ドキュメントやソースコードといった成果物についての品質保証などがそれにあたります。
一方、テストエンジニアは開発者としての立場に近く、設計書の通りにプログラムが正常に動作するかという観点にのみ注力してテストを行います。
QAエンジニアが実際にどのように業務を行っているのか、具体的にはなかなか想像がつきにくいと思います。
ここでは、QAエンジニアの具体的な職務内容を紹介します。
メインの業務となるのはテストの工程です。
まず、機能の実現を保証するにはどのようなテストを行う必要があるのかを、品質保証の専門家として設計、計画します。
テストにおいては複数の関係者が関わることもあるため、スムーズにテストが完了できるようなスケジューリングも行います。
テスト工程は一連の開発工程の中でも完成に近い段階の工程となるため、スケジュール的にもミスが許されない局面です。
そのため、事前にあらゆる可能性を考え、きちんとしたテスト計画を準備しておくことが求められます。
設計・計画したテストに則ってプログラムの動作確認を行います。
ユーザーの立場・システムの専門家としての立場からなど、あらゆる視点を持ってテストを実施する力が必要となります。
また、本来実現したかった機能が要件定義に沿って実現できているかの評価もおこないます。
さらに、動作速度やインタフェースの使いやすさなど、非機能要件についても検証します。
リリースやサービスインをしたサービスについて、稼働状況、障害発生状況、パフォーマンスログなどを収集し、品質を確認します。
バグの多さや性能の低さから企業やソフトウェア製品の評判が悪くなることを避けるため、必要に応じてパフォーマンスチューニングや機能の改修を行います。
では、QAエンジニアとして働くにはどのような知識やスキルがあれば良いのでしょうか。
QAエンジニアの扱うシステム、ソフトウェアはプログラムにより構成されており、その品質をチェックするためにはプログラミングスキルが欠かせません。
プログラミングの基本的な構造、規約に則った記載、プログラミング言語ごとの特徴などを知っておく必要があります。
品質に問題が発生した場合には、該当箇所の修正を自ら行うこともあるため、必須のスキルといえます。
プログラムに問題や課題があった場合、QAエンジニアはそのポイントをエンジニアやプログラマにフィードバックします。
そこには人と人とのやりとりが発生しますので、スムーズにプログラムの問題を指摘し理解してもらうためのコミュニケーション能力が必要となります。
障害が見つかった場合に必要となる修正のスケジュール管理やリソースの配分についても気を配る必要があります。
そこで必要となるのがマネジメントスキルです。
QAエンジニアの上位職となる「シニアQAエンジニア」ではさらにマネジメント能力が求められます。
また、マネジメントスキルを身につけることができれば、将来的にはプロジェクトマネージャーへ向けたキャリアを目指すことも可能となります。
ソフトウェアの品質を保証するため、ソフトウェア開発の流れ、工程、技法を知っておかねばなりません。
品質に問題が発生した場合には、どこで問題の原因が生まれてしまったのかを分析し、同様の事例をケアする必要があるからです。
システム、ソフトウェア開発のプロジェクトで一通りの開発経験があれば、その経験をQAエンジニアの業務に活かすことができます。
業務のメインとなるテスト工程で利用されるテスト技法をスキルとして学ぶ必要があります。
勤める企業や業界によって名称は変わってきますが、プログラミングテスト、結合テスト、システムテスト、シナリオテスト、運用テストなど、その技法は工程ごとに分かれています。
これらの各テストにおいては、どのような観点でテストを実施すべきなのか、それぞれのテストの評価や判定の基準を知っておかなければなりません。
近年のテストではテストツールを使って実施することも多く、ツールの習熟も求められます。
QAエンジニアとして活躍するために持っておいた方がいい資格、持っていて損はない資格を3つ紹介します。
日本におけるソフトウェアテスト技術者資格認定の運営組織「JSTQB」による認定資格です。
ITにおけるテスト技術者のスキルを示す資格となっています。
資格は「Foundation Level」「Advanced Level」「Expert Level」の3段階に分かれており、Foundation Levelには追加の認定要素としてアジャイルテスト担当者向け、自動車ソフトウェアテスト担当者向けの試験も存在します。
Advanced Levelは、Test Manager、Test Analyst、Technical Test Analystと、業務内容によって試験・資格がさらに分かれています。
Foundation Levelには公認の講座や書籍があり、学習に利用することが可能です。
ソフトウェア品質技術者資格認定(JCSQE)は、一般財団法人日本科学技術連盟により運営されている認定資格制度です。
ソフトウェアの質の向上のために求められるスキルとその実践力を問う資格で、初級、中級、上級の3段階でレベル分けされています。
資格取得のための参考書籍が販売されているほか、資格対応のセミナーを利用した学習も可能です。
IT検証技術者認定試験(IVEC)は、一般社団法人IT検証産業協会(IVIA)が認定するテストエンジニアの資格試験です。
テストエンジニアとしてのスキルはQAエンジニアにとっても必須であり、ぜひ受けておきたい試験です。
独立行政法人情報処理推進機構(IPA)が策定した組込スキル標準(ETSS)のフレームワークをベースにキャリアレベルが7段階に分かれており、上位の試験を受験するには下位の資格取得が必要になります。
ベンダーにとって開発における品質は業務上で最も重要視されるものであり、その品質を担保するためにもQAエンジニアの存在はなくてはならないものです。
今後もその需要が下がることはないでしょう。一方、開発においては技術が日々進歩しています。
QAエンジニアとして活躍し続けるためには、WEB関連やクラウド、AI、IoTといった新たな技術についての知識を常に磨いておくことも求められます。
もしQAエンジニアとしてキャリアアップを目指すのであれば、目指すべき上位の職として、シニアQAマネージャー、QAコンサルタント、テストアナリストといったポジションがあり、キャリアチェンジの場合は、業務の近いテストエンジニア、開発系のエンジニア、PMOといった職種が選択肢に挙げられます。
QAエンジニアは、業務の内容上、開発の業務全体を知っている必要があるため、開発を一度も経験していない未経験の状態からQAエンジニアになることは難しいです。
実際、QAエンジニア職への転職・求人情報の多くが、システム開発プロジェクトの業務経験の有無を採用の判断基準の一つとしています。
そのため、目指すのであれば、開発エンジニアとして一度働いてからQAエンジニアへの転職を考える方がおすすめです。
また、新卒でQAエンジニアになりたい場合は、ソフトウェアの品質保証を主業務としている企業を探してQAエンジニアを目指す道が考えられます。
QAエンジニアの存在はあまり目立つものではありませんが、システムやソフトウェアの品質を支える重要な仕事です。
開発上のミスは企業の価値を損なうばかりか存続さえ危ぶまれる事態に発展する可能性がありますが、QAエンジニアは、リスクと隣り合わせのITベンダーの信頼を守る「砦」と言ってもいい存在なのです。
そんなQAエンジニアへの転職を考えるならば、マイナビエージェントの利用をご検討ください。
マイナビエージェントでは、IT・WEB業界の転職事情に精通したプロのキャリアアドバイザーが最適な求人をご紹介いたします。
また、各企業の人事担当とやり取りをおこなっているアドバイザーが在籍しており、社内の雰囲気や企業側が求めている人材像など、求人票だけでは知りえない情報をお伝えします。
そのほかにも、応募書類の添削や面接対策、給与交渉など、転職活動の全てをサポートさせていただきます。
IT・Webエンジニアの転職ならマイナビITエージェント
IT業界
Webエンジニアに将来性はない?AI発展の3つの影響と生き残るための戦略
IT業界
ネットワークエンジニアの将来性は?需要が高まる理由と必須のスキル
IT業界
システムエンジニアを辞めたい4つの理由と辞める前に確認したいこと