Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソフトウェアテスト #TechLunch
Search
Livesense Inc.
PRO
April 23, 2014
Technology
0
53
ソフトウェアテスト #TechLunch
2012/03/07(水) @ Livesense TechLunch
発表者:塩足 拓也
Livesense Inc.
PRO
April 23, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_総合職採用_会社説明資料
livesense
PRO
0
1.5k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
5.2k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
130
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.6k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
510
26新卒_総合職採用_会社説明資料
livesense
PRO
0
12k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
47k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
280
Other Decks in Technology
See All in Technology
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
210
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
540
シニアソフトウェアエンジニアになるためには
kworkdev
PRO
3
180
初めてのDatabricks AI/BI Genie
taka_aki
0
200
IAMユーザーゼロの運用は果たして可能なのか
yama3133
2
490
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
280
AI駆動開発の実践とその未来
eltociear
1
210
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
160
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
130
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
380
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
140
ChatGPTで論⽂は読めるのか
spatial_ai_network
11
29k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
RailsConf 2023
tenderlove
30
1.3k
Code Review Best Practice
trishagee
74
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Building Applications with DynamoDB
mza
96
6.8k
Transcript
ソフトウェアテスト Takuya Shiotari 2012/3/7
目的 テストの基本的な手法について身につける
テストとは ×エラーがないことを示して行く過程 ×プログラムが意図された機能通りに正しく動作す ることを示すこと ×プログラムが思い通りに動くことの確信を作って 行く過程 エラーを見つけるつもりでプログラムを実 行する過程 定義
自己診断テスト 以下の仕様を満すテストケースを示しなさい。 入力ダイアログから3つの整数を読む。 この3つの値は、それぞれ三角形の3辺の長さをあ らわすものとする。 プログラムは、三角形が不等辺三角形、二等辺三 角形、正三角形のうちのどれであるかを示すメッ セージを表示する。
回答 1. 意味のある不等辺三角形を表すテストケースを持っているか。 2. 意味のある正三角形を表すテストケースを持っているか。 3. 意味のある二等辺三角形を表すテストケースを持っているか。 4. 意味のある二等辺三角形の場合に、2つの等辺を含む3種類の組合せすべてを試すことのできる少な くとも3つのテストケース
5. 1つの辺がゼロの値をもつテストケースを持っているか。 6. 1つのへんが負の値を示すテストケースを持っているか。 7. ゼロより大きい3つの整数をもち、そのうちの2つの和がそれ以外の1つと等しいようなテストケースを 持っているか。 8. 7.において、1辺の長さが他の2辺の長さの和に等しいことを少なくとも3種類の順列のすべてに対して ためすことのできるテストケースをもっているか。 9. ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなるテストケースを 持っているか。 10. 9.において、少なくとも3種類の順列全てを考慮することのできるテストケースを持っているか。 11. すべての辺が0であるテストケースを持っているか。 12. 整数でない値をもつテストケースを少なくとも1つは持っているか。 13. 数値の個数が間違っていることをためすテストケースを少なくとも1つは持っているか。 14. それぞれのテストケースについて、入力の値に対して予想される出力を示したか。
自己診断テストの目的 • プログラム自体は簡単 • ただ、テストの難しさはそれに関係ない
テスト技法の目的 全ての入力パターンを試すわけにはいかない • 三角形の例 コンピュータがとりうる全ての数の組み合わせは天文 学的数字 非現実的 省略しましょう!
テスト技法の目的 テストを省略するとバグが出てしまう バグが出そうなところだけをもれなくテストする 効果的なテストケースを設計
設計手法の分類 ブラックボックス 同値分割 限界値分析 ホワイトボックス 命令網羅 条件判定網羅 条件網羅
ホワイトボックステスト • 命令網羅 ◦ 全ての命令を実行 • 条件判定網羅 ◦ 全ての分岐を実行 •
条件網羅 ◦ 複数条件で起こりうる真・偽の組合わせ経路を実行 プログラムの内部構造や論理を調査して、エ ラーを見つけること
ブラックボックステスト プログラムの内部構造と動作に関知せずにエ ラーを見つけること • 同値分割 ◦ 入力値を意味のあるグループに分けて、それぞれの代 表値でテスト • 限界値分析
◦ 入力値を意味のあるグループに分けて、それぞれの境 界値でテスト
None
ソフトウェア・テストの原則 1. テストケースの必須条件は、予想される出力または結果を定義しておくことである 2. プログラマは自分自身のプログラムをテストしてはならない 3. プログラム開発グループは、自分たちのプログラムをテストしてはいけない 4. それぞれのテストの結果を完全に検査せよ 5.
テストケースは、予想できる正しい入力条件ばかりでなく、予想しない誤った場合も考 えて書かなければならない 6. プログラムを調べるのに、それが意図されたようにうごくかどうかをみただけでは、なか ば成功したにすぎない。残りの半分は、意図されなかった動きをするかどうかを調べる ことである 7. プログラマが本当に使い捨てのものでない限り、そのテストケースも使い捨てにしては ならない 8. エラーは見つからないだろうという仮定のもとにテストの計画を立ててはいけない 9. プログラムのある部分でエラーがまだ存在している確率は、すでにその部分で見つ かったエラーの数に比例する 10. テストとは、非常に創造的であり、知的に挑戦しがいのある仕事である
人間によるテスト技法 • チェックリストによるコード検査 • グループのウォークスルー • 机上チェック • 仲間内の検討
テスト手法 ホワイトボックス・テスト ブラックボックス・テスト
ホワイトボックス・テスト プログラムの内部構造や論理を調査して、エ ラーを見つけること • プログラムが仕様と一致することを保証できない • 必要な経路が抜けていることを発見できない • データに依存するエラーは発見できない 全エラーを見つける
徹底的な経路テスト 不可能
ブラックボックス・テスト プログラムの内部構造と動作に関知せずにエ ラーを見つけること • プログラムに全くエラーがないことを保証することはでき ない • プログラム・テストの基本的な考え方には、経済学的な 見方が必要 全エラーを見つける
徹底的な入力テスト 不可能