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
テストプロセスを用いて、テストケース作成の思考を整理しよう / test process
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nihonbuson
PRO
December 17, 2022
Technology
6.1k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テストプロセスを用いて、テストケース作成の思考を整理しよう / test process
nihonbuson
PRO
December 17, 2022
More Decks by nihonbuson
See All by nihonbuson
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
72
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
4
2.1k
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
7
3.3k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
860
体験しながら作るクラシフィケーション ツリーテスト
nihonbuson
PRO
1
590
意外と知らない状態遷移テストの世界
nihonbuson
PRO
4
4k
「品質のつくりこみ」と「リリース後に行うとよいテスト活動」を体験する
nihonbuson
PRO
1
400
ホリスティックテスティングの右側も大切にする 〜2つの[はか]る〜 / Holistic Testing: Right Side Matters
nihonbuson
PRO
0
2k
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
18
4k
Other Decks in Technology
See All in Technology
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
2
1.6k
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
29
24k
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
0
110
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
350
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
310
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
130
GoにおけるFFIのこれまでとこれから
goccy
5
3.5k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
210
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.9k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
510
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Thoughts on Productivity
jonyablonski
76
5.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
First, design no harm
axbom
PRO
2
1.3k
KATA
mclloyd
PRO
35
15k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Abbi's Birthday
coloredviolet
4
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
テストプロセスを用いて、 テストケース作成の 思考を整理しよう
自己紹介 • 風間裕也(ブロッコリー) • @nihobuson • 社外活動 ◦ WACATE 2019
夏からWACATE実行委員 ◦ JaSST Review 実行委員長 • 翻訳活動 ◦ 書籍『Agile Testing Condensed』 ◦ 書籍『Testing in DevOps』 ◦ 書籍『The BDD Books - Discovery』 • 猫派
セッションの目的 • プロセスについて理解する • テストプロセスについて理解する • テストプロセスの定義を行うメリットを理解する
プロセスとは何か
プロセスとは何か プロセス(process)は、 英語で「過程」「工程」を意味する外来語である。 プロセッシング (processing) と言った場合は、 「処理」を意味する。 手続き(procedure)に着目し、対象を所定の手続きに よって別のものに変換する活動を表す場合もある。 プロセス
(曖昧さ回避) - Wikipedia
プチワーク① 以下の計算問題を解いてください(30秒) 8×7ー32÷4
プチワーク① 以下の計算問題を解いてください(30秒) 8×7ー32÷4 答え…48 どうやって計算しましたか?
解答を導き出すまでの過程=プロセス 8×7ー32÷4 を計算 答えは 48
解答を導き出すまでの過程=プロセス 掛け算 を計算 答えは 48 引き算 を計算 割り算 を計算 8×7=56
32÷4=8 56ー8=48
解答を導き出すまでの過程=プロセス 計算順序を 確認 答えは 48 引き算 を計算 割り算 を計算 掛け算
を計算 掛け算と割り算を 計算してから 引き算すれば良いな
解答を導き出すまでの過程=プロセス 計算 順序を 確認 答えは 48 繰り下がりの 引き算を 計算 割り
算を 計算 掛け 算を 計算 10の位との 合計を計算 16ー8 =10ー2 =8 40+8 =48 56 ー 8 48 4 1
解答を導き出すまでの過程=プロセス 8×7ー32÷4 を計算 答えは 48 計算 順序を 確認 答えは 48
繰り下がりの 引き算を 計算 割り 算を 計算 掛け 算を 計算 10の位との 合計を計算
解答を導き出すまでの過程=プロセス 8×7ー32÷4 を計算 答えは 48 計算 順序を 確認 答えは 48
繰り下がりの 引き算を 計算 割り 算を 計算 掛け 算を 計算 10の位との 合計を計算 人によってプロセスは違う プロセスを細かく分けることができる
細かいプロセスを示すとレビューしやすい 8×7ー32÷4 =64 どこで 間違えたん だろ…?
細かいプロセスを示すとレビューしやすい 8×7ー32÷4 =64 8×7ー32÷4 =72ー32÷4 =72ー8 =64 掛け算が 間違ってた
テストプロセス
昔のテストプロセス テスト実行より前に行う内容 (「テスト設計」「テスト準備」などの呼び方あり) テスト 実行 参考:http://aster.or.jp/business/contest/doc/2020_U-30_V1.0.0.pdf#page=65
JSTQBで示しているテストプロセス テスト 分析 テスト 設計 テスト 実装 テスト 実行 何をテスト
するか それをどう テストするか テストの実行に 必要なものすべて を準備したか テストスイート を実行する 参考:ISTQBテスト技術者資格制度 Foundation Level シラバス 日本語版 Version 2018V3.1.J02
JSTQBで示しているテストプロセス(全体) テスト 計画 テスト 分析 テスト 設計 テスト 実装 テスト
実行 テスト 完了 テストのモニタリングとコントロール テストの目的と、 制約内でテストの目的を 達成するための アプローチを定義する 計画した進捗と 実際の進捗を 継続的に比較する 何をテスト するか を決定する どのように テストするか を決定する テストの実行に 必要なもの すべてを準備する テストスイートを実 行する 完了したテストの データをまとめる ISTQBテスト技術者資格制度 Foundation Level シラバス 日本語版 Version 2018V3.1.J03を参考に作成
ログイン画面を題材にテストプロセスを考える
テスト分析 「何をテストするか」を考える。 例えば… • 正しい組み合わせでログインできるか • ログイン失敗時、エラーメッセージが適切か • パスワードの入力欄はマスクされているか •
指定回数以上ログイン失敗した場合、ロックされるか 箇条書きやマインドマップなどの記法を活用する テスト 分析 テスト 設計 テスト 実装 テスト 実行
テスト分析 テスト設計の方針も考える 例えば… • 正しい組み合わせでログインできるか • ログイン失敗時、エラーメッセージが適切か • パスワードの入力欄はマスクされているか •
指定回数以上ログイン失敗した場合、ロックされるか ◦ →境界値分析が使えそう…? テスト 分析 テスト 設計 テスト 実装 テスト 実行
「どのようにテストするか」を考える • 指定回数以上ログイン失敗した場合、ロックされるか 同値分割、境界値分析、デシジョンテーブル、 状態遷移、ユースケースなどのテスト技法を活用する。 テスト設計 5 6 ロックされない ロックされる
テスト 分析 テスト 設計 テスト 実装 テスト 実行
テスト実装 テストの実行に必要なもの すべてを準備する。 • 手動テストの場合… 手順書作成 • 自動テストの場合… テストスクリプト作成 テスト
分析 テスト 設計 テスト 実装 テスト 実行
テストプロセスを意識した成果物を作成する理由 • テスト分析として「何をテストするのか」を 決めていることで、テスト設計に役立てられる • テスト設計の成果物を見ることで、 どんなパターンをテストしようとしているのか 把握しやすい • テスト実装の成果物を見ることで、
具体的にどんな値を用いてテストするのか 把握しやすい
テストプロセスを用いて 開発プロセスの 早い段階で テストの考えを注入する
早い段階でのテストの考えの注入 要件定義 設計 実装 テスト分析 テスト設計 テスト実装 テスト実行 こういう内容をテストしよう 具体的な期待値までは定義できないが…
早い段階でのテストの考えの注入の具体例 [要求定義、要件定義] ログイン失敗が続いた場合、 アカウントをロックしたい [テスト分析] 指定回数以上失敗した場合に アカウントロックされるか確認しよう (この段階では具体的な回数を定めていない)
テストプロセスを 意識した成果物作成の 注意点
技術を使っている≠テストプロセスを行っている 右は、 デシジョンテーブルっぽい 書き方を用いた テスト手順書の例 これはテスト設計ではなく テスト実装である
技術を使っている≠テストプロセスを行っている 右は、 マインドマップの記法を用いた テスト実行結果の例 これはテスト分析ではなく テスト実行である
おわりに
JSTQBで示しているテストプロセス(全体) テスト 計画 テスト 分析 テスト 設計 テスト 実装 テスト
実行 テスト 完了 テストのモニタリングとコントロール テストの目的と、 制約内でテストの目的を 達成するための アプローチを定義する 計画した進捗と 実際の進捗を 継続的に比較する 何をテスト するか を決定する どのように テストするか を決定する テストの実行に 必要なもの すべてを準備する テストスイートを実 行する 完了したテストの データをまとめる ISTQBテスト技術者資格制度 Foundation Level シラバス 日本語版 Version 2018V3.1.J03を参考に作成
まとめ • プロセスを細かく分けることによって、 どの段階で何を考えるべきなのか明確にできる • テストプロセスを分けて定義し、 成果物を作成することで、 テストプロセスの目的に沿ったものを把握できる ◦ 成果物作成のための技術を学習する必要あり
• テストプロセスを分けて定義することで、 開発プロセスの早い段階でテストの考えを注入できる
おしまい