Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2019-06 ソフトウェアテスト/2019-06 Software testing
Search
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
つけまが降ってきた日
cybozuinsideout
PRO
1
410
「行ってよかった!」をみんなに広げる
cybozuinsideout
PRO
0
140
不具合の先にある面白さ~配属3か月目の新卒QAのいま~
cybozuinsideout
PRO
0
390
kintone開発チームの紹介
cybozuinsideout
PRO
1
83k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
410
AIツール開発ワークショップ(Dify)【サイボウズ新人研修2025】
cybozuinsideout
PRO
22
25k
モバイル【サイボウズ新人研修2025】
cybozuinsideout
PRO
3
4.5k
Git/GitHub を使う上で知っておくと嬉しいかも Tips【サイボウズ新人研修2025】
cybozuinsideout
PRO
16
12k
GitHub Copilot活用【サイボウズ新人研修2025】
cybozuinsideout
PRO
15
16k
Other Decks in Technology
See All in Technology
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
250
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
330
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
240
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
1.8k
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
260
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
220
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
660
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
140
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
510
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.4k
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1k
AI駆動開発の実践とその未来
eltociear
2
490
Featured
See All Featured
Between Models and Reality
mayunak
0
150
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
510
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
190
Test your architecture with Archunit
thirion
1
2.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
GitHub's CSS Performance
jonrohan
1032
470k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
89
A Soul's Torment
seathinner
1
2k
How to train your dragon (web standard)
notwaldorf
97
6.4k
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 テスト設計 テスト実装 テスト実行