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

テスト自動化プラットフォームAutifyはどのようにAutify自身を自動テストしているか

Autify
December 13, 2023

 テスト自動化プラットフォームAutifyはどのようにAutify自身を自動テストしているか

ソフトウェアテスト自動化カンファレンス2023 - テスト自動化プラットフォームAutifyはどのようにAutify自身を自動テストしているか

Autify

December 13, 2023
Tweet

More Decks by Autify

Other Decks in Technology

Transcript

  1. Kubo Haruhiko 久保 治彦. Senior QA Manager Microsoft OS開発統括部で SDETとしてのキャリアをスタート。

    その後、VMware, UiPath, Cybereasonで日本向け製品のリリース、 QAを担当。 2022年よ りAutifyに1人目のシニア QAマネージャーとして参画し、 Autifyの2製品のQA、リリースを リードしている。 スピーカー Suemura Takuya 末村拓也. Senior Technical Support Engineer / Test Automation Specialist Autifyのテクニカルサポートエンジニアで、自動テストでありがちな「なぜかうごかない」系の問題 のトラブルシュートをする係。 Autify入社前はQAエンジニア、その前は PHPで開発やったり、もっ と前は倉庫でフォークリフト乗り回したりしてました。 JaSST Online実行委員。
  2. Autifyの開発・QA体制について (3) • 以前は・・・ ◦ Unitテストは一定のカバレッジを保てていたが E2Eテストの数は頭打ち ◦ サービスを止めてしまうようなインシデントの連続発生 ◦

    以前修正したはずの問題の再発 • 課題 ◦ 各エンジニアによるE2Eテストの意識のばらつき ◦ E2Eテスト作成に関するプロセスが存在しない ◦ Bugチケットに対する再発防止策
  3. 自動テスト以外のテスト(Optional) • 探索的テスト ◦ 新機能開発時にDev/QAがdogfoodingもかねて行う ◦ ユーザビリティなどマニュアルテストでしかできない観点も含んだテスト • BugBash ◦

    エンジニアリングチーム以外のチームも必要に応じて参加 ◦ ユーザビリティやユーザーエクスペリエンスに対してのフィードバックも同時に受け付け
  4. テストシナリオの作成とその役割分担 • Developer ◦ Autifyでテストシナリオの作成(要件洗い出しで抽出されたステップのレコーディング) ◦ 作成したテストの結果確認 (Acceptance test) •

    Developer / QA ◦ 他のテストと並列実行したときに問題がないか?(テストの独立性の確認) ◦ 複数回連続実行しても問題ないか? (テストに動的な要素検証等が含まれていないか等) • QA ◦ 共有リソース (ステップグループやJSスニペット)などの作成 ◦ シナリオのレビュー (リクエストベース) ◦ テストプラン・パイプラインへの追加・パイプライン更新
  5. Autifyで作成されたテストシナリオの実行 • Acceptance Test ◦ ステージング環境で作成・実行 • Regression Test ◦

    日々のリリースパイプラインの中で実行 ◦ 複数のテストPlanに分けて実行 ◦ 夜間に翌日のリリースブランチが作成され、自動でステージング環境へ Deploy・テスト実行 ◦ Deploy担当のEngineer(持ち回り)が翌朝テスト結果を確認、本番へリリース・ Deploy
  6. テストシナリオのメンテナンス・管理 • ラベルと説明によるテストシナリオの管理 ◦ ラベル ▪ 担当チーム名 ▪ 機能名・機能カテゴリ名 ▪

    テスト実行時の依存関係・条件等 (もしあれば) ◦ 説明 ▪ E2Eテスト作成チケットのリンク (リンクからUserStoryのチケットへ辿り着ける ) • テスト失敗時はEngineeringチームの通知専用slack チャンネルに通知される ◦ Slack通知には担当チームのラベルが表示されるので、原則担当チームが確認・調査を行う ◦ 必要に応じてQAも担当チームと一緒に確認を行う
  7. 今後の予定および目標 • PRマージ前のE2Eテスト実行 ◦ PRマージ毎にリリース可能になる ◦ 現時点ではステージング環境の制約により難易度高 • 変更点に応じたE2Eテスト実行 ◦

    機能は増え続けるのでテストの総量も増えていくが、実行時間は最小限ですむ • どの環境に対しても実行できるテストシナリオの作成 ◦ 開発者のローカル環境でも、ステージング環境でも、どこでも一貫したテスト実行が可 能となる