Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20250129 Findy_テスト高活用化
Search
dshirae
January 29, 2025
Technology
440
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20250129 Findy_テスト高活用化
dshirae
January 29, 2025
Other Decks in Technology
See All in Technology
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
510
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
540
AI AgentによるEmbedded SREの取り組み
tgidgd
1
320
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
150
eBPF 簡介 2026 版
shunghsiyu
0
120
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
120
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
110
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
470
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.4k
AIコーディングはじめました
miso
0
130
SLOを阻む不安
sraku2159
0
200
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
410
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
550
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
650
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
620
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
550
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
The SEO Collaboration Effect
kristinabergwall1
1
610
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
480
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
820
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
500
Transcript
2025/01/29 Findy イベント DevOpsに向けたテスト⽅針 〜 迅速なリリースとテスト戦略 〜 イオンスマートテクノロジー株式会社 CTO室QAチーム ⽩江
⼤輔 ( @show_chan )
所属 • イオンスマートテクノロジー株式会社 • CTO室QA マネージャー 職歴 • 家電メーカで組込開発エンジニア •
携帯電話全盛期にテストマネジメントからQAへ • 携帯電話向け組込ブラウザの品質保証 • 国産 ⼿書きタブレット開発のテスト、QA • 品質コンサルティングなどを経験し現職 その他 • フルリモートになり奈良に引き篭り中 • ガジェット好き ⽩江 ⼤輔 @show_chan ⾃⼰紹介
会社紹介
イオンDX
膨⼤なIDと購買データを集約したアプリ「iAEON」 イオンDX iAEONはイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。 提供開始から約3年で、iAEONは900万⼈以上の会員を抱え、独⾃のコード決済サービス「イオンペイ」は836万⼈ (23年5⽉時点)が利⽤しています。
イオンDX
品質改善のためのテスト設計とは︖
ChatGPTに聞いてみた 品質改善のためのテスト設計は、ソフトウェアや製品の品質を向上させるための戦略的プロセスです。 以下のポイントに焦点を当てることで、効率的で効果的なテストを計画・実⾏できます。 1. ⽬的を明確にする 品質改善の⽬標を具体化します。 •バグの早期発⾒: 開発プロセスの早い段階で問題を⾒つける。 •品質基準の達成: 性能、セキュリティ、使いやすさなど、特定の品質基準を満たすことを⽬指す。
•ユーザー体験の向上: エンドユーザー視点での満⾜度向上。 2. 要件の分析 要件を詳細に理解し、それに基づいてテストケースを設計します。 •明⽰的要件: 仕様書やユーザーストーリーに記載されている内容。 •暗黙的要件: ユーザーが期待する基本的な動作や品質。 3. リスクに基づくテスト設計 製品やシステムのリスクを評価し、重点的にテストすべき箇所を決定します。 •⾼リスク領域: バグが重⼤な影響を及ぼす可能性が⾼い部分。 •変更点: 新機能や修正された箇所はバグが潜む可能性が⾼い。 4. テスト技法の選択 適切なテスト設計技法を選択します。 •ブラックボックステスト: ⼊⼒と出⼒に基づいてテストケースを作成。 •ホワイトボックステスト: コード構造に基づいてテストケースを作成。 •探索的テスト: 短時間で効果的にバグを発⾒するためのアドホックな⽅法。 5. テストケースの設計 効果的なテストケースを作成するには以下を考慮します。 •カバレッジ: 仕様やコードの全体をどれだけ網羅しているか。 •優先順位: テストケースに優先順位をつけ、重要な部分を先にテスト。 •再利⽤性: 同様の状況で再利⽤できる汎⽤的なテストケースを設計。 6. ⾃動化と⼿動テストのバランス •⾃動化: 繰り返しが多いテストや⻑時間かかるテストに最適。 •⼿動テスト: ユーザー体験や直感的な操作性を確認するために必要。 7. 継続的改善 テスト設計プロセスを定期的に⾒直し、以下を実施します。 •振り返り: テスト結果やバグの発⽣傾向を分析。 •フィードバック: 開発チームや顧客からの意⾒を反映。 •プロセスの最適化: 効率性と効果を⾼める⽅法を模索。 8. 品質メトリクスの活⽤ テストプロセスの効果を測定し、改善ポイントを特定します。 バグ発⾒率: テストケースがどれだけバグを発⾒できたか。 カバレッジ: コードや仕様のどれだけがテストされたか。 テスト完了度: すべての計画したテストケースが実⾏された割合。 品質改善を⽬指したテスト設計では、戦略的な計画と継続的な⾒直しが重要です。 また、チーム全体で品質意識を共有し、改善を進めることが成功への鍵となります。 今回お話しする、 ⾃動化やプロセス最適化が 含まれていて、⼀安⼼
イオングループのDX 巨⼤な規模 膨⼤なシステム群 グループの独⽴性 参照: https://www.aeon.info/company/
話したいこと DevOps の導⼊ 👉巨⼤システム基盤への⾃動テスト導⼊の取り組み 開発と運⽤を統合 開発サイクルを効率化し、 迅速かつ安定した製品の提供を実現します QAはDevOpsと聞いて 何をするべきか︖
⾃動化の⽬的とは?
テスト⾃動化の⽬的のおさらい テスト⾃動化の⽬的は、ソフトウェア開発や運⽤における テスト作業を効率化し、品質を向上させることです。 以下の具体的な⽬的があります︓ 1. テスト効率の向上 •⼿動で⾏うテストは時間がかかり、⼈為的なミスが発⽣する可能性があります。 ⾃動化することでテストの実⾏速度が向上し、繰り返し実⾏する負担が軽減されます。 2. コスト削減
•初期導⼊コストは⾼いものの、⻑期的にはテストにかかる⼈件費や時間が削減され、コスト効率が向上します。 3. 品質の向上 •繰り返し可能なテストを正確に実⾏することで、ソフトウェアの⽋陥やバグを早期に発⾒し、リリース前の品質を⾼めることができます。 4. 再現性と信頼性 •テストスクリプトを使⽤することで、同じテストを何度でも同じ条件で実⾏でき、結果が⼀貫します。これによりテスト結果の信頼性が向上します。 5. 回帰テストの効率化 •新しい機能や変更が既存の機能に影響を与えていないか確認する回帰テストを効率的に⾏うことができます。 6. 頻繁なリリース対応 •アジャイルやDevOps環境では頻繁なリリースが求められるため、テスト⾃動化により迅速なリリースサイクルをサポートします。 7. カバレッジの向上 •⾃動化によって広範囲のテストケースをカバーでき、⼿動ではテストが難しい領域(例えば、⼤量データを使ったテストやパフォーマンステストなど) も実⾏可能になります。 8. ⼈為的ミスの削減 •⼿動テストに伴うミスを防ぎ、テスト作業の正確性を⾼めることができます。 9. チームの負担軽減 •単純で繰り返し作業が必要な部分を⾃動化することで、テスト担当者は複雑なケースや分析に集中できます。 テスト⾃動化を導⼊することで、開発プロセス全体がスムーズになり、ソフトウェアの品質と開発速度の両⽅を向上させることができます。 ただし、⾃動化には初期コストやメンテナンスの負担が伴うため、適切な計画と選定が重要です。 ChatGPTに聞いてみた (2回⽬)
DevOpsとテストの⾃動化 しかしこちらの有名な書籍によると、 「QAチームなどが作成管理する⾃動テストは、 ITパフォーマンスと相関関係にない」 とのこと。 その理由(ざっくり⾃分の理解 • 開発者がテストを作成するとコードがよりテスト可能なものになる • ⾃動テストを開発者責にするとテストの意識が⾼まる
• QAチームのテストはE2Eに偏重する
QAチームが作る⾃動化テストの⽬的 • E2EによるUIを含めた⾃動化テスト • 頻繁なリリースに対応 • ⼈為的ミスの削減 • APIレベルの⾃動化テスト •
変更/影響範囲の網羅性確認 • ⾼速なテスト実⾏ リリース時リグレッションテスト デイリーヘルスチェック
テスト⾃動化への道 テスト項⽬の洗い出し ・⾃動化ツール側が対応しておらず、⼀部断念した ・既存のテストシナリオからの項⽬洗い出しはかなり時間がかかる ・テストシナリオの中で実は同じ項⽬(API)を何度も動作させていると気づく テストスクリプト作成 ・トライ&エラー&エラー&エラー...成功となりがち。そしてできた時の喜びは⼤きい ・このAPIを動かすには、まず別のAPIを動かして...ということが理解できた ・⼊⼒値の変数化を⾏うために、まず動作確認完了させ必要がある ・テストデータの命名規則をテストデータ作成前に決めておかないと混乱する
・シナリオ構成は表にしておく ・他の⼈が⾒てもわかりやすいような構成、命名を⼼がける ・実施可否の判断は早めに&エスカレーションも迅速に ・⽇々の成果物を必ず報告する(何してる?と思われないために) ・わからないことはガンガンサポートに問い合わせる シナリオメンテナンス ・テスト環境の変更情報への感度は⾼くする ・情報共有される場に参加していくことが望ましい ・ノウハウは整理して残しておく APIのテスト⾃動化を実装したQA担当者の声
テスト⾃動化カバー率 • APIテスト • リグレッションテスト項⽬換算 約50% のAPIをカバー • E2Eテスト •
通常リグレッションテスト 85% の項⽬をカバー • 336(⾃動化数) / 395(項⽬数) • フルリグレッション項⽬ 36% の項⽬をカバー • 336(⾃動化数) / 930(項⽬数) ビジネス基盤 (2024年12⽉末時点)
開発組織の⼀員として
チームパフォーマンス • Four Keys を意識する • デプロイ頻度 • 変更のリードタイム •
変更失敗率 • デプロイ失敗時の復元時間 • QAが活躍するために • この開発チームに必要な価値、品質を明確にする • ⼈が本当に⾒るべき観点に注⼒する • ツールは使いこなそう
QAとして。イオンにできること。そして社会のために • ⽣まれたイノベーションを安⼼、安全に使っていただける品質を⽬指して • 当たり前品質を迅速にリリースできる状態を作る • 魅⼒的品質を向上するための環境を作る 2024/12/04 Findy 198Presents
イオンCTOやまけんさんの資料より引⽤
おわりに
幅広いポジションで積極的に採⽤中です︕︕ Fin.