優秀なソフトウェアテスターを面接・採用する方法
チームに穴をあけることより悪いことは、間違った人材で穴を埋めることです。面接で候補者のこれまでの経験を聞くことで、将来のパフォーマンスを予測できます。ここでは潜在的な候補者を面接する際に見るべき9つの特性をご紹介します。
- 適応性。チームの長所と短所を補うためにテスト戦略を変更できます。
- 即興性。優秀な人材は、その場で新しいアイデアを思いつくことができます。
- ビジネスと成果の視点。何年も前に作成された職務経歴書に盲従することなく、今何が必要なのかに焦点を当てることができます。
- 多変量解析。決定木分析やペアワイズ法のような複雑なトレードオフ分析はリスクを軽減しますが、テスターがその手法を使用するスキルを持っている必要があります。
- 不具合の発見。ソフトウェアが重大なバグを抱えたまま出荷されることは非常に問題です。
- 技術的な適性。優れたテスターは、常に新しい技術を学び、習得します。
- コミュニケーション能力。バグを発見しても、その再現方法を開発者が理解していなければ意味がありません。
- インフルエンサー能力。バグを修正するためにリリースを延期することは、組織にとって最善の方法かもしれませんが、誰かが意思決定者を説得しなければなりません。
- リスク管理。優秀なテスターは、リスク軽減のための時間の使い方を理解しており、潜在的なリスクを経営陣に説明することができます。
1. 適応性
テスターの中には、「いつもやっている方法では……」「前の職場では……」と言うテスターがいます。確かに、いくつかのデータポイントは確かに良いスタートとなります。知識、理解、応用の先にあるのは、統合力、つまり、過去の複数のデータポイントを組み合わせて、この問題に対する正しいアプローチを考え出す能力です。
面接の仕方:候補者の技術力だけでなく、職場で大きな転換期をどのように乗り越えたか、仕事の進め方についても尋ねましょう。若手の候補者はこれに答えられない可能性があります。彼らはまだそのような経験がないのかもしれません。その場合には、大量の文書があり自動化がおこなわれていないテストに対してのアプローチと、文書化をせずにオンザフライでのテストと大規模な自動化をおこなうという経営陣の望む変化について説明します。そして、この場合に、リリースがカバーされていることをどのように知るのかを尋ねてください。
2. 即興性
戦略の変更に途中で対応する場合、即興性がより大切です。新しい情報に基づいて、刻々とアプローチを適応させる必要があります。テレビ番組「The Office」のような即興コメディでは、台本は決まっていますが、役者がその場でアドリブを入れることを許しています。コメディにおける即興は、新しいアイデアを生み出すスキルです。テストに応用すれば、テストに威力を発揮します。
面接の仕方:面接の後半で、候補者が落ち着いたら、「Yes, Andゲーム(相手のアイデアを受け入れ、そこから自分のアイデアを出していくゲーム)」をします。同僚を数人連れてきて、一緒にやるのもよいでしょう。もっと仕事らしくしたいなら、自動車保険を見積もるソフトウェアの仕様を設計するゲームや、ある機能をテストするためのテスト方法を説明するゲームをするのもいいでしょう。
3. ビジネスと成果の視点
優れたテストをおこなうことは良いことですが、ビジネスを犠牲にしてまですることではありません。テスターは、ビジネスの成功にとって重要度の高いプロジェクトに時間と労力を割くために、あるプロジェクトの作業を減らしたり遅らせることさえあります。たとえば、消防士は、料理、運動、睡眠などに多くの「アイドル時間」を費やしています。ポイントは、消防士が緊急事態に対応できるように、1〜2分以上かかる活動には関与しないことです。「些細なバグレポートのトリアージよりもビルドや次のプロジェクトの方が重要である」と考えるスタッフを採用しましょう。
面接の仕方:候補者の前職について、ビジネスの価値を下げていたことは何か、その流れを改善するために何を変えたかを尋ねてください。
4. 多変量解析
これは、複数の変量とのトレードオフをより洒落た表現で言ったものです。多変量解析がうまくいかないと、チームが回帰テストを実行する回数を減らすために、1 週間のスプリントから 4 週間のスプリントに移行するかもしれません。回帰テストが苦痛である場合、その回数を減らすことは、バグの量が 4 倍になることを意味します。
面接の仕方:スプリントの長さ、ストーリーの大きさ、自動化するもの、人間がテストすべきものなど、トレードオフについて質問します。多変量解析力を図る趣味は、チェス、複雑なボードゲーム、ピンボール戦略、作曲、高度な数学、ある種のプログラミングなどがあります。
5. 不具合の発見
テスターはダブルチェックを行うだけでなく、意思決定者に情報を提供します。よくある欠点は、エラーのカテゴリ全体を見落としたり、エラーだけに注目したり、顧客にとって何が重要かを理解していなかったりすることです。
面接の仕方:Palindrome や Parkcalc などの Web サイトに候補者を誘導します。明らかなバグを発見するなどのミッションを与え、ミッション遂行中の考えを説明してもらいます。能力の高いテスターであれば、ミッションと顧客について質問した上で、あらゆる情報を報告し、改善策を提案するでしょう。それは、次のトピックであるコミュニケーション能力の証明にもなります。ここではひとまず、テスターが実際に重要なバグを発見できるかどうかを確認してください。
6. 技術的な適正
先進的な企業では、C# や Java などの言語を知っていることより、新しい技術を素早く習得することが重要です。 特にソフトウェアテスターは、新しいことに挑戦するために十分な学習を行う必要があります。様々な技術を推進し評価することを学ぶ必要がありますが、おそらくすべての基本を押さえる必要はありません。
面接の仕方:候補者が過去1年間に学んだ新しい技術について質問し、可能であれば面接でそれを使ってもらうか、簡潔に説明してもらいます。
7. コミュニケーション能力
優れたコミュニケーション能力を持つ候補者は、明確かつ簡潔な方法で情報を伝えることができます。また、彼らはよく耳を傾け、相手が言おうとしていることを理解し、会話が途切れた時に上手く会話を継続する方法を見つけます。
面接の仕方:候補者が誤解されたときの例を尋ね、その誤解を解くために何をしたかを尋ねます。候補者の中には、決して弱点を認めないように指導されてきた人もいるので、これは難しい場合もあります。この質問は誤解の内容についての質問ではないこと、知りたいことは誤解をどのように特定して解消したかであることを明確にしましょう。
8. インフルエンサー能力
テスターには、他の人に影響を与え、重要なことを主張する能力も必要です。このスキルが欠けていると、結果として、対処されない不具合や本番環境に移行する不具合が発生する可能性があります。人を感化するインフルエンサー能力は、コミュニケーション能力とは異なります。人を感化するということは、何が行動を促すのか、そして、どうすればそれに影響を与えられるのかを理解することです。
面接の仕方:候補者に、自分のアイデアに対して抵抗を感じたことがあるか、また、その抵抗をどのように克服したかを尋ねます。さらに議論が必要な回答の場合、あなたは多忙なプロダクトオーナーの役割を引き受け、候補者に品質主導者 (QA:Quality Advocate) になることを試みてもらうと良いでしょう。バグを修正する方向であなたを説得するよう促してください。あなたはバグの修正に抵抗するふりをしながら、候補者がどのように反応するかを観察します。理想的には、候補者は自分の立場を守り、機転を利かせて自分の言い分を述べるか、決定の責任を指揮系統の上に委ねます。
9. リスク管理
リスク管理は、コミュニケーション、システム思考、欠陥の発見、多変量解析など、上記のスキルのいくつかを組み合わせたものと考えてください。リスク管理は、統合から応用、さらには評価へと移行します。リスク管理には、問題を発見するための最良で最も強力なテストを選択することだけでなく、他の選択肢とその理由を説明することも含まれます。
リスクの専門家は、経営陣にリスクを説明し、リスクを負うか、テストにもっと時間をかけるようにすることができます。そうすれば、リスクが顕在化したときに、経営陣は自分たちが取っているリスクを実際に理解していることになります。このステップは、ソフトウェアの世界では驚くほど稀です。
面接の仕方:候補者に、リスクベースの判断をしなければならなかった時の例を尋ねます。たとえば、1日の終わりまでにテストを完了させる必要がある場合に、3つの異なる機能にどれだけの時間を投資するか、または、自動化するテストの優先順位をどのように決めるか、などです。候補者がその決断を説明したら、その考えを順を追って説明してもらいます。より高度な質問として、影響度別に主要なリスクを特定するために、過去にどのような方法でリスクを可視化したか、たとえば、スプレッドシート、リスク評価表、マインドマップ、あるいはローテクなホワイトボードの利用などです。
10. 最終的な判断
候補者に採用のイエス/ノーを返答する前に、周囲を見渡し、その人がチームにユニークなスキルを加えてくれるかどうかを考えましょう。ユニークなスキルとチームがカバーしやすい弱点を持つ新入社員は、「バランスの取れた」候補者よりも優れた採用になる可能性があります。
ソフトウェアテスターの面接で聞かれるその他の質問については、当社の兄弟会社であるTestRailの記事、「25 Challenging Test & QA Interview Questions」をご覧ください。
(この記事は、開発元 Ranorex 社 Blog 「How to Interview and Hire A Great Software Tester」2021年9月8日の翻訳記事です。)