Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

専任担当からチームに還してQA全員で取り組むテスト自動化

 専任担当からチームに還してQA全員で取り組むテスト自動化

ソフトウェアテスト自動化カンファレンス2024 at 2024-12-07
株式会社hacomono CTO室QA部
森島 / 松田 / たっきー / muga

概要
リリース前に実施するリグレッションテストの自動化を専任で取り組んでいましたが、この半年間は属人化の解消・QAチーム全体のレベルアップを目的としたテスト自動化の拡大・チーム展開に取り組みました。その中でも効果があった取り組み事例を紹介します。

hacomono Inc.

December 08, 2024
Tweet

More Decks by hacomono Inc.

Other Decks in Technology

Transcript

  1. 2 Copyright hacomono Inc. All Rights Reserved. 森島 諒 所属:QA部QAチーム

       QA/SETエンジニア 自動テストの専任担当だった人 自己紹介(hacomono QA部メンバー) 松田 祐樹 所属:QA部QAチーム    QAエンジニア 自動テストを展開されたメンバー たっきー 所属:QA部QAチーム    QAエンジニア 自動テストを展開されたメンバー muga 所属:QA部QAチーム    QA/SETエンジニア 自動テストを展開されたメンバー
  2. 3 Copyright hacomono Inc. All Rights Reserved. 目次 1.当事の状況と課題について(森島) 2.課題解決のアプローチ(森島)

    3.自動テストの作成・運用をSETから展開されてみて(たっきー) 4.テスト自動化に挑戦してみて(松田) 5.まとめ(森島)
  3. Confidential About 5 会員管理・予約・振替・キャンセル・決済・請求管理・売上管理・債権管理 入退館・EC・POS・本人認証カメラ・QRリーダー ・総合フィットネスクラブ ・ヨガ・ピラティス ・パーソナルジム ・24時間ジム フィットネスクラブ

    ・屋外運動場 ・屋内運動場 ・体育館 ・水泳プール ・学校 ・レジャー施設 公共運動施設 ・Jリーグ(サッカー) ・Bリーグ(バスケットボール) ・野球チーム・サッカーチーム etc スポーツチーム ・スイミングスクール ・ダンス・バレエスクール ・ゴルフスクール ・テニススクール ・カルチャースクール ・空手・体操スクール ・サッカースクール 運動スクール ウェルネス施設の手続きをすべてデジタル化
  4. 6 Copyright hacomono Inc. All Rights Reserved. 発表について ❖ 属人化した自動テストをチームに広げた話

    ➢ 専任担当が取り組んできた自動テストの課題と QAメンバーに展開したときのアプローチの紹介 ❖ 自動テストを受け取ったメンバーの工夫 ➢ 展開されたメンバーの視点から工夫や学び どうやって自動テストに向き合ったのかを紹介
  5. 8 Copyright hacomono Inc. All Rights Reserved. hacomonoのリリースサイクル 2週間ごとのリリーストレイン •

    月2回・2週間ごとにリリースを実施 • コードフリーズ後にリリース前のリグレッションテストを実施
  6. 9 Copyright hacomono Inc. All Rights Reserved. テストについて 開発期間後のテスト期間にQA部にてテストを実施 •

    開発が完了したチケット一覧から各自にアサイン • チケットに記載の開発者と話してテスト実施
  7. 11 Copyright hacomono Inc. All Rights Reserved. 自動テストの課題 自動テストの作成・運用を担当しているSETチーム(1〜2名)で実施 1.

    作業が属人化されSETチーム以外は実行方法がわからない 2. 自動テストの追加が難しい
  8. 12 Copyright hacomono Inc. All Rights Reserved. 自動テストの課題 自動テストの作成・運用を担当しているSETチーム(1〜2名)で実施 1.

    作業が属人化されSETチーム以外は実行方法がわからない 2. 自動テストの追加が難しい
  9. 13 Copyright hacomono Inc. All Rights Reserved. 1. 作業が属人化されSETチーム以外は実行方法がわからない 複雑なテストに合わせて自動テストも複雑に…。

    • テスト実施データの準備作業が必要 • テスト実施前にも手動でテスト環境の設定が必要 • テストの実施順序が存在する ◦ 並列処理と直列処理を分ける ◦ ドキュメントが存在しない超属人作業
  10. 14 Copyright hacomono Inc. All Rights Reserved. 1. 作業が属人化されSETチーム以外は実行方法がわからない 複雑なテストに合わせて自動テストも複雑に…。

    • テスト実施データの準備作業が必要 • テスト実施前にも手動でテスト環境の設定が必要 • テストの実施順序が存在する ◦ 並列処理と直列処理を分ける ◦ ドキュメントが存在しない超属人作業 属人化は最適化されたがサイロ化も進み 複雑な手順をヨシとしてしまっていた
  11. 15 Copyright hacomono Inc. All Rights Reserved. 自動テストの課題 自動テストの作成・運用を担当しているSETチーム(1〜2名)で実施 1.

    作業が属人化されSETチーム以外は実行方法がわからない 2. 自動テストの追加が難しい
  12. 16 Copyright hacomono Inc. All Rights Reserved. 2. 自動テストの追加が難しい 【変化】ドメインチームごとにQAを専属配置する体制へ変更

    • リリースを重ねていき機能がとても多くなった • QA全員が広く深くドメインに詳しい状態は難しくなった
  13. 20 Copyright hacomono Inc. All Rights Reserved. 課題解決のアプローチ 取り組む課題 •

    自動テストの属人化を解消する • ドメインチーム体制の変化に対応する アプローチ • 各チームに自動テストを取り組んでもらえるようにする ➔ 自動テストの実施をローテーション制へ変更 ➔ 自動テストの作成・運用をSETから各チームへ展開
  14. 21 Copyright hacomono Inc. All Rights Reserved. 自動テストの実施をローテーション制へ変更 まず実施できる人を増やすところから着手 •

    叩きのドキュメントを作る • 2人ほどを巻き込み、一緒に実行してもらう • ドキュメントをさらに整理して標準化へ
  15. 22 Copyright hacomono Inc. All Rights Reserved. 自動テストの実施をローテーション制へ変更 まず実施できる人を増やすところから着手 •

    叩きのドキュメントを作る • 2人ほどを巻き込み、一緒に実行してもらう • ドキュメントをさらに整理して標準化へ 次は各ドメインチームのQAごとの ローテーション制度へ • 同じように一緒に実行してもらう
  16. 23 Copyright hacomono Inc. All Rights Reserved. 自動テストの実施をローテーション制へ変更 まず実施できる人を増やすところから着手 •

    叩きのドキュメントを作る • 2人ほどを巻き込み、一緒に実行してもらう • ドキュメントをさらに整理して標準化へ 次は各ドメインチームのQAごとの ローテーション制度へ • 同じように一緒に実行してもらう • さらにドキュメントを肉付けしていき 標準化が進んでいく
  17. 26 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 各チームに対して自動テスト作成ワークショップを開催 1.基礎的な導入を説明して実際に操作してみてもらう

    2.各チームのリグレッションテストを一緒に自動化する ➔ ワークショップの成果物として 自動テストができあがる ➔ そのまま運用してもらう
  18. 27 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 フォローアップを隔週で実施 •

    自動テストを実行できているか • 新しい自動テストは作成できたか ◦ 実装の質問はその場で解消
  19. 28 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 フォローアップを隔週で実施 •

    自動テストを実行できているか • 新しい自動テストは作成できたか ◦ 実装の質問はその場で解消 自動テストが続いているチームの特徴 • 毎日自動テストの作成に取りかかっている • 定期的に自動テストを運用している
  20. 29 Copyright hacomono Inc. All Rights Reserved. 自動テストを専任担当からチームに還す ここまで 専任担当の目線から各チームに自動テストを展開した話

    • 自動テストの実施をローテーション制へ変更 • 自動テストの作成・運用をSETから各チームへ展開 次の章 個人目線で自動テストにどう向き合ったかの話(たっきー)
  21. 34 Copyright hacomono Inc. All Rights Reserved. 1.大変だったこと 準備段階 ・作業時間の確保

    ・テストケースの内容把握 実行時 ・failed発生時の原因調査 ・mablの操作、使い方
  22. 41 Copyright hacomono Inc. All Rights Reserved. 自動テストを専任担当からチームに還す ここまで 展開された側の目線から自動テストに取り組んだ話

    • 自動テストの時間の確保や、失敗原因調査には愚直に向き合う • 手動テストと自動テストの違い・勘所を学べた • 自動テストの学びはツールを変えても通用する 次の章 自動テストにチームで取り組んだ話(松田)
  23. 43 Copyright hacomono Inc. All Rights Reserved. 自動化に挑戦した結果 • 初心者3名のチームが自動化に挑戦

    ◦ mablを用いたテスト実行とテストの作成に取り組みました • 現在ではチームで独立して定期実行・メンテナンス・新規作成を行えるようになりました!
  24. 45 Copyright hacomono Inc. All Rights Reserved. つまづいたところ • テキスト・テスト失敗からの対応が超大変

    ◦ バグかテストの失敗かの見分け • 失敗の原因はテストのどこなのか? ◦ テストを読み解くのに時間がかかる • 修正方針はどうすればいいか自信が持てない
  25. 46 Copyright hacomono Inc. All Rights Reserved. 対策 • SETチームに頼りまくる!

    • 考えを全て書き出す ◦ 失敗原因、修正方針やその検討内容を都度書き出していく ◦ SETチームのメンバーに内容を共有してすぐに意見をもらえる ◦ 類似の失敗時に参照できる
  26. 47 Copyright hacomono Inc. All Rights Reserved. 得られたこと • 既存の自動テストを実行には自動テスト作成の学びが得られる

    ◦ サンプルとして多くのテストが見られる ◦ どういった箇所が失敗しやすいテストを身をもって経験できる
  27. 48 Copyright hacomono Inc. All Rights Reserved. 自動テスト作成編 • 自動テスト作成経験ほぼ0の3人で挑戦

    • 目標は担当機能のリグレッションテストを自動化 • 自動テスト実行の1ヶ月後から開始
  28. 49 Copyright hacomono Inc. All Rights Reserved. 壁 • 業務における優先度の認識が合わない

    ◦ マニュアルテストのタスクが残っているから自動化は後回し、全て片付いたら自動 化やりたい • どこから手をつけていいのかわからない ◦ つまづくところ多いし進捗全然出ない ◦ 最初の1週間は各自に任せる形式で動いてこれといった成果なし
  29. 50 Copyright hacomono Inc. All Rights Reserved. 対策 • 毎日1時間自動化workの時間を設定

    ◦ 時間中は通話をつないで自動化に関するタスクに取り組む ▪ ペア作業 ▪ もくもく作業 ▪ 気づきの共有など ◦ 他の時間に自動化に取り組むことも OK
  30. 51 Copyright hacomono Inc. All Rights Reserved. 定期化してから • 習慣化できた

    ◦ 自然と集まれるようになってきた ◦ みんな相談することが山ほど出てくる • 成果ベースではなく互いの進捗共有が自然とできるように
  31. 52 Copyright hacomono Inc. All Rights Reserved. まとめ • 自動化未経験からの取り掛かりは大変ですがドキュメントが助けになります

    ◦ 手順書に沿った実行で成功体験をつめる ◦ ドキュメントを残すことで自身の考えを共有しフィードバックを得られる • 自動化の挑戦にはコミュニケーションが不可欠です ◦ 元々興味のあったメンバーだったが認識を揃えられたのは自動化 workで通話を重 ねた後だった ◦ SETチームとも交流できる場を設けて学習を重ねていった
  32. 54 Copyright hacomono Inc. All Rights Reserved. まとめ:自動テストを専任担当からチームに還す 壁があったら取り払ってお互いに越境しよう •

    展開するときは工夫をしてみよう(ドキュメント・ワークショップ) ◦ 既にある自動テストは教材としてよい • 時間の確保は受け取る側に委ねる ◦ 全員で同じ目標をもつことが大事 • 定着には習慣化が肝 ◦ 毎日少しでもいいから時間を取ろう