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
2019-06 ソフトウェアテスト/2019-06 Software testing
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Cybozu
PRO
May 31, 2019
Technology
4
170k
2019-06 ソフトウェアテスト/2019-06 Software testing
Cybozu
PRO
May 31, 2019
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
120
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
650
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
75
つけまが降ってきた日
cybozuinsideout
PRO
1
510
「行ってよかった!」をみんなに広げる
cybozuinsideout
PRO
0
170
サイボウズの QAエンジニアについて / about cybozu QA
cybozuinsideout
PRO
3
4.4k
不具合の先にある面白さ~配属3か月目の新卒QAのいま~
cybozuinsideout
PRO
0
460
kintone開発チームの紹介
cybozuinsideout
PRO
1
87k
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
130
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
210
Cosmos World Foundation Model Platform for Physical AI
takmin
0
680
プロポーザルに込める段取り八分
shoheimitani
1
180
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
110
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
340
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
150
今日から始めるAmazon Bedrock AgentCore
har1101
4
400
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
120
Context Engineeringの取り組み
nutslove
0
320
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
65
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Making Projects Easy
brettharned
120
6.6k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Marketing to machines
jonoalderson
1
4.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
88
The Curious Case for Waylosing
cassininazir
0
230
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Amusing Abliteration
ianozsvald
0
97
Thoughts on Productivity
jonyablonski
74
5k
Transcript
ソフトウェアテスト 2019-05-31 Cybozu 1
目次 ▌テストの必要性 ▌テストに対するよくある誤解 ⚫ (1) テスト = 仕様の検証? ⚫ (2)
テスト = テスト実行? ▌スクラムチームの中でのテスト 2
テストの必要性 3
テストの必要性 ▌BtoB から BtoC まで、社会を構成する要素として必須 ▌ソフトウェアが期待通りに動かないと? ⚫ 経済的な損失 ⚫ 時間の浪費
⚫ 信用の失墜 ⚫ 傷害や死亡事故 ▌ソフトウェアテストは、ソフトウェアの品質を評価し、運用環境でのソフト ウェアの故障が発生するリスクを低減する1つの手段 4 JSTQB FL 1.1 ISTQB 著、JSTQB 訳 「テスト技術者資格制度 Foundation Level シラバス (2018年度版)」、2019年 http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2018.J03.pdf [JSTQB FL]
テストに対するよくある誤解 5
テストに対するよくある誤解 ▌(1) テスト = 仕様の検証 ▌(2) テスト = テスト実行 6
(1) テスト = 仕様の検証? 7
(1) テストとは仕様の検証のこと? ▌テストは指定されている要件をシステムが満たすかどうかを確認することに 加えて、妥当性確認も行う ⚫ 正しく作っているか?(検証) ⚫ 正しいものを作っているか?(妥当性確認) ▌さらに、これらを通じてステークホルダーへの情報提供も行う 8
JSTQB FL 1.1
テストと品質 ▌Gerald M. Weinberg ⚫ 「品質は誰かにとっての価値である」 ⚫ ソフトウェアを1日8時間使うユーザーにとっては使い勝手の良さが高品質 ⚫ 故障のたびに批判されるシステム管理者にとってはゼロ故障が高品質
⚫ 厳しい予算の制約下にあるプロジェクト管理者にとっては、開発費用が少ない ことが高品質 9 G. M. ワインバーグ著、大野徇郎訳『ワインバーグのシステム思考法』共立、1994年
(参考)Testing と Checking ▌Checking ⚫ 「プロダクトのある側面に対して、アルゴリズムに基づく決定ルールを適 用することで、評価を行うプロセスのこと。」 ▌Testing ⚫ 「プロダクトの探索と実験を通じてプロダクトを学習することによってプロ
ダクトを評価するプロセスのこと。問いを立てたり、研究したり、モデル化 したり、観察したり、推論したりすることが含まれる。」 10 James Bach “Testing and Checking Refined”, 2013 https://www.satisfice.com/blog/archives/856
(2) テスト = テスト実行? 11
(2) テストとはテスト実行のこと? ▌テストはさまざまな活動を含む ⚫ 計画、モニタリングとコントロール、分析、設計、実装、実行、完了 ▌実装前に行うテストもある(欠陥の作り込みの防止) ▌順番に行うこともあれば、同時に行ったり組み合わせて行ったりすることも ある ⚫ プロダクトやプロジェクトの状況に合わせる
12 JSTQB FL 1.1, 1.4
テストに関する活動 ▌テストに関する活動を分けると次ページ以降のようになる ▌これらの活動は組み合わせられたり同時に行われたりする(必ずしも シーケンシャルに行われるわけではない) 13
テスト計画 ▌テストの目的と、アプローチを決める 14 JSTQB FL 1.4.2
テストのモニタリングとコントロール ▌テスト計画の内容と実際の進捗を継続的に比較する 15 JSTQB FL 1.4.2
テスト分析 ▌テストベースを分析し、「何をテストするか」を決定する ▌テストベース(例) ⚫ 要件、仕様、ユーザーストーリー、ユースケース…… ⚫ 設計の情報、実装の情報、アーキテクチャ、…… ⚫ 想定されるリスク ▌テスト設計技法を使い見落としを防ぐ
16 JSTQB FL 1.4.2
テスト設計 ▌テスト分析の結果を、ハイレベルのテストケースに落とし込む ▌この際にさまざまなテスト設計技法を使用する ▌ここでも不具合を検出できることも 17 JSTQB FL 1.4.2
(参考)テスト設計技法 ▌振る舞いベースの技法(ブラックボックステスト) ⚫ 同値分割、境界値分析、デシジョンテーブル…… ▌内部構造ベースの技法(ホワイトボックステスト) ⚫ 制御フローテスト、データフローテスト…… ▌経験ベースの技法 ⚫ エラー推測、探索的テスト……
18 JSTQB FL 4.1, 4.2, 4.3, 4.4
テスト実装 ▌テストを実行可能にする ⚫ テスト手順の作成(テストケースの具体化) ⚫ テスト環境の用意 ⚫ テストデータの用意 19 JSTQB
FL 1.4.2
テスト実行 ▌スケジュールにしたがってテスト(スイート)を実行 ⚫ 不具合があれば BTS(Bug Tracking System)に登録 20 JSTQB FL
1.4.2
テスト完了 ▌完了したテスト活動のデータを集め、まとめる ▌テストケースやテスト環境の整理・保管 21 JSTQB FL 1.4.2
スクラムチームの中でのテスト 22
サイボウズでのスクラム導入前後 ▌スクラム導入前 ⚫ 開発フェーズとテストフェーズが明確に分かれている ▌スクラム導入後 ⚫ リリース可能な部分(インクリメント)を作る小さなサイクル(スプリン ト)を繰り返す ⚫ スプリント内で設計からテストまでやる(チームもある)
23
スクラムイベントとテスト ▌スクラムはいくつかのミーティングを定義している ⚫ これを「スクラムイベント」と呼ぶ ▌スクラムイベントの中でどのようにテスト活動を行っていくか? ▌以下で紹介するのは一例です 24 スクラムについてはこちらを参照。Ken Schwaber &
Jeff Sutherland 著、角征典訳 「スクラムガイド 日本語版」、2017年 https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf
リファインメント ▌テストに関する観点からバックログを見る ⚫ ユーザーが実際に行う操作は? ⚫ テストしやすい? ⚫ 異常系や例外は? 25 テスト分析
スプリントプランニング ▌何を作るかの認識を合わせつつ、テスト設計を簡単に行う ⚫ 実装に関する議論を聞きながら、テストすべき箇所やテストしなくてよ い箇所を考える/聞く ⚫ テストの観点を出してみる(何をテストするか) ⚫ テストケースの型を考える(どうテストするか) 26
テスト分析 テスト設計
スプリント内 ▌実装の状況に応じてテスト設計をアップデート ▌テスト設計に基づきテストケースを作成 ▌実装が完了したらテスト開始 ⚫ 不具合が出たらすぐにフィードバック 27 テスト設計 テスト実装 テスト実行