私は普段会社員としてQAエンジニアをしながら、個人ではソフトウェアテストに関するコミュニティ活動やブログ執筆などの活動を行っています。

過去には「テスト自動化エヴァンジェリスト」として、特にシステムテスト自動化の社内外への普及活動や、テスト自動化の普及・推進を行うチームを立ち上げマネジメントなどをしていました。

このTech Team Journalでは、ソフトウェアテストやQA(品質保証)活動の面白さ、テスト・QAエンジニアの仕事内容やキャリアなどについて、当事者の視点から皆さんにお伝えしていきます。よろしくお願いします。

テストエンジニア・QAエンジニアって知ってますか?

フロントエンドエンジニアやバックエンドエンジニア、インフラエンジニアなど、一言でITエンジニアと言ってもその役割は様々です。
そんなITエンジニアの役割の一つである「テストエンジニア」や「QAエンジニア」を、みなさんはご存じでしょうか。

名前くらいは聞いたことがあるという方や、一緒に働いたことがあるという方もいらっしゃるでしょう。ただ、ほかのエンジニア職に比べると、実際に何をしているのか謎な部分が多いかもしれません。

テスト・QAエンジニアの「ほんとのところ」をもっと知ってほしい

 

私は10年以上テスト・QAエンジニアとして働いてきて、色々な会社・組織での業務内容を見てきました。しかし、ネットの記事やSNS上でのテスト・QAエンジニアへの言及を見ると、どうも実態とは異なるイメージを持たれていることもあるようです。

たとえば、テストは誰でもできる単純作業である、つまらない仕事である、などなど。記事によっては「単純作業を長時間できる人が向いている」などと書かれているものがあります。

世の中にはそうした単純作業を強いられているエンジニアが居ることは、否定はしません(私も日本中の開発現場すべてを見たわけではありませんし)。
しかし、テスト・QAエンジニアがつまらない仕事である、という意見に対しては「そんなことはないぞ!」と声を大にして言えます。

本記事では、テスト・QAエンジニアのお仕事の実際のところをご紹介して、少しでも「なるほど、やりがいのある楽しい仕事なんだな」と思ってもらえれば幸いです。

参考:テストエンジニアとQAエンジニアは同じもの?違うもの?

ここまで特に説明なく「テストエンジニア」「QAエンジニア」という呼び方をしてきました。QA:Quality Assurance(品質保証)の概念は幅広く、QA活動のひとつとして“テスト”がある、という位置づけです。

しかし、会社や組織によっては、テストエンジニアとQAエンジニアの区別を明確にしている場合とそうでない場合があり、また他のエンジニア職と同様なにか法律や規格によって厳密に区別されているわけではありません。
昨今の中途採用市場での募集要項を見ると、「QAエンジニア」のほうがより多く使用されているように思います。

本記事でも、テストエンジニアとQAエンジニアの厳密な呼び分けをすることは特にせず、広くソフトウェアテストや品質保証に関わるエンジニアの総称として「テスト・QAエンジニア」とまとめて呼称することにします。

テスト・QAエンジニアのお仕事

テスト・QAエンジニアは普段どんな業務を行っているのでしょうか。
テストはQA活動の一部である、と書きましたが、実態としてテストが占める割合は大きいです。ここでは特にソフトウェアのテストにおいてどんなことを考え、何をしているのかを見ていきましょう。

ソフトウェアテストの目的

テスト・QAエンジニアが行うテストの目的は、単純にバグを見つけることだけではありません。実は、もっと広い範囲を見ています。

特定非営利活動法人ソフトウェアテスト技術振興協会(ASTER)
ASTERセミナー標準テキスト[Ver3.1.1] 11ページより

上で引用した資料にもあるように、プログラムに欠陥がないことを確かめるのはもちろん重要です。さらに、ソフトウェアが仕様通りにできているかどうかを確かめたり、さらには顧客が満足するかどうか、についても考えたりしなければなりません。

テスト・QAエンジニアが考えること

ここまでにご説明したように、テスト・QAエンジニアは様々な目的でテストを含む業務を行うわけですが、その過程では様々なことを考えています。

たとえばテストをしてバグを見つけるにしても、「いくらでも時間をかけていいからバグを見つけてね」などという状況はあり得ないですよね。ほとんどの開発プロジェクトは限られた時間と費用の中でソフトウェアを作り、テストし、リリースしなければいけません。

バグを見逃さないように、でもなるべく少ない手間でテストをしたい。そのために、テスト・QAエンジニア同値分割法や境界値分析、組合せテストなどの「テスト設計技法(もしくは単にテスト技法)」と呼ばれるテクニックを用いて効果的なテスト項目を考え、実施します。

また開発プロジェクト全体の効率を考えた場合、ソフトウェアが出来てからテストをしてバグを見つけるのではなく、作っている最中や作る前から問題を見つけられないか、と考えたくなります。

そのために、テスト・QAエンジニアは開発段階の設計書や仕様書などのドキュメントを見たり、要件に関するMTGに参加したりと、より開発の前工程で「そもそもバグが生まれないようにする」ための活動も行います。

さらに進んで「ソフトウェアに問題がないかどうか」を超えて、「ユーザーにとってどんなものを作ったら価値があるか」など、より魅力的なものを作るにはどうすればいいか、までテスト・QAエンジニアは考えます。

テストやドキュメントレビュー等を通じて「こうしたほうがユーザーにとって便利じゃないですか?」などの意見を出すこともあります。ユーザーにとっては機能に不備がないことも大切ですが、それ以上に使いやすい、使っていて楽しい、など魅力があることも「品質が良い」と言えますよね。

このように、広い意味で“品質”をよくするため、テスト・QAエンジニアは開発プロジェクトの様々な段階で様々な活動を行います。

優秀なテスト・QAエンジニアは、マネージャが仕様を・開発者が出来上がったソフトウェアを持ってくるのを待っているのではなく、自分から早い段階で情報を取りに行きます。そして得た情報を元に、効果的なテストを考えたり、開発中もしくは開発前に問題の芽を摘もうと努力をしたりします。

テスト・QAエンジニアが「MTGに参加させてほしい!」「途中でもいいからドキュメントを見せてほしい!」など動き回っているときは、ぜひ暖かく迎え入れて情報提供してあげてください。きっと開発プロジェクトでの問題が減り、いろいろなことがスムーズになっていくと思います。

チャレンジする余地が沢山ある

テスト・QAエンジニアが実際に考えていることや行っている業務について、イメージをもっていただけたでしょうか。バグをどう効果的に見つけるか考えたり、ユーザーにとって品質が良いものを作るために様々な活動をしたりと、求められる技術も考えることも多いなぁと思いながらお仕事をしています。
大変なことも多い一方で、考えたりチャレンジしたりする余地が沢山あるという意味ではとてもやりがいのある、クリエイティブなお仕事だと思います。

エンジニアとしてのキャリアを考える上での選択肢の一つとして、あるいは組織でテスト・QAエンジニアの採用やマネジメントをする際の理解の一助として、お役に立てばうれしいです。

(文:伊藤 由貴

presented by paiza

Share

Tech Team Journalをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む