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

リグレッションテスト期間の短縮を目指して

Avatar for shutty shutty
October 03, 2024

 リグレッションテスト期間の短縮を目指して

PayPay / Rakuten Group / Techtouch - QA Night #1 発表資料
https://qa-night.connpass.com/event/327008/

Avatar for shutty

shutty

October 03, 2024
Tweet

More Decks by shutty

Other Decks in Technology

Transcript

  1. 2 © Techtouch, Inc. 自己紹介 QA部 マネージャー:首藤 義景 2 新卒で第三者検証会社に入社し、主にSaaSプロダクトの検証に参画。

    QAエンジニア、マネージャー、品質コンサルタントとして活動。DXを実 現する理念と会社のValueに惹かれて2021/10に1人目QAとして テックタッチに参画。 過去記事 • テストプロセスが自走するチーム体制をめざして QA が取り組ん でいること • 持続可能なQA活動のために • Qase導入によるテスト管理の効率化と課題解決 shutty @techcouth shutty@cobalt_catal
  2. 6 © Techtouch, Inc. 会社概要 設立 2018年3月1日 住所 〒105-7105 東京都港区東新橋1-5-2

    汐留シティセンター5階 ワークスタイリング内 社員数 130名(2024年9月時点)※正社員のみ 累計資金調達額 24億円 投資家情報 一部抜粋 DNX Ventures アーキタイプベンチャーズ株式会社 DBJキャピタル株式会社 三菱UFJキャピタル株式会社 SMBCベンチャーキャピタル株式会社 みずほキャピタル株式会社 電通ベンチャーズ ほか 認証 受賞歴 2020年 週刊東洋経済「すごいベンチャー100」選出 Forbes JAPAN 「CLOUD 20 Rising Stars」選出 FUJITSU ACCELERATOR 第8期ピッチコンテスト 優秀賞 2022年 日本DX大賞支援機関部門 ファイナリスト選出 グッドデザイン賞 受賞 総務省後援 ASPIC IoT・AI・クラウドアワード 基幹業務系ASP・SaaS部 門 準グランプリ 受賞 2023年 SAP AWARD OF EXCELLENCE2023 Partner Innovationアワー ド 受賞 経済産業省「J-Startup」選出 ITreview 「ITreview Grid Award」3部門にて「Leaders」受賞 東京都ベンチャー技術大賞 特別賞受賞
  3. 9 © Techtouch, Inc. 「テックタッチ」が解決する課題 システムの管理者の課題と利用者の課題、双方を同時に解決できます。 9 マニュアル・ 教育コスト削減 マニュアルを作っても

    見てもらえない 問い合わせ削減 システムに関する 問い合わせ対応が大変 管理者の課題 操作・入力ミス防止 入力ミスで 申請が差し戻される 利用者の課題 システムの使い方が わからない 正しい操作を案内
  4. 10 © Techtouch, Inc. 「テックタッチ」とは ※1 ※2 WEBシステム画面上で操作に合わせてナビゲーションを表示するデジタルアダプションプラットフォーム(DAP)※1 です。 ※1新たに利用するビジネス・アプリケーションやWebシステムなどの利用の定着を支援する製品・サービスのこと

    ※2:3部門で最高位の「Leader」を受賞 オンボーディング・デジタルアダプション部門 / カスタマーサクセスツール部門 / マニュアル作成・編集部 • ブラウザ拡張をインストールもしくはスニペット埋め込みで実装可能。改修不要で、低コスト/短期間で導入可能 • マニュアルと違い、操作・入力時にリアルタイムに操作ガイドを表示 • コンテンツはプログラミング不要で誰でも簡単に作成可能
  5. 11 © Techtouch, Inc. 「テックタッチ」ができること 操作 ガイド 作成 問い合わせが多く 分かりにくいシステム

    誰もが使える システムへ! 利用者の体感を最重視したリアルタイムの操作ガイドで、 システムの使い方が分からないを払拭。 操作ガイドはプログラミング不要で、システムの画面上 でかんたんに作成可能。 入力チェックや条件分岐にも対応。 システム利用者 ガイド作成者 システム改修不要 システム画面上でかんたんにできる 操 作 ガ イ ド の 作 成 も 表 示 も
  6. 12 © Techtouch, Inc. 「テックタッチ」の機能 操作に合わせて必要な情報を表示 ツールチップ ガイド 分析 ステップに沿って操作を案内

    システム活用を可視化し さらなる有効活用へ 画面クリックや定型文入力処理等の 業務を効率化 オートフロー 導入したシステムの価値を最大化します クリックを促す
  7. 13 © Techtouch, Inc. サービスの活躍の場を様々な業界、企業に拡大しています 導入した業務システムや、自社で開発した webアプリケーションに「テックタッチ」を導 入し、社内システムの使い勝手を改善できま す。 システム利用者の「わからない」を画面上で解

    決できるため、マニュアルを見なおす時間や、 入力不備、問い合わせ件数、差し戻し件数が 削減できます。 企業の社内システム 顧客向けクラウドシステム 公共セクターの各種システム 開発したシステムの操作案内として「テック タッチ」を導入すれば、チュートリアルの仕組 みを実装する必要がありません。問い合わせ 削減や解約防止、UI/UX向上に繋げられま す。 情報量が多く複雑な行政システムや自治体 ホームページを、直感的に使えるようにしま す。
  8. 15 © Techtouch, Inc. 1. イントロダクション プロダクトの特性 15 検証環境の組み合わせ「OS x

    ブラウザ」に加えて、対象システムという因子 テックタッチのシステムだけで検証は完結せず、システムの上で動いて価値を発揮 シナリオの組み合わせが無限 さまざまなシステムの上で動作 テストケースが膨大になりやすいため リスクを識別しスコープを調整したテストが必要
  9. 17 © Techtouch, Inc. Element 
 SRE LeSS Product Owner

    Product Owner Product Owner Designer Designer Designer Engineer Engineer Engineer Scrum Master Scrum Master Scrum Master Scrum Product Owner Designer Engineer Scrum Master Data Enabling Kanban Kanban QA Kanban エンドユーザーが利用する 機能を開発する フロントエンドチーム ガイダンスを 快適に管理・編集するための 機能を開発するチーム サーバーサイド機能の 開発を通じてユーザーへの 価値提供を支えるチーム Frontend- Player Frontend- Editor Backend コア機能である要素の発見 探索などを改善し ユーザー体験を 向上するチーム インフラやセキュリティ、 インシデント対応など プロダクト開発を 支え守るチーム スクラムチームと協業して プロダクト・プロセスの 品質を支えるチーム プロダクト・社内で使う分析機能 を支えるデータ基盤を、 品質・持続可能性を追求しながら 開発・運用するチーム 02. テストプロセス 開発体制
  10. 18 © Techtouch, Inc. 02. テストプロセス リリーストレイン 18 Sprint 1

    Sprint 2 Sprint 3 乗車判定 乗車判定 乗車判定 リリース QA リリース QA リリース QA Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Team A Team B Team C 機能開発 機能開発 機能開発 機能開発 機能開発 機能開発 機能開発 機能開発 機能開発 機能開発 3ヶ月
  11. 24 © Techtouch, Inc. 02. テストプロセス 用語解説:スプリントテストとリグレッションテスト 24 • スプリントテスト

    ◦ ユーザーストーリーやタスク単位で実行するテスト ◦ 開発/QAが協業して実施 • リグレッションテスト ◦ スプリントテスト完了後、リリース前に実行するテスト ◦ QAがメインで実施 Sprint 1 Sprint 2 Sprint 3 乗車判定 乗車判定 乗車判定 リリース QA リリース QA リリース QA Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Team A 機能開発 機能開発 機能開発 機能開発
  12. 25 © Techtouch, Inc. 02. テストプロセス 高頻度リリースのために乗り越えなければいけないこと 25 • リグレッションテストの工数が大きい

    ◦ 前工程で検出可能な不具合が検出 ◦ コードフリーズからテスト完了まで約3週間 ◦ 手動で繰り返しテストを実施 • 1つ1つの機能が大きく、開発期間が長い
  13. 26 © Techtouch, Inc. 02. テストプロセス 高頻度リリースのために乗り越えなければいけないこと 26 • リグレッションテストの工数が大きい

    ◦ 前工程で検出可能な不具合が検出 ▪ スプリントテストで適切なテストができるようにプロセス改善 ◦ コードフリーズからテスト完了まで約3週間 ▪ リグレッションテストのスコープ見直し ◦ 手動で繰り返しテストを実施 ▪ 繰り返し実施されるテストの自動化 • 1つ1つの機能が大きく、開発期間が長い
  14. 27 © Techtouch, Inc. 02. テストプロセス 高頻度リリースのために乗り越えなければいけないこと 27 • リグレッションテストの工数が大きい

    ◦ 前工程で検出可能な不具合が検出 ▪ スプリントテストで適切なテストができるようにプロセス改善 ◦ コードフリーズからテスト完了まで約3週間 ▪ リグレッションテストのスコープ見直し ◦ 手動で繰り返しテストを実施 ▪ 繰り返し実施されるテストの自動化 • 1つ1つの機能が大きく、開発期間が長い
  15. 29 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し リグレッションテストの実情 2024.9 29 •

    アプリケーション/機能ごとに分割された13,000件以上のテストケース • 優先度A、B、Cに分割:優先度Aのテストケースが約3,000件 ◦ 優先度A:リグレッションテストごとに実行する ◦ 優先度B:スプリントテストごとに実行する ◦ 優先度C:特定の条件下実行する テスト期間を短縮するために優先度見直しの実施 優先度Aのテストケース数を少なくする
  16. 32 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し 優先度の決め方 32 例) •

    「次へ」ボタンを押下すると次のステップがはじまること • 入力できない箇所がマスクされること • 「ガイドを停止」ボタンを押下するとガイドが停止すること • ガイドの最後のステップが完了すると終了メッセージが出てくること
  17. 33 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し 優先度の決め方 33 例) •

    「次へ」ボタンを押下すると次のステップがはじまること:A • 入力できない箇所がマスクされること:A • 「ガイドを停止」ボタンを押下するとガイドが停止すること:B • ガイドの最後のステップが完了すると終了メッセージが出てくること:C
  18. 36 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テックタッチの基準 36 1. 機能/シナリオ単位でテストケースをテストスイートに分割

    a. 同じ因子で集めて水準が異なるテストケースを格納 2. 因子の中から水準を1ケースを選択 a. 選ばれなかった水準はUT/ITで担保できないかを確認 テストカバレッジの計測が容易 E2Eテスト自動化のスコープを決めやすくなる(はず)
  19. 37 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テックタッチの基準_テストスイート分割 37 1. 機能/シナリオ単位でテストケースをテストスイートに分割

    a. 同じ因子で集めて水準が異なるテストケースを格納 2. 因子の中から水準を1ケースを選択 a. 選ばれなかった水準はUT/ITで担保できないかを確認 テストカバレッジの計測が容易 E2Eテスト自動化のスコープを決めやすくなる(はず)
  20. 38 © Techtouch, Inc. “同値分割法(EP:Equivalence Partitioining)はシステムやソフトウェアへの入力デー タを同じ処理が行われると想定したパーティションに振り分けます。(中略)EPではパー ティション内の代表的なデータを1つ選び(後略)” 03. リグレッションテストのスコープ見直し

    テックタッチの基準_テストスイート分割 38 参考:90号:同値分割法: 後編 https://note.com/akiyama924/n/nb33a846639ac 同じ処理が行われると想定したテストスイートに振り分け テストスイート内の代表的なテストケースを1つ選びテストを実行 引用:ソフトウェアテスト教科書 JSTQB Foundation 第5版 シラバス2023対応 4.2.1 同値分割法 https://www.shoeisha.co.jp/book/detail/9784798188508
  21. 39 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テックタッチの基準 39 1. 機能/シナリオ単位でテストケースをテストスイートに分割

    a. 同じ因子で集めて水準が異なるテストケースを格納 2. 因子の中から水準を1ケースを選択 a. 選ばれなかった水準はUT/ITで担保できないかを確認 テストカバレッジの計測が容易 E2Eテスト自動化のスコープを決めやすくなる(はず)
  22. 40 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テストピラミッド:マニュアルテストをUT/ITへ移行 40 … E2E

    IT UT マニュアル テストケースX テストケース1 1 2 3 4 テストケース2 1 2 3’ 4 テストケース3 1 2 3’’ 4 テストスイート 因子 複数のマニュアルのテストケース 手順が重複している状態 シナリオの流れ
  23. 41 © Techtouch, Inc. シナリオの流れ 03. リグレッションテストのスコープ見直し テストピラミッド:マニュアルテストをUT/ITへ移行 41 …

    E2E IT UT マニュアル テストケースX テストケース1 1 2 3 4 テストケース2 1 2 3’ 4 テストケース3 1 2 3’’ 4 UT/ITとマニュアルテストケースの連携 因子 テストスイート 優先度A
  24. 42 © Techtouch, Inc. シナリオの流れ 03. リグレッションテストのスコープ見直し テストピラミッド:将来的にE2E自動テストへ移行 42 …

    E2E IT UT マニュアル テストケースX テストケース1 1 2 3 4 テストケース2 1 2 3’ 4 テストケース3 1 2 3’’ 4 UT/ITとマニュアルテストケースの連携 因子 E2Eテスト自動化 テストスイート 優先度A
  25. 44 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し マニュアルテストと自動テストを繋ぐテスト管理ツール:Qase 44 出典: 開発プロセスに開発者主体のテストを組み込む

    - 自動テスト で手動テストを減らすには? https://www.docswell.com/s/92thunder/K22LPR-20 24-07-30-183111 出典: 最高効率でテストするためにQaseを選んだ理由 https://tech.techtouch.jp/entry/reason-for-choosin g-qase
  26. 46 © Techtouch, Inc. 04. まとめ 46 • テスト対象「テックタッチ」の特徴 ◦

    カスタマイズ性が高い ◦ さまざまなシステム上で動作 ◦ テストケースが多くなりやすい • 高頻度リリースを目指してリグレッションテスト期間を短縮 ◦ マニュアルテストケースのスコープ削減 ▪ テストスイートを整理 ▪ UT/ITと連携することでカバレッジを担保 ▪ テスト管理ツールQaseを活用してテストケースを一元管理
  27. 48 © Techtouch, Inc. 04. まとめ これからやりたい/強化したいこと 48 • テスト自動化

    ◦ E2Eはもちろん、UT/ITとの連携 • 非機能テスト ◦ ブラウザ上のパフォーマンステスト • TIY(Test It Yourself)の推進・拡大 ◦ 開発者主導で品質保証ができるようなプラットフォームの構築 出典:『隣のQAに聞く!』 https://www.qbook.jp/column/1846.html
  28. 49 © Techtouch, Inc. We Are Hiring 49 プロダクトチームJD •

    Head of QA (候補) • SET • QAエンジニア https://prtimes.jp/main/html/rd/p/000000219.000048939.html