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
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
Search
nihonbuson
March 28, 2024
Technology
3
1.7k
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
March 28, 2024
Tweet
Share
More Decks by nihonbuson
See All by nihonbuson
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.3k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.8k
品質管理の歴史学 / Quality Management History
nihonbuson
3
320
境界値分析
nihonbuson
4
240
振る舞い駆動開発(BDD)における、テスト自動化の前に大切にしていること #stac2024 / BDD formulation
nihonbuson
7
2.8k
品質管理チームのEMとして大事にしていること / QA EM
nihonbuson
0
1.9k
忠実度という概念と開発手法 / Fidelity
nihonbuson
1
120
WACATE流 勉強会会場の選び方 / WACATE venue
nihonbuson
1
670
Other Decks in Technology
See All in Technology
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
370
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
590
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
The Future of SEO: The Impact of AI on Search
badams
0
200
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
120
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
730
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
370
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Building Your Own Lightsaber
phodgson
104
6.2k
Automating Front-end Workflow
addyosmani
1368
200k
Designing for Performance
lara
604
68k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Side Projects
sachag
452
42k
Docker and Python
trallard
44
3.3k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Adopting Sorbet at Scale
ufuk
74
9.2k
Documentation Writing (for coders)
carmenintech
67
4.6k
Transcript
©2024 10X, Inc. 継続的テストモデルを実現するために スリーアミーゴスを用いた 10Xでのシフトレフトの事例 シフトレフトテストの推進と今後の展望 風間 裕也(ブロッコリー) #shiftleft_autify_findy
©2023 10X, Inc. 2 自己紹介 • 風間裕也(ブロッコリー) • 所属 ◦
株式会社10X 品質管理部 ◦ 株式会社iCARE フェロー(QAE技術顧問) ◦ B-Testing(個人事業主) • 社外活動 ◦ JaSST Review実行委員長 ▪ ソフトウェアレビューシンポジウム ◦ WACATE実行委員長 ▪ ソフトウェアテストの合宿型ワークショップ形式勉強会
©2023 10X, Inc. にてキャリアの記事を寄稿しました 3 高速道路の出口案内のようなQAエンジニアでありたい ─自動テストより前にやるべきことがあると気づいた話
©2024 10X, Inc. 継続的テストモデルを実現するために スリーアミーゴスを用いた 10Xでのシフトレフトの事例 シフトレフトテストの推進と今後の展望 風間 裕也(ブロッコリー) #shiftleft_autify_findy
©2023 10X, Inc. 5 「継続的テストモデル」とは何か
©2023 10X, Inc. 継続的テストモデル 6 「継続的テストモデル」とは何か Continuous Testing in DevOps…
に掲載の画像を元に発表者が翻訳
©2023 10X, Inc. 継続的テストモデル 7 「継続的テストモデル」とは何か Continuous Testing in DevOps…
に掲載の画像を元に発表者が翻訳 テストの 範囲に なりがち
©2023 10X, Inc. シフトレフトで行うテスト 8 「継続的テストモデル」とは何か Continuous Testing in DevOps…
に掲載の画像を元に発表者が翻訳 コード実装前 に行う テストがある
©2023 10X, Inc. シフトライトで行うテスト 9 「継続的テストモデル」とは何か Continuous Testing in DevOps…
に掲載の画像を元に発表者が翻訳 リリース後 に行う テストがある
©2023 10X, Inc. 継続的テストモデル 10 「継続的テストモデル」とは何か テストはフェーズ ではなく アクティビティである
©2023 10X, Inc. 11 今回発表する シフトレフトテストの範囲
©2023 10X, Inc. シフトレフトで行うテスト 12 今回発表するシフトレフトテストの範囲 Continuous Testing in DevOps…
に掲載の画像を元に発表者が翻訳 コード実装前 に行う テストがある
©2023 10X, Inc. CODE時点でのテスト活動(今回は話しません) 13 今回発表するシフトレフトテストの範囲 TDD など
©2023 10X, Inc. PLANやBRANCH時点でのテスト活動 14 今回発表するシフトレフトテストの範囲 今回の 事例
©2023 10X, Inc. 15 「スリーアミーゴス」とは何か
©2023 10X, Inc. 16 「スリーアミーゴス」とは何か スリーアミーゴスとは何か 引用:Agile Testingのエッセンス #devsumi
©2023 10X, Inc. 実例マッピングという手法で整理することもできる 17 「スリーアミーゴス」とは何か 払い戻しを 処理する 14日以内なら 返品できる
払い戻しには 購入の証明が 必要 先週買った ケトルを 返金したい →営業が 払い戻しの 処理を行う アイテムの 在庫数を増やす 領収書がない →銀行の明細書 を使って マネージャが 払い戻しの 処理を行う お客に お金を返す 倉庫内の人に 返品が来たこと を伝える
©2023 10X, Inc. 実例マッピングについて詳しくはこちら 18 「スリーアミーゴス」とは何か 事例から学ぶ実例マッピングのやり方 【翻訳記事+α】受け入れ基準の 設定時などに役立つプラクティス 「実例マッピング(Example
Mapping)」
©2023 10X, Inc. 19 スリーアミーゴスを用いた 受け入れ基準作成時の テスト活動の事例
©2023 10X, Inc. 適用したタイミング 20 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例 スプリント プランニング レトロ スペク
ティブ リファイン メント スクラムとは(オージス総研) を参考に一部書き換え ※リファインメントは スクラムイベントではない
©2023 10X, Inc. 元々の受け入れ基準 • hogehogeメソッドが注文の締め切り時間の前に 呼ばれているので対応する 21 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例
©2023 10X, Inc. 出てきた疑問点 • hogehogeメソッドが注文の締め切り時間の前に 呼ばれているので対応する 22 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例 これって、アプリの振る舞いで言うと、
どの画面のどんな操作なんですかね? QA
©2023 10X, Inc. 修正後の受け入れ基準 hogehogeメソッドが注文の締切時間の前に 呼ばれているので対応する ⇨ ・注文変更の締切時間の前の場合、パッキング画面で
「完了」ボタンを押したときにエラーにする。 かつ、エラーを表示したあと前画面に戻る。 ・注文変更の締切時間の前の場合、パッキング画面で 「完了」ボタンを押さなくても15秒後にエラーを返す。 かつ、エラーを表示したあと前画面に戻る。 23 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例
©2023 10X, Inc. 修正後の受け入れ基準 hogehogeメソッドが注文の締切時間の前に 呼ばれているので対応する ⇨ ・注文の締切時間の前の場合、パッキング画面で
「完了」ボタンを押したときにエラーにする。 かつ、エラーを表示したあと前画面に戻る。 ・注文の締切時間の前の場合、パッキング画面で 「完了」ボタンを押さなくても15秒後にエラーを返す。 かつ、エラーを表示したあと前画面に戻る。 24 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例 何をもって、 このタスクが完了となるのか ハッキリした
©2023 10X, Inc. 余談:シフトレフトの活動を行うと良いこと • 早い段階で行うべきことがハッキリしていると、 バグが混入されづらくなり、追加コストが不要になる ◦ バグチケット起票のコスト ◦
開発内容を思い出すコスト ◦ 修正するコスト ◦ もう一度テストするコスト ◦ 関連部分にデグレードが無いか確認するコスト ◦ 起票したバグチケットを完了にするコスト 25 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例
©2023 10X, Inc. その他のシフトレフトで行うテストの事例 26 スリーアミーゴスを用いた受け入れ基準作成時のテスト活動の事例 TODOリストの整理を通じて 実行すべきテストを考える #tddbc 「テストは単純作業ではなく創造的な活動だ」
という意識を浸透させた物語 #RSGT2021
©2023 10X, Inc. 27 おわりに
©2023 10X, Inc. 28 おわりに まとめ • シフトレフトとシフトライトを整理した表現の1つに 継続的テストモデルがある ◦
テストはフェーズではなくアクティビティである • スリーアミーゴスという取り組みを用いて、 受け入れ基準作成時からテストを考える ◦ 払い戻しの処理の例 ◦ アプリの振る舞いをハッキリさせた事例
©2023 10X, Inc. 継続的テストモデル(再掲) 29 おわりに
©2023 10X, Inc. シフトライトの事例を知りたい方は…… 30 おわりに テストの完了をゴールにしない!~仮説検証を繰り返し、開発・QA・ユーザーが 交流しながら開発することで見えてくる理想の姿~ - #RSGT2024
#DevSumi / Shift left and Shift right
©2023 10X, Inc. 31 ご清聴ありがとうございました おしまい