Autify Podcast : テストエンジニアとQAエンジニアはちがう?
Autify Podcast、エピソードを追加しました
ソフトウェアテスト、スタートアップなどにフォーカスしてさまざまなTipsや、事例などをお伝えするラジオ番組、Autify Podcastを公開しています。
今回は、Mark Ward(@mkwrd) さんをゲストに迎え、テストエンジニア、QAエンジニア、品質保証それぞれの触手の呼び方や役割について議論しています。
ご意見、感想はTwitterでメンションしてください。
https://twitter.com/AutifyJapan
前半記事はこちら
https://blog.autify.com/ja/podcast_guest-markward01
ここからは書き起こし記事です。
Mark: 何の話をしようとしたんだっけ。 「テストのエンジニアの範囲だったら、そういう風になるけど、QAの範囲になるとまた違いますよ」って話になるんですね。 さっきまでお話をしていたのが、テストエンジニアの枠内だとチェッキングっていうのを自動化して、エクスプロアリングっていうところに移っていく。 人間が経験と知能を活かして、頭を使っていくことが大事だと、そういう仕事になっていくんだという話をしました。
それはテストエンジニアの範囲で、今度はQAエンジニアっていう話になってくると、範囲が広がってくると思っていますと。
末村: うん。
Mark: QAってどんな範囲が仕事だって言われてましたっけ。
末村: 知らない。
Mark: 知らないじゃないよ、御社(笑)
末村: 知らない。
Mark: 一応、そうですね。私の認知している範囲で話をしますけど、品質に関わること全部がQAエンジニアのお仕事でありますと。
末村: はい。
Mark: 「品質」っていう言葉を出すと、さまざまなものが品質を左右すると思うんですけど、ソフトウェアにまず限ってみると、ひとつ大きなものが仕様だと思う。
末村: うん。
Mark: それはそうですよねと。ビジネス側、いわゆるうちの会社ではこういう製品を売りたい人のためにデジタルプロダクトがいる、みたいな感じで、ビジネス側からリクエストがおりてくるわけですね。 そのリクエスト、リクワイアメント、何かそんなのがおりてきてですね、それをプロジェクトマネージャーであるとかプロダクトオーナーであるとかっていった人々が仕様にするわけですよね。 従来的なV字のプロセスでもいいですし、アジャイルな感じの考え方でもいいんですけど、その PMとかPOが作った仕様を、今度はチームが、開発チームであるとか開発エンジニアが受け取って作るわけです。 作ったものをテストしたりとかしていくし、開発エンジニア自身もテストをしていくわけですけど、不具合っていうのを考えたときに、「そもそもこれ仕様イケてなくね」とかってあるわけですよ。 QAエンジニアの僕のチームの、これやりますよって言っているメニューの中にPOアシストっていうのがあって、そのPOアシストっていうところでは、技術的知見を持ってPO、プロダクトオーナーをフォローをしていくと。 そうすることによって、試用の時点で紛れ込んでいるちょっと不具合の芽とか怪しいところを潰していくよと。 ということをしているんですよね、当社ではそういうことをしているというところで、その品質に関わるQAエンジニアの仕事のひとつっていうのが、僕らPOアシストって言ってますけども。 テストエンジニアっていう風に名乗ってたのだと、たぶん「そこまでやるの?」っていう風になったりすると思うですよ。 ただ、あえてQAエンジニアっていう風に大上段に構えて、アジャイルにおけるQAエンジニアとはどうあるべきかみたいなこと考えたときに、出てきたメニューのひとつがそれなんです。
末村: うんうん。
Mark: さらには、開発者のテストを支援していくっていうところですね。この辺の話はテストに含まれる、もちろんQAエンジニアもテストに含まれるんですけど。
例えば開発者がテスト駆動開発、TDDをやっていきたいという風になったときに、QAエンジニアがフォローに入るだとか、あとは人数が少ないチームで、だけどペアプロやってみたいとかっていうところにQAエンジニアが隣でよいしょって座って見てみるだとか。 そういった感じの開発者のフォローっていうのもできると。 それも、一応当社のQAチームが掲げているメニューのひとつですと。
最後ですね。フォローアップ的なところで、これはどこでもだいたいやってるような気もしますけど、そのプロジェクトにおいて出たバグこんな感じだったよみたいな、ちょっとしたメトリクスを出して、傾向こういうのがありますよっていうようなお話をして次に活かしていただくと。
また、テスト自動化っていうところも入れていく。今回、機能増えたから、ここの部分のテストの自動化っていうのを推進していきましょうと。僕らフォローアップって言ったりとか、あとQAって言ったりとかするんですけど、そういった3段階のフェーズで行っていますと。 僕らが自分自身のことを「テストエンジニア」という風に定義をしていたら、おそらく真ん中のテストの所だけ。しかも、いわゆる僕らがやる非機能テストであるとかブラックボックステストの範疇でのテストになってくのかなと、探索的テストとかの範疇になってくかなと思うんですけど、それをQAエンジニアですよって言ったことで視野が広がったと言うか、範囲が広がってくるんですね。っていうところがあるのかなと思います。
末村: なるほど。
Mark: はい、長々と喋りましたが。
末村: ちなみに、素朴な疑問なんですが、御社に、御社じゃなくてもいいんですけど、テスターだったりテストエンジニアっていらっしゃるんですかね。
Mark: 今のところ肩書きというか立場は、全員QAエンジニアってなってますけど、もちろんうちのチームにはアルバイトの方もいらっしゃるし、インターンの方もいらっしゃるんですよ。
末村: うん。
Mark: なので、テストに重点を置いて動いていただいている方っていうのはいらっしゃいます。
末村: うん。テストに重点を置く人は、アルバイトとかインターンじゃないとダメなの?
Mark: いやいや。ダメっていう話ではないんですけど、なにせ人手が足りないもんで。
末村: うんうん。
Mark: その方たちの、こういう風に自分がレベルアップしていきたいみたいなビジョンがあったりするので、それに合わせてテストの範囲内でお願いできることがあったらお願いするみたいな感じだったりとかしますね。
末村: なるほど。結構よくあるあるな話で、QAエンジニアはテストエンジニアの上位職みたいな枠組みがあったりしますが。
Mark: はい。
末村: 御社は、重ねて言いますが御社の話じゃなくてもいいんですけど、そういうものですか。
Mark: 上位職っていう言い方が正しいか分かんないですよね。 例えば、テストの経験値の深さとかっていうのを比べたときに、すごくベテランのテストエンジニアにはかなわないわけで。
末村: うん。
Mark: 見方がたぶん、いわゆるジェネラリストかスペシャリストかの差なのかなっていうような感じはします。 あんまり違いを設けても意味ない気もしてくるんですけどね、こういう話してると。
末村: うんうん、なるほどね。すごいぶっちゃけて話すと、僕、実はあんまり個人の趣味なんですけど「品質保証」って好きじゃないんですよ(笑)
Mark: おお、いいですね。
末村: あんまり保証的な、特に形式的なものが好きじゃなくて。これは言っていいのかな。 すごく大きい会社の中で横断的なQAをするみたいな立場には、俺はたぶん向いていないなと思っていて。 俺個人が何かのキャリアパスを選ばないといけないとしたら、ひとつはテスト自動化の技術にフォーカスしたエンジニア、もうひとつはテスター。 つまり、どちらにしてもテストに軸足を置きたいと思っているんですね。
Mark: なるほど。
末村: うん。今世の中って、テスターの募集というよりはQAエンジニアの募集じゃないですか。
Mark: うん。そういう印象がありますね。
末村: そう。でも蓋を開けてみるとテスターの募集だったりするじゃないですか。
Mark: そうですね。おそらく当社もそうだったんだと思いますよ。
末村: そう。それが募集する側がテストだったりQAだったりについて、あんまりよく分かっていないっていう所から来るのかもしれないし、単純に「顧客が本当に欲しかったもの」じゃないですけど、本当に欲しかったのはテスターなのかもしれないなっていうのもあるかもしんないんですが。
何て言ったらいいんでしょうね。 例えば1人目のQAエンジニアを募集、みたいなときにQAエンジニアとして入ったとしても、本当に必要なのはたくさんテストをする事みたいな話だったら、もしかしてそれはQAエンジニアではなくってテスターとして動くべきなんじゃないかなというのも、なんとなくちょっと思ったりするんですが。
Mark: その話になると、本当に必要だったのはテストエンジニアだったのは本当ですか、になるよね。
末村: なるほど、つまり。
Mark: だって、1人目がQAエンジニアとしてポンと入りました、となったら、当然状況の分析をするわけですよね。
末村: はいはい。
Mark: その上で、あぁなるほど、確かにE2Eテストが全然できてないからE2Eやらなきゃいけないねってなったらテストするでしょうし、いや、これはどっちかって言うとビジネス側とPOがうまくやり取りがいってなくって、ってなったら、そしたらPOのサポートになるでしょうし。 そもそも社長の勅命でIT部門作れって言われて泣く泣くやっている部長さんとかがいたら、その人をサポートする側に動くかもしんないしってなると思っていて。
末村: うんうん。
Mark: なので、それって入ってみないと分からないというか、入った結果わかることだと思うんですよ。 最初からテストエンジニアって掲げているところは、テストエンジニア、バリバリのテストエンジニアさんが入ってきたときに、そのテストエンジニアさんはテストをするものだと思って入ってくるわけです。
末村: うん。
Mark: 本当にそれはテストが必要なんですかっていう分析がその方ができないと、組織としてはあんまりプラスにならない気がする。
末村: なるほどね。
Mark: っていうことを考えると、最初の1人目としてQAエンジニア募集っていうような張り方をするのは、賢いんじゃないかなって気がします。潰しが効くというか。
末村: なるほどね。何かすごく、エンジニアというよりはコンサルタント的な動きをしているように見えるんですけど。
Mark: はい。それは僕は少なくともそういう風にしています。
末村: なるほど。
Mark: 品質っていうのは、ソフトウェアのためだけのものじゃないんですよね。 だってソフトウェアを作るのは人であって、人だって個人でソフトウェア作るわけじゃなくてグループで作るわけです、開発チームで作るわけです。
開発チームが作ってくわけだし、開発チームに仕様を持ってくるプロジェクトマネージャーとかプロダクトオーナーがいるし、それら全部をどうしようかなって見てるスクラムマスターもいるし、ビジネス側はビジネス側で自分たちの立てた目標があってOKRがあって、それを達成したいとしてるわけですよ。
といった中で、人と人との繫がりっていうところが高品質じゃないと、高品質なソフトウェアってそもそもできないと思うんですよね。
末村: なるほどね。
Mark: っていうように考えて、僕は前職なんかでも社内報に「品質とは何か」って書いてみたりとか、そういった、いわゆる一塊のエンジニアじゃないよねその動き方、みたいな動き方を、実はちょっと心がけてやっていくところではあります。っていう感じかな。
末村: うんうん、なるほど。
Mark: コンサルって言われると、最近読んだワインバーグという人の本があってですね。
末村: はいはい。
Mark: 『コンサルタントの秘密』っていう本があるんです、共立出版から出ていて木村泉先生だったと思うんですけど翻訳されている本がありますと。 その中で書いてあるのが、コンサルタントっていうのは結局誰でもコンサルタントなんだと。
末村: うんうん。
Mark: 特に問題解決を助けてくれとか求められてそれに手を貸す人は、全てコンサルタントだと。求められてもないのにあぁじゃね、こうじゃねぇって言い続けるのはコンサルタントじゃないんですけど。
末村: うんうん、そうですね。
Mark: っていう側面があって、QAエンジニアとコンサルタントっていうのは、案外距離が近いのかななんて思ってますよ。
末村: うん、なるほどね。やっぱりそこで思うのが、コンサルタント的な動きも求められる、技術力も求められるっていう風になると、ものすごくハイスペックになりそうな気がしていて。 難しいな、どうやって質問したらいいかな、難しいな。Markさん的には、今どちらかというとコンサルタント的な動きが強い。
Mark: 強くなっていますね。
末村: うんうん。すごい率直な聞き方をするんですが、例えば今からテスト自動化の方に全振りして欲しいみたいな感じで言われたときに、Markさんこれができる?
Mark: 僕はそれができるか、たぶんね、うまくいかないんじゃないのっていう前提でいろいろ聞くと思いますね。それほんとに正しいのみたいな。
末村: テスト自動に全振りしてくれという、お前のその判断が間違ってんじゃないのという話。
Mark: うん。
末村: なるほど。
Mark: だって、そうじゃないとチームのみんなも無駄に苦しむことになるし、何か嫌じゃないですか。 僕がこういう風にコミュニケーションみたいなところで動けてるのは、QAチームの皆がテストであるとか、そういった本来僕もやるべきところをいろいろ引き受けて分散して引き受けてくれてるからこうやって動けてるのであって、それは組織の高品質化っていう所に繋がってるんだと思うんですけど。 だから、そこで僕が皆を裏切るようなことをするのはあまりよくないねって、そもそもね。 組織も品質も高くなんないし、皆苦労するばっかりだしみたいな。
末村: なるほどなるほど。
Mark: 逆に、やるべきだねってなったらやって行こうっていう風になって、陣頭指揮とるだろうし…っていう風になりますね。
末村: うん。
Mark: 僕はいろんなことやってるって、スーパーマンみたいにさっき言っていただきましたけど、全然スーパーでも何でもなくて。
末村: いや、Markさんのことを言ったわけじゃないです。
Mark: 赤魔道士なんです、僕。
末村: え?
Mark: 要するに白魔法も黒魔法もいろいろ使える人なんですよ。エンジニアリングの知識も何となくあって、社内の人間関係も何となく分かって、ステークホルダーが誰なのか何となく分かってっていう感じの人なんです。 だから、がっちりエンジニアリングをしてきた人にはかなわないし、ソフトウェア工学の知識はないし。社内の人間関係だってちゃんとした上位層に入り込んでるわけではないし。 ただ何となくいろんなところで、こいつ面白いやつみたいな風に思っていただいて、顔を売ってるっていうだけの人なんですよね。 ただそれをやることで、組織的なところが高品質になってるっていうのがあるのかなと信じていて、動いているっていう感じです。
末村: うんうん。なるほど、ありがとうございます。
Mark: そのやり方を皆が皆やるべきかあって全然そうは思わないですし、ただ僕の中ではソフトウェアだけのもんじゃないんですよね。 QAエンジニアって、確かにQA、クオリティアシュアランスって、僕の中でも納得がいかないというか。海外のカンファレンスとか行って外国人と話すと、QAってどう思う?って。いやいや、保証とかどこまでやったら保証できんのみたいな話が上がったりして、そうだよねみたいな風になるんですよね。
そういう感覚でいるので、QAっていうのは仮の名前だと思ってます。 僕たちQAチームが、チームとしてちゃんと始動しだしてからまだ3ヶ月、4ヶ月なんです。1月に立ち上がったんですけど、ミッションビジョンバリュー的なものを作るわけですよ。 その中で出てきた言葉っていうのが、品質保証って入れたくないよねって出たんです。そうじゃなくて何がいいかなってなったときに出てきたのが、品質エンジニアリングという言葉。
末村: うん。
Mark: 俺たちは、QAエンジニアっていうのはエンジニアなんだと。開発者と視点が少し、角度を変えてあるけれども、品質っていうものを作るエンジニアなんだということを僕たちは言って、それをミッションに入れ込んであるんですよね。
なので、エンジニアリングなんだから決まった方法なんかないわけですよ。形式的なやり方じゃなくて、それこそクリエイティブなやり方でいろんな所で組織とコミュニケーションを取ったりとか、テストだけじゃなくてもちろんテストもするし、テストも一生懸命やるんですけど、それだけじゃなくてさまざまな側面から高品質化っていうところに貢献をしていく。それがQAエンジニアっていう職業を選んだ者のなすべきこと、かっこよく言うと使命ではないかなと、そんな風に思うわけです。
末村: なるほど、ありがとうございます。 すごいいい感じに締めてくれましたね。
Mark: いえーい。
末村: さすがです。
Mark: ありがとうございます。
末村: すごく温まったところで、たぶんもう3時間ぐらい話すとこの世の真理みたいのが見えそうな気がするんですが、Markさんこの後打ち合わせがあるそうなので、泣く泣くここで一旦切りたいと思います。
Mark: そうですね。この放送を聴いていただいた皆さんからぜひですね、“ふつおた” を募集をしたい。
末村: へ、何?
Mark: 普通のお便り。
末村: 変なところで略語を使うのはっぽいからやめたほうがいいですよ。
Mark: ふつおた、ダメ?そう、ふつおた。 今日のですね、Markと末村さんの話を聞いて、何か俺はこう思ったとか、俺はこれは違うと思うとか、うちではこうやってるとかっていうご意見が、きっとここまで聴いてくださった皆さんだったらあるでしょうと。 こんなマニアックなトークを。
末村: そうですね。
Mark: はい。なので、ぜひですね、AutifyさんのTwitterアカウントあると思うので、そちらの方にメンションを飛ばすなり、末村さんや僕に直接送っていただくなりしていただいてですね、リアクションいただけますと、100日後にまたこうやってAutifyのPodcastに参戦させて頂いたときに、ふつおたのコーナーとして取り上げさせていただくということができたら、きっと楽しいんじゃないかなって思います。
末村: なるほど。なぜお前が決定権を持っているんだ。
Mark: 面白いじゃん、だって。
末村: 再三になりますが、なぜこの人は司会を奪っていくんだろう。
Mark: いやぁ、とっても楽しい時間だった(笑)
末村: はい、ありがとうございました。MarkさんもPodcastやったらいいんじゃない(笑)
Mark: そうですね。そのときはまた、ゲストに末村さんをお呼びしますよ。
末村: 交互に呼んでいって、無限ループを作っていきましょう。
Mark: ずっとこんな話をしてそうだけど(笑)
末村: はい(笑)
じゃあこの辺で一旦切りたいと思います。またぜひいらしてください。 今日はどうもありがとうございました。
Mark: ありがとうございました、さようなら。
Autifyではこの他にも品質保証やテスト、アジャイル開発に役立つ資料を無料で公開していますので、ぜひこちらからご覧ください。