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

mablを活用した自動化の複数人での取り組み

 mablを活用した自動化の複数人での取り組み

22.12.3 ソフトウェアテスト自動化カンファレンス登壇資料

hacomono Inc.

December 03, 2022
Tweet

More Decks by hacomono Inc.

Other Decks in Programming

Transcript

  1. mablを活用した自動化の複数人での取り組み

    View Slide

  2. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  3. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  4. 自己紹介
    塩濱 優 / shiohama yu
    @hcmn_hama
    2019年にhacomono入社
    入社~2年間はプロダクト側の開発エンジニアとして
    改善や新機能開発をしておりました。
    現在はQAチーム全体の管理や自動化をメインで担当しています。
    元々QAエンジニアは正社員私1人だったところから
    現在では3名になり、
    業務委託合わせると12名のチームになりました 🎉

    View Slide

  5. 会社紹介
    店舗ビジネスの未来を変える
    会員管理・予約・決済システム
    フィットネス・スクール向けのバーティカル SaaSとして、
    日本の社会課題解決、業界マーケットサイズ拡大に挑戦しています。

    View Slide

  6. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  7. メインターゲット
    これから自動化を開始しようとしている方
    1人で自動化をしていたが複数名で取り組み開始したいと考えている方
    ローコード自動化サービスを開始し始めたばかりの方

    View Slide

  8. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  9. mablを活用した自動化の複数人での取り組み

    View Slide

  10. mablとは
    ・E2Eテスト自動化ソリューション
    ・非エンジニアでも簡単にテストが作成できる
    ・また、エンジニアも使用しやすいUIで、変数管理も可能
     複雑なケースにも対応しやすい
    ・CI/CDに結合して、
     開発プロセスに組み込むこともできる

    View Slide

  11. mablを活用した自動化の複数人での取り組み

    View Slide

  12. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  13. 取り組み時に決めたこと
    複数人で実装していくということを視野に入れてガイドラインを作成する

    View Slide

  14. ガイドライン① -コーディング規則
    コーディング規則を定義し、
    どのように実装されるべきかを定め
    自動化していく上での「品質」「保守のしやすさ」の確保を大切にしました。

    View Slide

  15. ガイドライン① -コーディング規則
    コーディング規則
    命名規則を定めていく

    View Slide

  16. コーディング規則
    flow
    どの工程(操作)を行うのか
    branch
    どこで作業をするか
    test
    どのシナリオのテストなのか

    View Slide

  17. コーディング規則
    branch
    どこで作業をするか
    (シナリオ分類)_(テストケースNo)_(パターンNo)_氏名
    例) TJ01_01_A_hama

    View Slide

  18. コーディング規則
    test
    どのシナリオのテストなのか
    (シナリオ分類)_(テストケースNo)_(パターンNo)_テストケースタイトル(サブタイトル)
    例) TJ01_01_A_会員登録導線(仮登録ステータスをSkipする)

    View Slide

  19. コーディング規則
    flow
    どの工程(操作)を行うのか
    test
    どのシナリオのテストなのか
    branch
    どこで作業をするか
    何がどのシナリオに入っているのかを目視しやすいことを目的とした

    View Slide

  20. コーディング規則
    flow
    どの工程(操作)を行うのか
    Prefixをつける
    ページ内動作の場合、そのページでのみ実行可能なフローであることを明確化するため、
    【サイト名】もしくは【サイト名/ページ名】を記載します。
    例1) 【管理サイト】【予約サイト/マイページ】
    例2) 【管理サイト/メンバー詳細/プラン/プラン一覧】

    View Slide

  21. コーディング規則
    flow
    どの工程(操作)を行うのか
    名称は○○する, ○○かどうか確認するといったシンプルな形にする
    フロー名に含まれるページ名称 .. 「...」で括る
    フロー名に含まれるページ内文言 .. "..."で括る
    例) 【予約サイト/マイページ】「所持チケット」へ遷移する

    View Slide

  22. コーディング規則
    test
    どのシナリオのテストなのか
    branch
    どこで作業をするか
    flow作成の重複を防ぐことを目的とした
    flow
    どの工程(操作)を行うのか

    View Slide

  23. コーディング規則

    すでにどのflowが用意されているかを目視しやすくなりました

    View Slide

  24. ガイドライン② -ルール
    何を元に自動化の実装をしていくのか

    View Slide

  25. ガイドライン② -ルール
    リグレッションテスト

    View Slide

  26. リグレッションテストと自動化の関係性

    テスト管理ツール
    Qase
    スプレッドシート
    マスタ情報
    テストケース 自動化
    ケース内容を実装
    同じ状態を保つ
    自動化済/未の状態を反映

    View Slide

  27. ガイドライン②-ルール
    自動化できないパターンのルール決め

    View Slide

  28. ガイドライン②-ルール
    どうしても自動化できない/難しい手順やシナリオはある

    View Slide

  29. ガイドライン②-ルール

    テストケース(スプレッドシート)

    テスト管理ツール(Qase)

    xxxの表示確認
    ✅ [手動]xxxの表示確認
    自動化できなかった部分だけを抜き出す

    View Slide

  30. ガイドライン③ - レビューフロー
    レビューフローを定めました

    View Slide

  31. ガイドライン③ - レビューフロー
    アサイン~実装
    誰がどのケースを担当するかを管理 ブランチの作成
    実装
    レビュー~マージ
    レビュー依頼を出す コーディング規則のチェック
    コンフリクトの解消

    View Slide

  32. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  33. 実際取り入れてみてどうだったか
    良かった点

    View Slide

  34. 実際取り入れてみてどうだったか

    良かった点 💮
    ・ガイドラインがあることによって、スムーズにオンボーディングが進む
    ・誰が参加しても同じ状態を保ちながら、実装を増やしていける
    ・メンテナンスがしやすくなる
    ・エンジニア、非エンジニアともに同様の実装方法になる
    ・他に良い取り組み事例があった場合に、置き換えやすい

    View Slide

  35. 実際取り入れてみてどうだったか
    改善したい点

    View Slide

  36. 実際取り入れてみてどうだったか

    改善したい点
    ・コーディング規則があるとはいえ、間違うことは誰にでもある。
     一定のメンテナンス時間は確保したい。
    ・機能のアップデートに合わせて期待値を変えないといけない場合がある
     機能のキャッチアップを効率よくできる仕組みを用意が必要
    ・テストの実行時間や自動化に対する分析も行っていきたい

    View Slide

  37. トピックス
    1
 自己紹介と会社紹介
    2
 メインターゲット
    3
 mablとは
    4
 取り組み時に決めたこと
    5
 実際取り入れてみてどうだったか
    6
 今後の展望

    View Slide

  38. 今後の展望
    ・目下は、リグレッションテストの自動化をしていくが、
    機能リリース時に初めからmablで実装もしていきたい。
    ・まだチャレンジできていない分野も進めていきたい。
    (APIテストにも着手したい)
    ・一緒に自動化を推進してくださる方の採用頑張る

    View Slide

  39. 最後に
    もっと良い取り組み方あるよ!などなど何かあれば、
    お気軽にTwitterでもご連絡ください󰢛
        @hcmn_hama

    View Slide