QAエンジニア

QAエンジニア(quality assurance engineer)・品質保証エンジニアとは、ソフトウェアの品質保証を目的とした品質計画の立案や動作テスト、品質管理を行うエンジニアです。
近年では、ソフトウェアの品質管理だけではなく、セキュリティ担保の観点からもQAエンジニアの需要が高まってきています。
QAエンジニアとはソフトウェアやシステムの品質を保証するために、テストの設計、実行、管理を行うエンジニアです。システムやアプリケーションが仕様に沿った動作をしていることをレビューやテストで確認し、開発者に問題点をフィードバックしてソフトウェアの品質を確保します。ISO9001などの品質管理に関連した規格にも精通し、プロダクトに高い品質を保証する役割も担っています。

QAエンジニアの役割
ITシステムやアプリケーションはSEやプログラマーなどのITエンジニアにより設計・開発が行われます。QAエンジニアは、開発されたシステムやアプリケーションが設計通りに作られ期待通りに動作するか、使いやすい仕組みかを確認し、問題がある場合は是正に繋げることが役割です。
QAエンジニアとテストエンジニア(テスター)の違い
QAエンジニアは、システム開発において、「品質計画(テスト設計)」「動作テスト」「品質管理」「品質改善」「品質保証」の工程を担当します。
QAエンジニアが行う動作テストは、開発工程で実施される単体テストや結合テストのように単体のプログラムやその結合体に行うのではなく、完成したソフトウェア全体に対して行うのが一般的です。完成品に対するテストとなるので、ユーザー環境を構築して行う動作テストや耐久テスト、動作仕様テストなどが主な試験内容となります。
ただし、開発や結合テスト時点で品質に問題があることが予見され、テスト工程の早い段階で品質確認のためのテストを行う場合にはこの限りではありません。
また、テスト後はその結果をまとめて分析し、集中的に対応が必要な問題を抽出することも業務の一環です。問題が発生した工程を集計し、品質の低い開発工程を見つけ出すことや、設計・開発者による問題点の偏りなどを探し、システム開発プロジェクト運営の改善を図ることも業務に含まれます。
一方のテストエンジニアは、プログラムが正常に動作するか、不具合がないかといった観点でテストを行うことが業務です。ソフトウェアのテストを中心に行い、繰り返しながら不具合やバグを見つけます。そのため変数の戻り値やクラスの動作を確認する単体テストや、関数同士の連携や動作を確認する結合テストといった業務が主です。このような点で、QAエンジニアとテストエンジニアは異なる職種といえるでしょう。

QAエンジニアの仕事内容
QAエンジニアの仕事内容は、システムやソフトウェアの品質を保証することです。一般的にシステムやソフトウェアは規模が大きいほど複雑化し、想定外のエラーや動作が発生しやすくなります。そのため、開発したシステムやソフトウェアの品質保証を行うQAエンジニアが求められるでしょう。ここでは、QAエンジニアの仕事内容について具体的に説明しています。

テストの計画・設計
QAエンジニアの仕事はシステム開発プロジェクトにおけるテストの計画が始まりです。プロジェクト計画の起案段階から、システムの特性を考慮したテスト計画を作成します。テストの観点や確認内容は早い段階で洗い出し、テストの準備として機器や人的リソースの手配も行ないます。
テスト計画時の観点に基づき、確保すべき品質を確認できるテスト設計が求められます。
仕様の確認と設計上の問題の抽出
QAエンジニアは、プロジェクトによっては設計工程の品質チェックを行う場合もあります。仕様書のチェックでは、テスト内容を確認し仕様の抜け漏れや誤りがあれば正すことが必要です。以降の工程での成果物の品質を高めることにも繋がります。本来確認すべきテストが抜けていた場合、あとになって再テストが必要になる可能性もあるため注意が必要です。

テスト実行・結果分析
開発やテスト工程が進み、システムが出来上がってきたタイミングで、QAエンジニアは計画・設計に沿ったテストを実行します。テストは、「仕様書に沿っているか」や「ユーザーが快適に使えるか」など多角的な視点でのチェックが必要です。テストの実施後は速やかに結果の集計を行い、開発者にフィードバックします。
また、集計結果からテスト時点のソフトウェア品質の評価をはじめ、課題の共通点、強化に必要なポイントの抽出と対策の立案を行うことも業務の一つです。
結果報告と改善案の作成・提出
テストを実施した後、結果の分析内容と問題点および改善案をプロジェクトマネージャーや開発チームのリーダーなどのステークホルダーに報告します。結果に応じて、開発現場へのフィードバックおよびソフトウェアの品質改善を促す必要があるでしょう。プロジェクト全体に同じような障害や品質問題がある場合には情報の展開が必要となるため、そのフォローも重要な業務です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

用語

前の記事

E2ENew!!
用語

次の記事

テストエンジニアNew!!