Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スタンバイQAのテスト自動化導入

スタンバイ
January 31, 2024
500

 スタンバイQAのテスト自動化導入

スタンバイ

January 31, 2024
Tweet

More Decks by スタンバイ

Transcript

  1. Confidential © Stanby, Inc. 目次 2 1. スタンバイの紹介 2. 導入の目的

    3. Slackの活用 4. メールチェックはSlackで 5. 開発コミュニケーションと画像差分 6. まとめ
  2. Confidential © Stanby, Inc. 3 会社概要 社名 株式会社スタンバイ 事業内容 求人検索エンジン「スタンバイ」の運営

    住所 東京都渋谷区 設立 2019年11月12日 資本金 1億円 株式保有割合 LINEヤフー60%、ビジョナル40% Yahoo! JAPANやLINE などを運営する LINEヤフー Visional 即戦力人材と企業をつなぐ 転職サイト「ビズリーチ」をはじめさまざ まな事業を提供 Yahoo! JAPANの圧倒的リーチ力と ビズリーチのHR Tech事業ノウハウを活かし 求人検索エンジン事業を運営 株式会社スタンバイは、 LINEヤフー株式会社とビジョナル株式会社の合弁事業会社 です。
  3. Confidential © Stanby, Inc. 対象組織の概要 - 提供サービス(プロダクト) 5 求人検索エンジン「スタンバイ」は、Web上に点在するあらゆる求人情報を一括で検索できるサービスです。 ネット上の求人を

    一括で検索 ユーザー(求職者) 求人メディア 企業ページ 直接スタンバイに 登録された求人 採用管理システム 求人情報取得 クローリング等 ・雇用形態 ・給与形態 ・掲載開始日 ・こだわり条件 ・自宅や最寄り駅からの距離 求人票 検 索 応 募 ユーザー(求職者)
  4. Confidential © Stanby, Inc. 目標の置き方 MagicPod導入で 何を行いたいか 何を行えるようになるか ❶コストカット(優先度低) ・E2Eテストのコスト

    vs シナリオ作成/メンテ ❷QA範囲の拡大 ・E2Eテスト対象の拡大 実施頻度をどこまで高めるか ・E2E/リグレッションのテスト外としていた箇所 テスト範囲は常に増加 する ❸普段のテスト実施の効率化 ・テスト環境の整備にも使用 前日の操作ログが反映される箇所など 7
  5. Confidential © Stanby, Inc. QA体制 【スタンバイQAの体制】 ◆QAマネージャー ◆QAエンジニア(5名) QAエンジニアA 【担当】Web(BtoC) QAエンジニアB 【担当】Web(BtoC)

    QAエンジニアC 【担当】Web(BtoC)、管理ツール(BtoB) QAエンジニアD 【担当】App QAエンジニアE 【担当】App MagicPodを導入して、1年半 シナリオ数は、Web/App(Android)合算で220超 ※App(iOS)は実装中 MagicPodのテストシナリオ作成は誰でもができる しかしながら、テスト設計 /実装を行える素養のあるスタッフ であることも重要 8
  6. Confidential © Stanby, Inc. スタンバイQAでのMagicPod化 QAで完結するE2Eテスト自動化が最大のミッション ※それまでは開発で担当している部分があった テスト自動化を一般化するために MagicPodを導入 ❶E2Eのチェックシートの再作成(統一化を考える)

    MagicPod運用を前提としたチェック順 に改変 ❷テストは小分けに(カバレッジを考える) 発生条件の早期特定と、失敗(後続テストの未実施)によ るカバレッジの低下を予防 ❸運用方法の策定(メンテナンスを考える) 「スプレッドシート上のテスト項目」と「 MagicPodのテストシ ナリオ)間のトレーサビリティを上げる  →説明やコメントなどに相互リンクを貼る ❹メンテナンス方法(効率化を考える) テストシナリオの改修は本番リリース後(改修箇所は手動 テスト) 9
  7. Confidential © Stanby, Inc. テスト結果はSlackに通知 スタンバイのQAチームがテスト対象とする環境は、以下です。 本番環境 → 3時間ごとに自動実行 ステージング環境

    → 3時間ごとに自動実行 開発環境 → QAテスト時に手動で一括実行 【knowledge】 ・運用改善方法や周知すべき結果(後述)の共有 【失敗】 ・開発環境の成否を問わず手動実行の結果 【成功】 ・本番/検証を問わず成功したテスト結果 【要確認】 ・ステージング環境のテスト一括実行> 成功以外の結果 【要確認本番】 ・本番環境のテスト一括実行> 成功以外の結果 11
  8. Confidential © Stanby, Inc. MagicPodの成果を残す 【a】QAチームでE2Eテストの自動化が完結する場合、 将来的にMagicPodの評価がQA内で閉じてしまう 【b】開発などの他スタッフにも、 MagicPodの成果を共有するこ とで、中長期的に導入意義と成果を周知しつつ、

    MagicPodで検 出できることを認識してもらう 【c】開発スタッフから、 MagicPodでのシナリオ作成依頼などが 発生し、好循環が生まれる 12 JIRAのバグチケットにMagicPodで検出したバ グかを記録するフィールドを追加 Slackでの速報の不具合連絡で言及 QA依頼のSlackのスレッドにスタンプ
  9. Confidential © Stanby, Inc. スタンバイQAのメールチェック方法 スタンバイのメール送信チェックでは、 Slackを使用しています MagicPod専用の外部チャンネルを作成し、 Slackチャンネル用 のメールアドレス向けにメールを送信しています

    -------------------------------------------------------------------- 【設定方法】 1. 受信用のSlackチャンネルを作成 2. Slackログイン用のメールアドレスの作成 3. ゲストとして招待(2段階認証の解除) 4. チャンネル設定のインテグレーション → このチャンネルに メールを送信で、受信用メールアドレスを発行 -------------------------------------------------------------------- 【注意事項】 ・ログイン〜メールの内容取得までは共有ステップで作成する -------------------------------------------------------------------- 【メリット】(Slackを普段使いしている場合) ・導入コストが低い ・メール送信回数に制限なし ・シナリオ作成時のメール確認が簡易 ・テスト結果確認時のメール確認が容易 -------------------------------------------------------------------- 14
  10. Confidential © Stanby, Inc. 開発コミュニケーションと画像差分 スタンバイでは、リリースサイクルの兼ね合いから全てのリリー ス施策をQAテストするわけではありません。 簡易なABテスト等はQAを経ずにリリースします。(全社向けにリ リースアナウンス有り) --------------------------------------------------------------------

    【運用方法】 1. 「画像差分比較」を最小限に多用する 2. リリース後の画像差分は、「画像差分確認」箇所をキャプ チャし、QAスタッフに共有 -------------------------------------------------------------------- 【デメリットをメリットに変化】 ・開発→QAのコミュニケーション回数の削減 ・QAが把握できないリリースの減少 ・QAを経ないリリース内容の視覚的な早期把握 ・リリース後のQAチェックが容易 -------------------------------------------------------------------- 16 ◆リリース前 ◆リリース後
  11. Confidential © Stanby, Inc. 【感謝】新機能実装へのサポートの手厚さ 【問題】 ・クリック前後で変化を確認したい ・クリック前後でロケータが一緒 ・本番環境では、テスト対象をユニークにできない ・リストの高さが可変の為、通常の画像差分ではズレが発生す

    る -------------------------------------------------------------------- 【要望】 「画像差分比較」で差分があることを確認したい -------------------------------------------------------------------- 【MagicPod社】 シナリオ途中で画像を変数化して、 比較できる機能を実装できる -------------------------------------------------------------------- 【結果】 より精度の高いテストが可能となった -------------------------------------------------------------------- 18
  12. Confidential © Stanby, Inc. まとめ スタンバイではE2EテストをMagicPodに移行しています。 • E2Eテストの責務を、開発→QAに移管した • QAエンジニア全員の責務として一般化した

    • テスト一括実行は毎日8回程度、回している • 必要なシナリオの拡充は継続的に行っている • 開発環境ではリグレッションテストとしても使用している • 手作業のチェックシートを基にすることで相互補完できる • MagicPod化できた項目は手作業ではクローズしている • メールチェックは、Slackを使用 • やりたいけど、やれないテストはMagicPod社に相談する 20