Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リグレッションテスト期間の短縮を目指して
Search
shutty
October 03, 2024
Technology
0
140
リグレッションテスト期間の短縮を目指して
PayPay / Rakuten Group / Techtouch - QA Night #1 発表資料
https://qa-night.connpass.com/event/327008/
shutty
October 03, 2024
Tweet
Share
More Decks by shutty
See All by shutty
開発者とQAで協業するテックタッチの取り組み
shutty
0
100
Other Decks in Technology
See All in Technology
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5.1k
OPENLOGI Company Profile
hr01
0
63k
Winning at PHP in Production in 2025
beberlei
1
270
Databricksで完全履修!オールインワンレイクハウスは実在した!
akuwano
0
150
AI-in-the-Enterprise|OpenAIが公開した「AI導入7つの教訓」——ChatGPTで変わる企業の未来とは?
customercloud
PRO
0
150
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
160
Part2 GitHub Copilotってなんだろう
tomokusaba
1
540
kernelvm-brain-net
raspython3
0
390
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
720
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
590
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
140
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
360
Featured
See All Featured
Practical Orchestrator
shlominoach
187
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Scaling GitHub
holman
459
140k
Unsuck your backbone
ammeep
671
57k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Code Review Best Practice
trishagee
67
18k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
Transcript
© Techtouch, Inc. リグレッションテスト期間の短縮を目指して 2024/9/26 QA部 マネージャー 首藤 義景 PayPay / Rakuten
Group / Techtouch QA Night #1 高頻度リリースを目指すテスト技術
2 © Techtouch, Inc. 自己紹介 QA部 マネージャー:首藤 義景 2 新卒で第三者検証会社に入社し、主にSaaSプロダクトの検証に参画。
QAエンジニア、マネージャー、品質コンサルタントとして活動。DXを実 現する理念と会社のValueに惹かれて2021/10に1人目QAとして テックタッチに参画。 過去記事 • テストプロセスが自走するチーム体制をめざして QA が取り組ん でいること • 持続可能なQA活動のために • Qase導入によるテスト管理の効率化と課題解決 shutty @techcouth shutty@cobalt_catal
目次 01. イントロダクション 02. テストプロセス 03. リグレッションテストケースの見直し 04. まとめ
01 イントロダクション
Company 企業概要
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」受賞 東京都ベンチャー技術大賞 特別賞受賞
Services / Market サービス紹介、「テックタッチ」が注目される理由
8 © Techtouch, Inc. メッセージ 「テックタッチ」は、どんなwebシステムにでも、 誰でもかんたんに操作ガイドを追加できるサービスです。 操作がわからないことから生じる システムへの抵抗感をやわらげ、 あらゆる人々が思いのままに
システムを使いこなせる世界に変えていきます。 すべてのユーザーが システムを使いこなせる世界に
9 © Techtouch, Inc. 「テックタッチ」が解決する課題 システムの管理者の課題と利用者の課題、双方を同時に解決できます。 9 マニュアル・ 教育コスト削減 マニュアルを作っても
見てもらえない 問い合わせ削減 システムに関する 問い合わせ対応が大変 管理者の課題 操作・入力ミス防止 入力ミスで 申請が差し戻される 利用者の課題 システムの使い方が わからない 正しい操作を案内
10 © Techtouch, Inc. 「テックタッチ」とは ※1 ※2 WEBシステム画面上で操作に合わせてナビゲーションを表示するデジタルアダプションプラットフォーム(DAP)※1 です。 ※1新たに利用するビジネス・アプリケーションやWebシステムなどの利用の定着を支援する製品・サービスのこと
※2:3部門で最高位の「Leader」を受賞 オンボーディング・デジタルアダプション部門 / カスタマーサクセスツール部門 / マニュアル作成・編集部 • ブラウザ拡張をインストールもしくはスニペット埋め込みで実装可能。改修不要で、低コスト/短期間で導入可能 • マニュアルと違い、操作・入力時にリアルタイムに操作ガイドを表示 • コンテンツはプログラミング不要で誰でも簡単に作成可能
11 © Techtouch, Inc. 「テックタッチ」ができること 操作 ガイド 作成 問い合わせが多く 分かりにくいシステム
誰もが使える システムへ! 利用者の体感を最重視したリアルタイムの操作ガイドで、 システムの使い方が分からないを払拭。 操作ガイドはプログラミング不要で、システムの画面上 でかんたんに作成可能。 入力チェックや条件分岐にも対応。 システム利用者 ガイド作成者 システム改修不要 システム画面上でかんたんにできる 操 作 ガ イ ド の 作 成 も 表 示 も
12 © Techtouch, Inc. 「テックタッチ」の機能 操作に合わせて必要な情報を表示 ツールチップ ガイド 分析 ステップに沿って操作を案内
システム活用を可視化し さらなる有効活用へ 画面クリックや定型文入力処理等の 業務を効率化 オートフロー 導入したシステムの価値を最大化します クリックを促す
13 © Techtouch, Inc. サービスの活躍の場を様々な業界、企業に拡大しています 導入した業務システムや、自社で開発した webアプリケーションに「テックタッチ」を導 入し、社内システムの使い勝手を改善できま す。 システム利用者の「わからない」を画面上で解
決できるため、マニュアルを見なおす時間や、 入力不備、問い合わせ件数、差し戻し件数が 削減できます。 企業の社内システム 顧客向けクラウドシステム 公共セクターの各種システム 開発したシステムの操作案内として「テック タッチ」を導入すれば、チュートリアルの仕組 みを実装する必要がありません。問い合わせ 削減や解約防止、UI/UX向上に繋げられま す。 情報量が多く複雑な行政システムや自治体 ホームページを、直感的に使えるようにしま す。
14 © Techtouch, Inc. 1. イントロダクション プロダクトの特性 14
15 © Techtouch, Inc. 1. イントロダクション プロダクトの特性 15 検証環境の組み合わせ「OS x
ブラウザ」に加えて、対象システムという因子 テックタッチのシステムだけで検証は完結せず、システムの上で動いて価値を発揮 シナリオの組み合わせが無限 さまざまなシステムの上で動作 テストケースが膨大になりやすいため リスクを識別しスコープを調整したテストが必要
02 テストプロセス
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. テストプロセス 開発体制
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ヶ月
19 © Techtouch, Inc. 19 3ヶ月に1度の定期リリース?
20 © Techtouch, Inc. 20
21 © Techtouch, Inc. 21
22 © Techtouch, Inc. 22 高頻度リリースを 目指すテスト技術
23 © Techtouch, Inc. 23 高頻度リリースを 目指しています
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 機能開発 機能開発 機能開発 機能開発
25 © Techtouch, Inc. 02. テストプロセス 高頻度リリースのために乗り越えなければいけないこと 25 • リグレッションテストの工数が大きい
◦ 前工程で検出可能な不具合が検出 ◦ コードフリーズからテスト完了まで約3週間 ◦ 手動で繰り返しテストを実施 • 1つ1つの機能が大きく、開発期間が長い
26 © Techtouch, Inc. 02. テストプロセス 高頻度リリースのために乗り越えなければいけないこと 26 • リグレッションテストの工数が大きい
◦ 前工程で検出可能な不具合が検出 ▪ スプリントテストで適切なテストができるようにプロセス改善 ◦ コードフリーズからテスト完了まで約3週間 ▪ リグレッションテストのスコープ見直し ◦ 手動で繰り返しテストを実施 ▪ 繰り返し実施されるテストの自動化 • 1つ1つの機能が大きく、開発期間が長い
27 © Techtouch, Inc. 02. テストプロセス 高頻度リリースのために乗り越えなければいけないこと 27 • リグレッションテストの工数が大きい
◦ 前工程で検出可能な不具合が検出 ▪ スプリントテストで適切なテストができるようにプロセス改善 ◦ コードフリーズからテスト完了まで約3週間 ▪ リグレッションテストのスコープ見直し ◦ 手動で繰り返しテストを実施 ▪ 繰り返し実施されるテストの自動化 • 1つ1つの機能が大きく、開発期間が長い
03 リグレッションテストのスコープ見直し
29 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し リグレッションテストの実情 2024.9 29 •
アプリケーション/機能ごとに分割された13,000件以上のテストケース • 優先度A、B、Cに分割:優先度Aのテストケースが約3,000件 ◦ 優先度A:リグレッションテストごとに実行する ◦ 優先度B:スプリントテストごとに実行する ◦ 優先度C:特定の条件下実行する テスト期間を短縮するために優先度見直しの実施 優先度Aのテストケース数を少なくする
30 © Techtouch, Inc. 30 優先度って どうやって決めてますか?
31 © Techtouch, Inc. 1. イントロダクション プロダクトの特性 31
32 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し 優先度の決め方 32 例) •
「次へ」ボタンを押下すると次のステップがはじまること • 入力できない箇所がマスクされること • 「ガイドを停止」ボタンを押下するとガイドが停止すること • ガイドの最後のステップが完了すると終了メッセージが出てくること
33 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し 優先度の決め方 33 例) •
「次へ」ボタンを押下すると次のステップがはじまること:A • 入力できない箇所がマスクされること:A • 「ガイドを停止」ボタンを押下するとガイドが停止すること:B • ガイドの最後のステップが完了すると終了メッセージが出てくること:C
34 © Techtouch, Inc. 34 優先度って どうやって決めてますか?
35 © Techtouch, Inc. 35 優先度って どうやって決めてますか? KKD (勘・経験・度胸) 業務上必須の
シナリオを確認 よく利用される 機能を確認
36 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テックタッチの基準 36 1. 機能/シナリオ単位でテストケースをテストスイートに分割
a. 同じ因子で集めて水準が異なるテストケースを格納 2. 因子の中から水準を1ケースを選択 a. 選ばれなかった水準はUT/ITで担保できないかを確認 テストカバレッジの計測が容易 E2Eテスト自動化のスコープを決めやすくなる(はず)
37 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テックタッチの基準_テストスイート分割 37 1. 機能/シナリオ単位でテストケースをテストスイートに分割
a. 同じ因子で集めて水準が異なるテストケースを格納 2. 因子の中から水準を1ケースを選択 a. 選ばれなかった水準はUT/ITで担保できないかを確認 テストカバレッジの計測が容易 E2Eテスト自動化のスコープを決めやすくなる(はず)
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
39 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し テックタッチの基準 39 1. 機能/シナリオ単位でテストケースをテストスイートに分割
a. 同じ因子で集めて水準が異なるテストケースを格納 2. 因子の中から水準を1ケースを選択 a. 選ばれなかった水準はUT/ITで担保できないかを確認 テストカバレッジの計測が容易 E2Eテスト自動化のスコープを決めやすくなる(はず)
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 テストスイート 因子 複数のマニュアルのテストケース 手順が重複している状態 シナリオの流れ
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
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
43 © Techtouch, Inc. 03. リグレッションテストのスコープ見直し マニュアルテストと自動テストを繋ぐテスト管理ツール:Qase 43 テストケースに属性を設定して必要なテストを一元管理 Qase:https://qase.io/
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
04 まとめ
46 © Techtouch, Inc. 04. まとめ 46 • テスト対象「テックタッチ」の特徴 ◦
カスタマイズ性が高い ◦ さまざまなシステム上で動作 ◦ テストケースが多くなりやすい • 高頻度リリースを目指してリグレッションテスト期間を短縮 ◦ マニュアルテストケースのスコープ削減 ▪ テストスイートを整理 ▪ UT/ITと連携することでカバレッジを担保 ▪ テスト管理ツールQaseを活用してテストケースを一元管理
47 © Techtouch, Inc. 47 お気づきかもしれませんが 道半ばです
48 © Techtouch, Inc. 04. まとめ これからやりたい/強化したいこと 48 • テスト自動化
◦ E2Eはもちろん、UT/ITとの連携 • 非機能テスト ◦ ブラウザ上のパフォーマンステスト • TIY(Test It Yourself)の推進・拡大 ◦ 開発者主導で品質保証ができるようなプラットフォームの構築 出典:『隣のQAに聞く!』 https://www.qbook.jp/column/1846.html
49 © Techtouch, Inc. We Are Hiring 49 プロダクトチームJD •
Head of QA (候補) • SET • QAエンジニア https://prtimes.jp/main/html/rd/p/000000219.000048939.html
すべてのユーザーが システムを使いこなせる世界に システム導入だけで終わらせない、利活用のためのDXプラットフォーム
None