TalentX Tech Blog

Tech Blog

QAエンジニアがいない会社に入社してやったこと、まだやれてないこと

はじめまして。2023年2月に入社したQAエンジニアの大出です。 前職はフリマアプリを開発する会社で約8年QAエンジニアとして働いていて、TalentXで初めてtoBのサービスのQA業務を行うことになりました。

TalentXは2015年にMyReferというサービスをリリースして以来、2023年2月に自分が入社するまで社内にソフトウェアテストを専門に行うメンバーは在籍しておらず、開発エンジニアが自分達で全てテストを行っていました。

そういう状況で私が入社してから約1年間でやってきたことを振り返りたいと思います。 TalentXの開発に興味がある人や、ソフトウェアテストを専門に行うメンバーが居ない会社でこれからQAエンジニアの採用を検討している人の参考になれば幸いです。

開発体制は過去にCTO籔下が記事を書いているのでそちらをご覧ください。

TalentX Tech Blogをリスタートします - TalentX Tech Blogtech.talentx.co.jp

入社前の状況

MyReferはサービスをローンチしてから日本を代表する企業様など、多くのお客様にご利用していただいております。 当然QAエンジニアがいなくても、開発者自身でテストを行いながら一定の品質を担保していました。 また、ソフトウェア品質が悪くてお客様にご迷惑をおかけしていたわけでもなかったという認識をしています。

ただし、TalentXはまだまだ成長途中の会社で、大規模なアップデートや新サービスのリリースが予定されていました。 そして複雑化するシステムの品質をどのように保証していけば良いのかは充分には議論されていない状況でした。

その中で私が入社してやるべきだと考えたのは、一歩離れた立ち位置でアドバイスするのではなく、なるべく早くお客様に新しい価値を届けるために開始チームに入ってリリースまでのプロセスを自分も担当することでした。 また、自分一人で品質を担保するわけではなく、開発チーム全体を巻き込んでの仕組み作りが重要だと考えました。

やったこと

新規開発の検証

新機能の開発に対してテストケース作成やテスト実行や進捗管理をしました。 複数の開発チームが並行して開発を行う中、QAエンジニアは自分一人だったので、全てのプロジェクトに関わることは出来ず、対応するプロジェクトと対応しないプロジェクトのバランスを取るのに工夫が必要でした。 中小規模の開発は従来通り開発メンバー内で検証作業を行ってもらい、大規模なプロジェクトのみ自分が関わるという方針にしました。

振り返ってみて1年間で大規模な新機能やサービスをいくつもリリースすることができました。 自分が関わることができた主なリリースは以下になります。

  • 2023年2月Myシリーズ共通管理機能リリース

リファラル採用サービスのMyReferと採用MAサービスのMyTalentという二つのサービスが運用していましたが、2023年2月までは従来それぞれの会員登録およびログインが必要となっていました。共通管理機能リリースにより1つのアカウントから複数のサービスにアクセスできるようになりました。 入社したばかりで仕様も分からなかったので、テストケースの作成は他のメンバーに任せ、主に進行管理やバグの起票等を担当しました。

TalentX、人的資本経営時代のタレント獲得プラットフォーム「Myシリーズ」として、リファラル採用サービス「MyRefer」と採用MAサービス「MyTalent」の共通基盤提供開始 | 株式会社TalentXのプレスリリースprtimes.jp

  • 2023年スマホアプリ(MyRefer for Recruiter)6月Flutterアプリ移管

MyReferでは導入企業様の従業員向けアプリがあり、iOSとAndroidで別々の言語で実装されていたのですが、Flutterを利用することで、1回の開発で複数のOSに対応することができ、開発工数を削減できるようになりました。 アプリをゼロから作り直すプロジェクトでしたが、既存のアプリとの互換性を維持する必要があり、QAエンジニアとしてはなかなか難しいプロジェクトでした。既存のアプリがiOSとAndroidで微妙に挙動が違うところがあったり、仕様を調べている最中に既存のアプリにバグがあることがわかったりで、判断に迷うことも多かったです。

  • 2023年9月イベント管理機能

豊富なテンプレートから効果的な採用イベントを企画し、参加者情報の一元管理やメールの一括送信が可能になりました。 仕様が複数のサービスに跨っているので、機能の全体像や影響範囲を把握するのに苦労しました。 MyReferのみを契約していただいている場合、MyTalentのみを契約していただいている場合、両方のサービスを契約していただいている場合とで、イベント管理機能内で使える機能に差分があり、それをテストするには契約状態ごとに確認が必要になります。 現状は複数企業を作成し全パターン検証していますが、それを続けていくと今後機能が追加されるたびにテストケースが膨大になってしまうので、過不足が無いようにするにはどうしたら良いだろうかと日々考えています。各機能の影響範囲を可視化しテスト範囲を絞っていく取り組みを検討中です。

タレント獲得プラットフォーム「Myシリーズ」、導入企業1,000社を突破! 潜在候補者との出会いの機会を創出するため、新機能「採用イベントCX機能」をリリース | 株式会社TalentXtalentx.co.jp

  • 2024年1月MyBrandリリース

ノーコードで採用オウンドメディアや求人一覧ページを制作したりすることができる、採用ブランディングサービスのMyBrandをリリースしました。 新しいサービスでしたが、Myシリーズ共通管理機能のおかげで比較的スムーズにサービスを立ち上げることができたように思います。

人的資本経営促進に向けた新たな採用ブランディングサービス「MyBrand」1月17日に提供開始~人的資本経営時代のスタンダードは多角的かつ正確な企業情報の発信へ~ | 株式会社TalentXtalentx.co.jp

これらの新機能や新サービスに自分が関わったことによって、ソフトウェアテストがボトルネックになることはならず、ほぼ計画通りにリリースすることができました。 1年にも満たない期間の中で、スピード感を持ってアプリのフルリプレイスや新規事業をリリースすることが出来たことはQAエンジニアとして達成感を感じることが出来ました。 また、高い品質でリリースすることができたので、リリース後にバグ対応に追われることなく、次のプロジェクトの開発に進むことができるようになりました。 もし自分が入社していなかったらどうなっていたかは誰にも分かりませんが、開発エンジニアが開発と並行してテストケースを作成していたら、このペースでリリースすることはできなかったのではないかと思います。

テストプロセス改善

テスト計画の作成

テスト計画を作成する習慣が無かったので、テストを実行する期間やテスト対象の範囲などが不明確になりがちでした。Flutterアプリ移管プロジェクトから、テスト計画を作成し、開発チームの認識を合わせられるようにしました。 どのバージョンのアプリまでサポートするのか、Flutterアプリなのでどの部分はiOSとAndroid両方で検証してどの部分は片方のOSのみで検証すれば良いか等を明示し認識を合わせ、テスト工数の短縮することができました。

ドキュメントの整理

ドキュメント類が書かれてはいるものの整理はされておらず、ドライブ内をキーワードで検索してヒットしなければ見つけられず、全体像の把握も難しい状況でした。 そこで、システムの機能一覧を作成し、機能ごとにドキュメントを分類できるようにしました。 新しく入るメンバーにとって情報が見通しの良い状況になっていたら良いと思います。

バグチケットの整理

過去に起票されたバグチケットを全件確認しました。そこで気になった点をいくつか変更しました。 バグの優先度は付けられていたものの即時対応しなければならない場合とスプリント期間内に対応しなければならない場合との違いなどの基準が無かったので、似たような事象が優先度高く設定されたり低く設定されたりしていました。そこで、バグの優先度の基準を作りました。優先度の低いバグより優先度の高いバグを優先して対応出来るようになりました。 バグが検出されたのがリリース前なのかリリース後なのかがチケットからは判断できなかったので、リリース前とリリース後のラベルを付けました。リリース前の検証が適切に行われたか分析できるようになりました。 バグチケットに種別を記入し集計出来るようにしました。種別は以下の表の通りです

整理してわかったことは、リリース前の新規画面の開発であればレイアウト崩れが多くなり、リリース後に報告される不具合はエラーが出る等の動作不良のバグが5割を超える状況でした。ただし、リリース後報告された不具合が直近のリリースに起因するものばかりではなく、何年も稼働して変更を加えていない機能についてのissueが上がってきたりもしたので、必ずしも特定の種別に特定の対策が取られるべきというわけではなく、特定の種別の件数が直近数ヶ月で増えた場合には対策を議論するきっかけとなることを想定しています。

ドッグフーディング

TalentXはいわゆるto Bのサービスを開発していますが、利用するのは契約していただいている法人のお客様だけではなく、社内のカスタマーサクセスのメンバー等もシステムを利用しています。 リリース後に社内メンバーから仕様についての質問や、積極的な提案などがなされているのを何回か社内メッセージで見ましたが、可能ならリリース前にドメイン知識豊富な開発以外の社内メンバーの知見を集められたらもっと良いサービスが作れると思いました。 そこで、新機能をリリース前に社内のメンバーに試してもらい、フィードバックを集めるため、ドッグフーディングを行いました。 カスタマーサクセスメンバーにステージング環境でリリース前の新機能を数日間実際に触ってもらい、意見をスプレッドシートに記載してもらう形で行いました。 活発な意見が出て参考になり、リリース直後のUIUXの改善につながったので、今後も続けて習慣化していきたいと思っています。

採用

2人目のQAエンジニアを採用しました。 私が入社し2ヶ月経った2023年4月には、QAエンジニアの候補者の方に対してカジュアル面談での会社説明や2人目のQAエンジニアに期待することなどを定義するなど、2人目のQAエンジニア採用活動に携わっていました。 2人目のメンバーが9月に入社することが決まったので、それに向けてオンボーディングの資料を充実させました。 今後チームを拡大する土台は作れたと思います。 詳しくは別の機会があればまたブログにまとめたいと思います。

まだやれてないこと

まだまだやれていないことも多いのですが、QA以外の開発チームメンバー達と議論を重ねて計画して行きたいと考えています。

具体的には、E2Eテスト自動化は行えていません。 ツールの導入も検討はしましたが、プロダクトの変化の多さと複数サービスが連携しているシステムの性質から、中途半端な導入は効果も薄いことが予想されるので一旦見送りました。E2Eテスト自動化に求められている役割を定義しつつ今後の導入を再度検討して行きたいと考えています。

テストケースの管理ツールの導入もまだ行えていません。現状はスプレッドシートでテストケースを作成して、再利用する時はコピーして利用しています。テストケースの管理ツールを導入することによって作業効率は向上するとは期待されるものの、費用に見合う効果が得られるのか、今後の保守性を考慮するとどのツールにすべきか等、まだ検討段階です。

仕様レビューに関してはいくつか有効なフィードバックをしたり一部対応もできてはいる箇所はあるのですが、プロジェクトがキックオフして実装開始した段階に、他のプロジェクトのテストケース作成やテスト実行をしていて、仕様レビュー開始が遅くなったりしていました。今後は複数のプロジェクトを並列して業務を行い、キックオフしてからなるべく早く仕様レビューしていけるようにしようとは考えています。

終わりに

最後まで読んでいただきありがとうございました。 新しい仲間も増え、今後も私個人としてもQAチームとしても精進して行きたいと思っています。

TalentXでは一緒に働く仲間を募集しております。 カジュアル面談も行っていますので気になる方はぜひご応募いただければ幸いです! i-myrefer.jp