システム開発の中で各種テストを実施し、不具合を見つけるテストエンジニア。製品の品質を確保するための重要な役割を担っており、製品を発売する前にエラーやバグが無いかを分析・解析・設計を行う職種だ。
開発者ではない第三者がテストを行うことで、開発者とは異なる観点でエラーやバグを発見することができる。さらに開発者とテストエンジニアの分業により、それぞれが自分の業務に専念できるというメリットもある。テストの自動化もされてはいるが、テストを自動化するシステムの動作テストも必要なため、テストエンジニアの存在は欠かせない。そして、新しいシステムもどんどん開発されているためテスト業務自体も増えている。
テストエンジニアの仕事内容は主に、完成した製品の動作確認と開発途中のコードや環境の動作確認だ。前者は未経験者でもできるが、後者はコードの修正が必要なので経験者でないと難しいだろう。これらの動作確認を行い、開発した製品が実際に動作するかやエラー・バグが無いかをチェックするのが仕事だ。 開発者がテスト業務を行うと開発が途中で止まってしまうので、テストエンジニアが専門で行うことでエラーが発生しても開発を続けられる。 また、発売前にエラーやバグを見つけられるので、必要な機能の追加や品質を向上させることができる。テストには3つの工程がある。 単体テストは1つのプログラムモジュールが仕様と一致しているかを確認することであり、結合テストは複数のモジュールを相互確認したりモジュールの結合時に行うテストであり、総合テストは完成したシステムが仕様通りの動作をするかを最終的に確認することである。