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
ソフトウェアテスト第2章
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nikawa2161
September 16, 2024
4.9k
2
Share
ソフトウェアテスト第2章
nikawa2161
September 16, 2024
More Decks by nikawa2161
See All by nikawa2161
Node.js Subpath imports
nikawa2161
0
15
Sagaパターン入門(続編)
nikawa2161
0
28
Sagaパターン入門
nikawa2161
0
35
沖縄観光とPostgreSQL排他制約の話
nikawa2161
0
33
20251209_プログラミング原則の学び
nikawa2161
0
22
自分のコードを数年ぶりに読んだら
nikawa2161
0
16
ユーザーインタビュー分析に参加して得られたことと気づき
nikawa2161
0
22
oEmbedとは?
nikawa2161
0
73
はじめまして、にかわです
nikawa2161
0
18
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Code Reviewing Like a Champion
maltzj
528
40k
Between Models and Reality
mayunak
4
310
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
How STYLIGHT went responsive
nonsquared
100
6.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Transcript
知識ゼロから学ぶ ソフトウェアテスト 第2章 created by: Ô @nikawa2161 | @nikawa2161 |
✉
[email protected]
This is t-wada
Table of contents ⏪ どんなテスト⼿法が有効か ⏪ プログラムの振る舞いをテストする 制御パステスト法 ⏪ ステートメントカバレッジ
⏪ ブランチカバレッジ
よろしくお願いします
どんなテスト⼿法が有効か
ホワイトボックス 論理構造が正しいかを解析するテスト →プログラムの中にある if ⽂やループの部分がきちんと動作してい るか ブラックボックス 外部から⾒た動作や機能に焦点を当てたテスト →フォームに正しい⼊⼒を⾏った際に、期待した結果が得られるか
ホワイトボックス 論理構造が正しいかを解析するテスト →プログラムの中にある if ⽂やループの部分がきちんと動作してい るか ブラックボックス 外部から⾒た動作や機能に焦点を当てたテスト →フォームに正しい⼊⼒を⾏った際に、期待した結果が得られるか
ホワイトボックステストは 何⼗年にもわたって研究され、ソフトウェアの品質が改善されると証明されている
どのテスト⼿法を適⽤すべきなのか
テストは最⼤公約数的な作業 限られた時間で ·プログラミングは、⼀部の機能を削除することで帳尻を合わせられる ·テストは、ある機能をテストせずに出荷することはできない テストを始める前にテスト⼿法は吟味する必要がある
プログラムの振る舞いを テストする
制御パステスト プログラムがどのような振る舞いをして、どのように制御、実⾏されるかをテスト テスト⼿法の中でも基礎的かつ必須のテスト 網羅率の値を取るために利⽤される
事例 ファイナルファンタジー 以下の条件が重なった時にバグになった 「トラビア渓⾕」をクリア 1. 1の後に「セントラ遺跡」での制限付きイベントに臨む 2. 戦闘中に制限時間に達し、 「やめる·ゲームオーバー」を選ばない 3.
フローチャートにすると複雑ではない 制御パステストの本質は、このようなフローチャートをカバーする ことにある
ステートメントカバレッジ 制御パステスト
ステートメントカバレッジ 命令⽂を少なくとも⼀回は実⾏するテスト ①②のステートメント(命令⽂)を対処する if (const1 == 0) { x =
x + 1; //① } if (const2 > 1) { x = x * 1; //② }
ňテスト結果 bのテストができている cのテストができている dのテストができている eのテストができている コード内でconst2 > 0と記述した場合に、バグを⾒つけられない
⾮常に弱いテスト 分岐条件などのカバーできない部分をどうするか
ブランチカバレッジ 制御パステスト
ブランチカバレッジテスト 分岐コードに対してそれぞれの判定条件が True,Flaseの結果を少なくとも⼀回ずつ持つようにする
const1 = 0 と const2 = 2 const1 = 1
と const2 = 1 ňテスト結果 bのテストができている cのテストができている dのテストができている eのテストができている
ブランチカバレッジは網羅という意味では、ステートメントカバレッジより強い テストケースが増えるのが難点 ただ、ステートメントカバレッジだけでテスト終了することは⾮常に危険 バグの多くは、分岐点や例外処理にある
次回
カバレッジ基準
⽬黒エクスタシー