皆さん、「QAエンジニア」という仕事を知っていますか?
N2i には現在、3名のQAエンジニアが在籍しています。が、実は普段どんな仕事をしているのか、よく知りませんでした。
現在リモート勤務中の弊社。先日、2カ月ぶりに出社したところ、QA歴7年のベテランQAエンジニアと話をする機会があったので、思い切って質問をぶつけてみました。
エンジニアでない私にも理解できるよう、やさしく簡単に解説してもらえてスッキリしたので、記事にまとめてみます。
QAエンジニアは何をしているの?
ーー大変申し訳ないのですが、同じ会社にいながらQAエンジニアの皆さんが普段どんな仕事をしているのか知りません。ずっとモヤモヤしていたので教えてください!
あまり表に出ることのない仕事ですし、QAエンジニアは他のエンジニアと比べると人数が少ないので、こうやって聞いてもらえるだけでも嬉しいです!
QAの業務内容は会社によって違いますが、主には、製品やサービスが仕様に沿って動作するかを確認したり、不具合によるシステム障害を回避するためにどんなテストをすべきかを考えたり、開発エンジニアでは気付きにくい不具合を検出して品質を保つための試行錯誤をしています。
そもそも、QAはQuality Assurance(クオリティ・アシュアランス)の略で「品質保証」という意味です。
QAエンジニアの業務内容としては、主にこのようなものが想定されます。
- 仕様の把握
- テスト設計やテストケースの作成
- 仕様に沿った動作の確認
- テスト結果のフィードバック分析
ーー開発エンジニアやPMが行うテストとはどう違うのですか?
QAエンジニアが在籍せず、開発エンジニアやPMがテストを行っている現場はまだまだ多いです。
一般的なシステム開発はこの図のような流れになります。
単体テスト、結合テスト、システムテストを開発エンジニアやPMが行うと、どうしても「正しく動作するパターン」でテストを行いがちで、テストのパターンが偏るという問題があります。
ーーテストのパターンが偏るとどんな問題があるんですか?
世の中にITシステムがどんどん生み出されていく中で、システム開発の現場では、システムリリース後に、ユーザーがテストパターン以外の動きをして不具合が発生するという問題に頻繁に直面しました。
システムの修正に加えて、謝罪や返金など、多大な損害が発生した事案もありました。
ーーそれは困りますね。
そこで、システムの品質を保証・管理するQAエンジニアが必要になったというわけです。
開発エンジニアがテストする工数を増やすという方法も品質向上につながるのですが、開発とQAでは必要とされる思考回路といいますか、資質が異なるので、QAが段々と職種として確立されていきました。
求人によっては「品質管理エンジニア」という名称で募集されていることもあります。
ーーなるほど。
必要性は認識されているQAの仕事ですが、QAエンジニアを雇用するにはコストの問題があるので、自社QAが在籍しているのは東京の大手企業が多いように思います。
その点、N2i はかなり早い段階でQAエンジニアが在籍している先進的なIT企業だと思います。
QAエンジニアに必要なスキル
ーー弊社QAチームのメンバーが「QAはプログラムは書けなくてもいいけれど、理解はしている必要がある」と言っているのを耳にしたことがあります。QAにはどのようなスキルが必要ですか?
そうですね、プログラムを書くスキルがあるのはQAエンジニアとして強みになりますが、必須ではないですね。
QAエンジニアの仕事を説明するには、よく自動販売機が例にあげられます。
ーー自動販売機、ですか?
開発エンジニアは自動販売機の中の仕組みを知り、開発します。QAエンジニアは、中の仕組みは知らなくてもよいですが、自動販売機の「お金を投入すると商品が出る」というユーザーに見える動きを熟知、予想する必要があります。
ーーなるほど。製品がリリースされる前に、どのような場所に置かれるのか、どのような属性のユーザーが利用するのか、どのような場合にも不具合が出ないように、多様なテストパターンに気付く必要がありますね。
そうなんです。だから、プログラムは書けずとも、仕様をはじめとするシステムを理解する必要があります。
まとめ
この記事では、QAエンジニアの仕事について簡単にまとめてみました。
QAエンジニアはシステムの品質保証のために活躍するケースが多いのですが、最近ではシステムの企画段階から開発チームに参画したり、活躍の場がどんどん広がってきているそうです。
N2i は、複数のSaaSを開発しながら、運用もしています。QAエンジニアの知見を集めて皆さまの業務改善に役立つサービスを提供していきますので、ご期待ください!