Slide 1

Slide 1 text

hacomono QAチーム 森島 / 松田 / たっきー / muga 専任担当からチームに還して QA全員で取り組むテスト自動化

Slide 2

Slide 2 text

2 Copyright hacomono Inc. All Rights Reserved. 森島 諒 所属:QA部QAチーム    QA/SETエンジニア 自動テストの専任担当だった人 自己紹介(hacomono QA部メンバー) 松田 祐樹 所属:QA部QAチーム    QAエンジニア 自動テストを展開されたメンバー たっきー 所属:QA部QAチーム    QAエンジニア 自動テストを展開されたメンバー muga 所属:QA部QAチーム    QA/SETエンジニア 自動テストを展開されたメンバー

Slide 3

Slide 3 text

3 Copyright hacomono Inc. All Rights Reserved. 目次 1.当事の状況と課題について(森島) 2.課題解決のアプローチ(森島) 3.自動テストの作成・運用をSETから展開されてみて(たっきー) 4.テスト自動化に挑戦してみて(松田) 5.まとめ(森島)

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Confidential About 5 会員管理・予約・振替・キャンセル・決済・請求管理・売上管理・債権管理 入退館・EC・POS・本人認証カメラ・QRリーダー ・総合フィットネスクラブ ・ヨガ・ピラティス ・パーソナルジム ・24時間ジム フィットネスクラブ ・屋外運動場 ・屋内運動場 ・体育館 ・水泳プール ・学校 ・レジャー施設 公共運動施設 ・Jリーグ(サッカー) ・Bリーグ(バスケットボール) ・野球チーム・サッカーチーム etc スポーツチーム ・スイミングスクール ・ダンス・バレエスクール ・ゴルフスクール ・テニススクール ・カルチャースクール ・空手・体操スクール ・サッカースクール 運動スクール ウェルネス施設の手続きをすべてデジタル化

Slide 6

Slide 6 text

6 Copyright hacomono Inc. All Rights Reserved. 発表について ❖ 属人化した自動テストをチームに広げた話 ➢ 専任担当が取り組んできた自動テストの課題と QAメンバーに展開したときのアプローチの紹介 ❖ 自動テストを受け取ったメンバーの工夫 ➢ 展開されたメンバーの視点から工夫や学び どうやって自動テストに向き合ったのかを紹介

Slide 7

Slide 7 text

1. 当事の状況と課題について(森島)

Slide 8

Slide 8 text

8 Copyright hacomono Inc. All Rights Reserved. hacomonoのリリースサイクル 2週間ごとのリリーストレイン ● 月2回・2週間ごとにリリースを実施 ● コードフリーズ後にリリース前のリグレッションテストを実施

Slide 9

Slide 9 text

9 Copyright hacomono Inc. All Rights Reserved. テストについて 開発期間後のテスト期間にQA部にてテストを実施 ● 開発が完了したチケット一覧から各自にアサイン ● チケットに記載の開発者と話してテスト実施

Slide 10

Slide 10 text

10 Copyright hacomono Inc. All Rights Reserved. リグレッションテストについて QA部にてリグレッションテストを実施 ● テスト期間の最後に実施 ● およそ2〜3日かかる

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

16 Copyright hacomono Inc. All Rights Reserved. 2. 自動テストの追加が難しい 【変化】ドメインチームごとにQAを専属配置する体制へ変更 ● リリースを重ねていき機能がとても多くなった ● QA全員が広く深くドメインに詳しい状態は難しくなった

Slide 17

Slide 17 text

17 Copyright hacomono Inc. All Rights Reserved. 2. 自動テストの追加が難しい 【結果】自動テストを作るのにコミュニケーションコストが増えた

Slide 18

Slide 18 text

18 Copyright hacomono Inc. All Rights Reserved. 自動テストの課題 1. 作業が属人化されSETチーム以外は実行方法がわからない 2. 自動テストの追加が難しい

Slide 19

Slide 19 text

2. 課題解決のアプローチ(森島)

Slide 20

Slide 20 text

20 Copyright hacomono Inc. All Rights Reserved. 課題解決のアプローチ 取り組む課題 ● 自動テストの属人化を解消する ● ドメインチーム体制の変化に対応する アプローチ ● 各チームに自動テストを取り組んでもらえるようにする ➔ 自動テストの実施をローテーション制へ変更 ➔ 自動テストの作成・運用をSETから各チームへ展開

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

24 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 各チームに対して自動テスト作成ワークショップを開催 1.基礎的な導入を説明して実際に操作してみてもらう

Slide 25

Slide 25 text

25 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 各チームに対して自動テスト作成ワークショップを開催 1.基礎的な導入を説明して実際に操作してみてもらう 2.各チームのリグレッションテストを一緒に自動化する

Slide 26

Slide 26 text

26 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 各チームに対して自動テスト作成ワークショップを開催 1.基礎的な導入を説明して実際に操作してみてもらう 2.各チームのリグレッションテストを一緒に自動化する ➔ ワークショップの成果物として 自動テストができあがる ➔ そのまま運用してもらう

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

28 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから各チームへ展開 フォローアップを隔週で実施 ● 自動テストを実行できているか ● 新しい自動テストは作成できたか ○ 実装の質問はその場で解消 自動テストが続いているチームの特徴 ● 毎日自動テストの作成に取りかかっている ● 定期的に自動テストを運用している

Slide 29

Slide 29 text

29 Copyright hacomono Inc. All Rights Reserved. 自動テストを専任担当からチームに還す ここまで 専任担当の目線から各チームに自動テストを展開した話 ● 自動テストの実施をローテーション制へ変更 ● 自動テストの作成・運用をSETから各チームへ展開 次の章 個人目線で自動テストにどう向き合ったかの話(たっきー)

Slide 30

Slide 30 text

3. 自動テストの作成・運用を SETから展開されてみて(たっきー)

Slide 31

Slide 31 text

31 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから展開されてみて 1. 大変だったこと 2. 工夫した点 3. よかったこと 4. その後の発展

Slide 32

Slide 32 text

32 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから展開されてみて 前提:自動テストの作成、実行をしたことない人

Slide 33

Slide 33 text

33 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから展開されてみて 1. 大変だったこと 2. 工夫した点 3. よかったこと 4. その後の発展

Slide 34

Slide 34 text

34 Copyright hacomono Inc. All Rights Reserved. 1.大変だったこと 準備段階 ・作業時間の確保 ・テストケースの内容把握 実行時 ・failed発生時の原因調査 ・mablの操作、使い方

Slide 35

Slide 35 text

35 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから展開されてみて 1. 大変だったこと 2. 工夫した点 3. よかったこと 4. その後の発展

Slide 36

Slide 36 text

36 Copyright hacomono Inc. All Rights Reserved. 2.工夫した点 ・とにかく自動テストに触れる時間を増やす ・1シナリオ/1フロー/1ステップごとに動かして実装を理解する

Slide 37

Slide 37 text

37 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから展開されてみて 1. 大変だったこと 2. 工夫した点 3. よかったこと 4. その後の発展

Slide 38

Slide 38 text

38 Copyright hacomono Inc. All Rights Reserved. 3.よかったこと ・自分たちが実行しているテストが把握できた ・リグレッションテストの改善活動に繋がった ・自動テストの考え方を学べた

Slide 39

Slide 39 text

39 Copyright hacomono Inc. All Rights Reserved. 自動テストの作成・運用をSETから展開されてみて 1. 大変だったこと 2. 工夫した点 3. よかったこと 4. その後の発展

Slide 40

Slide 40 text

40 Copyright hacomono Inc. All Rights Reserved. 4.その後の発展 ・Playwrightでテストを書くことになったが入りやすかった ・現在はスプリント中にE2Eテストが実装できている

Slide 41

Slide 41 text

41 Copyright hacomono Inc. All Rights Reserved. 自動テストを専任担当からチームに還す ここまで 展開された側の目線から自動テストに取り組んだ話 ● 自動テストの時間の確保や、失敗原因調査には愚直に向き合う ● 手動テストと自動テストの違い・勘所を学べた ● 自動テストの学びはツールを変えても通用する 次の章 自動テストにチームで取り組んだ話(松田)

Slide 42

Slide 42 text

4. テスト自動化に挑戦してみて(松田)

Slide 43

Slide 43 text

43 Copyright hacomono Inc. All Rights Reserved. 自動化に挑戦した結果 ● 初心者3名のチームが自動化に挑戦 ○ mablを用いたテスト実行とテストの作成に取り組みました ● 現在ではチームで独立して定期実行・メンテナンス・新規作成を行えるようになりました!

Slide 44

Slide 44 text

44 Copyright hacomono Inc. All Rights Reserved. 自動テスト実行編・実施にあたって ● 手順書と手厚いフォローで実行には問題なし ● 失敗したテストの修正に全力を出せました

Slide 45

Slide 45 text

45 Copyright hacomono Inc. All Rights Reserved. つまづいたところ ● テキスト・テスト失敗からの対応が超大変 ○ バグかテストの失敗かの見分け ● 失敗の原因はテストのどこなのか? ○ テストを読み解くのに時間がかかる ● 修正方針はどうすればいいか自信が持てない

Slide 46

Slide 46 text

46 Copyright hacomono Inc. All Rights Reserved. 対策 ● SETチームに頼りまくる! ● 考えを全て書き出す ○ 失敗原因、修正方針やその検討内容を都度書き出していく ○ SETチームのメンバーに内容を共有してすぐに意見をもらえる ○ 類似の失敗時に参照できる

Slide 47

Slide 47 text

47 Copyright hacomono Inc. All Rights Reserved. 得られたこと ● 既存の自動テストを実行には自動テスト作成の学びが得られる ○ サンプルとして多くのテストが見られる ○ どういった箇所が失敗しやすいテストを身をもって経験できる

Slide 48

Slide 48 text

48 Copyright hacomono Inc. All Rights Reserved. 自動テスト作成編 ● 自動テスト作成経験ほぼ0の3人で挑戦 ● 目標は担当機能のリグレッションテストを自動化 ● 自動テスト実行の1ヶ月後から開始

Slide 49

Slide 49 text

49 Copyright hacomono Inc. All Rights Reserved. 壁 ● 業務における優先度の認識が合わない ○ マニュアルテストのタスクが残っているから自動化は後回し、全て片付いたら自動 化やりたい ● どこから手をつけていいのかわからない ○ つまづくところ多いし進捗全然出ない ○ 最初の1週間は各自に任せる形式で動いてこれといった成果なし

Slide 50

Slide 50 text

50 Copyright hacomono Inc. All Rights Reserved. 対策 ● 毎日1時間自動化workの時間を設定 ○ 時間中は通話をつないで自動化に関するタスクに取り組む ■ ペア作業 ■ もくもく作業 ■ 気づきの共有など ○ 他の時間に自動化に取り組むことも OK

Slide 51

Slide 51 text

51 Copyright hacomono Inc. All Rights Reserved. 定期化してから ● 習慣化できた ○ 自然と集まれるようになってきた ○ みんな相談することが山ほど出てくる ● 成果ベースではなく互いの進捗共有が自然とできるように

Slide 52

Slide 52 text

52 Copyright hacomono Inc. All Rights Reserved. まとめ ● 自動化未経験からの取り掛かりは大変ですがドキュメントが助けになります ○ 手順書に沿った実行で成功体験をつめる ○ ドキュメントを残すことで自身の考えを共有しフィードバックを得られる ● 自動化の挑戦にはコミュニケーションが不可欠です ○ 元々興味のあったメンバーだったが認識を揃えられたのは自動化 workで通話を重 ねた後だった ○ SETチームとも交流できる場を設けて学習を重ねていった

Slide 53

Slide 53 text

5.最後に

Slide 54

Slide 54 text

54 Copyright hacomono Inc. All Rights Reserved. まとめ:自動テストを専任担当からチームに還す 壁があったら取り払ってお互いに越境しよう ● 展開するときは工夫をしてみよう(ドキュメント・ワークショップ) ○ 既にある自動テストは教材としてよい ● 時間の確保は受け取る側に委ねる ○ 全員で同じ目標をもつことが大事 ● 定着には習慣化が肝 ○ 毎日少しでもいいから時間を取ろう

Slide 55

Slide 55 text

We're hiring! 他のポジションも 募集しております 🙏