hey Product Blog

こだわりを持ったお商売を支えるプラットフォーム「STORES」の開発チームによる技術ブログです。

新人QAが語るSTORES 決済の品質を支える「QA」は何をしているのか

はじめに

テクノロジー部門決済本部QAグループの山﨑です。
僕は今年の3月からQAチームで働いているのですが、実はQA未経験の状態から働き始めました。そんな僕でもQAの業務に慣れてきたところです。QAとして働いていくうちに、QAのことやQAが守っている品質のことを多く学ぶことができました。今回はそんなQA未経験で知識ゼロだった僕が学んだQAってなんなのか、STORES 決済 のQAチームはどんなことをしているのかを皆さんにお伝えできたらなと思っています!

QAってそもそもなんなのか

みなさんQAと聞いてすぐに何を思い浮かべますか??
僕は最初 Question & Answerのことだと思っていましたが全然違いました😇
QAとはQuality Assuranceの頭文字で品質保証という意味なんです!
しかし、QA一言で言っても、QAエンジニア・テスター・QAアナリスト・QAマネージャー・テスト自動化エンジニアなど様々な業務内容、品質に関する視点を持つ人たちがいます。そんな様々な人たちがいる中で、STORES 決済 のQAはどんなポジションのQAなのかというと「QAエンジニア」と「テスター」が現状だと一番近いです。

STORES 決済のQAエンジニアとテスターの役割

  • QAエンジニアは、プロジェクトやプロダクトの状況に合わせてどのように品質を担保するのかどのようなテストをどの範囲までテストをするのかを考え、ソフトウェアなどにおける開発プロセスやテスト工程、テスト結果の分析、顧客へのサービスなど、成果物全ての品質保証に関わる活動をします。

  • テスターは、プロダクトのリリースまでにテストケースを実行しバグやエラーの報告などのフィードバックを行います。

STORES 決済 のQAチームは何をやっているのか

僕たちは「品質維持」と「品質向上」を行い、プロダクトの「品質保証」をしています。 この3つの観点がQAチームの業務内容の柱になっています。

そもそも「品質」ってなんなのか

3つの観点があると書きましたが、そもそも「品質」とはなんなのかというところです。 僕たちが考えている「品質」とは、プロダクトの仕様と実装に差異がないか、操作はしやすいか、表示内容は適切か、プロダクトは正常に動作するかなどを品質と捉えています。 その品質を念頭に置き、「提供する製品やサービスの質を保証し、バグやエラー、プロダクトの実装などでユーザーに不利益が生じないこと」を目的に日々「品質保証」を行っています。

「品質維持」のために行っていること

品質維持とは、今あるプロダクトの品質を守ることです。アプリのバージョンやOSが上がった際に動作の確認やテストを行います。全ての端末でアプリバージョンやOSが上がっても同じ動作になっているか、追加の仕様は動作通りに動いているかを確認するのが品質維持の内容です。具体的には「機能や仕様の把握・分析」「テストケースの設計」「テストケースの実行」「結果分析」を行っています。

機能や仕様の把握・分析
決済アプリ、WEB管理画面、社内システムなどSTORES 決済に関わる全ての機能が仕様の把握・分析の対象です!QAは特性上仕様に一番詳しくないといけません。仕様変更された際に本当に正しいのか精査する必要もあるので、機能や仕様の把握・分析は一番大事な作業といっても過言ではありません。機能と仕様の把握・分析は業務の基礎になるものです。 僕が一番苦労したことです。今も試行錯誤しながら仕様の把握には時間をかけて取り組んでいます。

テストケースの設計
把握した機能と仕様を元に、テストする項目を精査しテストケースを設計します。端末は何を使うのか、テストするOSは何にするのかも設計の対象です!お客様が操作するときのことを考え、エラーが発生しそうな動作をテストケースに組み込んだり、仕様通りに動くかを確かめるためのテストケースを設計します。

テストケースの実行
設計したテストケースを元にテストを行っていきます。テストを実行中に検知したバグやエラーは開発者の方に報告して直してもらいます! 僕は今はテスターなので、メインの業務はこの実行作業です!

f:id:heyRicky:20210810160429j:plain そしてこれが僕の相棒の決済端末くんです。この子がいないとテストができません!!

結果分析
どのプロダクトでバグやエラーが何件出たのか、何が原因で起きたのかデータを取ります。次のプロジェクトのテストケースの設計の精度をより高いものにするために行っています。 ここは前回不具合が多かったから次回はしっかりテストにかける時間を増やそう!などの指標を立てるために必要な作業です。

「品質向上」のために行っていること

品質向上とは、今あるプロダクトをQAの観点からもより良いものにするために行う活動です。品質保証のこれからを良くしていくための業務が全て品質向上の作業です。 具体的には「数字取得」「作業フローの改善」「品質向上ワークの実施」「テスト自動化」を行っています。

数字取得
月毎の使用されているOSや端末のユーザーのデータを取り、分析することを数字取得と呼んでいます。テストを実施する際に何を使用してテストを行うのかを考えるための指標のようなものを作成します。多くのお客様が使用している端末やOS、環境でテストを行わなければ品質を上げていくことは難しいのです。

作業フローの改善
QAが初めての人にでもわかりやすいように、作業のフローを改善しています!資料の整理なども同時に行い、誰が見てもわかりやすいを目指してフローの改善活動をしています! QA業務で困ったらこれを見ようという資料や新メンバー向けの資料も充実しています!

f:id:heyRicky:20210810160954p:plain
困ったらこれ見ようの資料「QA Tips」です!
f:id:heyRicky:20210810161325p:plain
QA新メンバー向け資料です!
入社したら確認して欲しい資料などがまとまっています!

受け入れ資料も個別に用意されるので次に何をしていいのか迷う、困ることがなく受け入れ期間を過ごすことができます!!

f:id:heyRicky:20210810161959p:plain

品質向上ワークの実施
定期的に外部の有識者の方を招いたワークや、社内ワークも定期的に開催しています。品質を向上させるため、QAの中で品質の方向性がブレがないようにするためです。

テスト自動化
QAチームにはテスト自動化エンジニアはいませんが、テスト自動化の作業を行っている人もいるんです!QA作業の効率化やヒューマンエラーを減らすために、機械に頼れる部分は頼ろうという試みです。品質を向上していくために、人間がやらなくてもいいものは積極的に機械に任せ空いた時間で人間にしかできない作業をするために必要なものです。

QAとして働いて大変なこと

最初に書きましたが、僕は未経験で入ったので最初は何もわからない状態でテストを実施していました。一番最初に躓いた事はプロダクトを理解することでした。プロダクトを理解していないことは、テストの結果やQAが守りたい品質に影響を与えてしまいます。 「品質」考える上で一番重要な部分であるのでプロダクトの情報のインプットが大変です。
そこでQAでは情報のキャッチアップを積極的に行っています!参加できる他チームのミーティングには積極的に参加し、検知された不具合には一度目を通す。障害が起きた際も次回のテストの観点に生かせるよう分析を行ったりなど、QAの観点からプロダクトに関わり、理解を深めています。

さいごに

STORES 決済のQAチームは一緒に品質を守ってくれる人を募集しています!! 完全に未経験からでも一から頑張れます。もちろん経験者の方も力を存分に発揮できる環境です!人と話すのが好きで、プロダクトを愛してくれる方!!興味があれば是非!お待ちしております!

herp.careers