SlideShare a Scribd company logo
1 of 19
”知って得する!?現場で使えるテスト技法”
2017/04/28 勉強会
トラッシュブリーフィング合同会社
name: あーりん
1
1. 単体テストでの失敗談(テーマ設定の動機)
2. 今回の参考書籍の紹介
3. テスト工程とは?
4. テスト技法の紹介
5. まとめ
2
目次
現場で言われた”ある言葉”がきっかけ。
今後エンジニア人生で忘れる事はないだろう。
3
1. 単体テストでの失敗談(動機)
詳細設計を作成した機能の単体テスト仕様書。
“製造はしてないけど、でもサンプル通りに作成
したから。大丈夫でしょう!”(レビューへ…)
4
1. 単体テストでの失敗談(動機)
結果…。言われた一言。
“あなたプログラマーなんですか!?(怒)”
5
1. 単体テストでの失敗談(動機)
・この一冊でよくわかるソフトウェアテストの教科書 (SBcreative)
・経験ゼロでもできるプログラミング現場の単体テスト(翔泳社)
6
2. 今回の参考書籍の紹介
・quiita 「経験ゼロでもできるプログラミング現場の単体テスト」
http://qiita.com/disc99/items/177bdf6352de463fdc87#テストの種類と目的
・今回紹介するテスト技法は主に、単体・結合テスト
レベルで活用。
7
3. テスト工程って?(分類)
※今回は参考書籍に則り、「技法」として紹介していますが、
テスト手法と書かれている参考書もあるみたいです。
「あ!これ聴いた事ある!」← ニュアンス!!
次に紹介する2つのテスト技法は代表的なもの!
8
4. テスト技法の紹介
① ホワイトボックステスト(中身を理解・意識)
・ソースコード中の文、分岐、条件などを網羅的に実
行してバグを見つけるテスト。
・仕様を網羅出来ているか、プログラムが想定の場合
に適切な所を通過するか。(網羅率。カバレッジ)
9
4. テスト技法の紹介
例:あーりんは反抗期プログラム
【仕様】
♡ 画面項目:食べ物TextBox / 個数TextBox / 送信Button
♡ あーりんに食べさせたい食べ物を入力。
食べ物を何個食べさせたいかを入力。送信ボタン押下。
http://qiita.com/u-minor/items/35889e80fb5075d56903
10
4. テスト技法の紹介
ホワイトボックステストのメリット
・モジュール内部の処理(命令文)単位で動作確認が
行える点。
・検出された欠陥は原因箇所がモジュール内で限定さ
れるため、そのモジュールを調査・変更で修正可能。
11
4. テスト技法の紹介
【補足】カバレッジの指標(レベル)
・Qiita カバレッジの種類について
http://qiita.com/k_moto/items/812e72ec4a2b9b8be617
※ どの基準を採用するかは、テストに投入できる工
数やテスト対象モジュールの重要度を考慮して決定。
12
4. テスト技法の紹介
② ブラックボックステスト(結果をみる!)
・ある入力に対し、仕様通りの正しい結果が戻される
かどうかを確認するテスト。
・内部処理は考えず、入力とそれに対する結果(戻り
値)を照らし合わせてテストの合否を判定。
13
4. テスト技法の紹介
【同値クラステスト】
・同じ動作をする条件の集まり= “同値クラス”ごとに
テストを行う技法。(同値クラス内は同じ処理)
・有効同値クラス(プログラムが期待する入力値)
⇄
無効同値クラス(プログラムが期待しない ″ )
14
4. テスト技法の紹介
例:ログインフォーム
【仕様】
・画面項目:パスワード入力TextBox / ログインButton
・パスワードは4~15文字(4文字以上、15文字以内)
・有効パスワードの場合、ログイン出来る。
<有効同値クラス> 4~15文字の同値クラス
<無効同値クラス> 0~3文字、16文字以上の無効同値クラス
15
4. テスト技法の紹介
【境界値クラステスト】
・仕様条件の境界となる値とその隣の値に対してテス
トを行うテスト手法。
ログインフォームを例に…
仕様:パスワードの文字数が4文字以上、15文字以下
境界値 → ”4”と”15”
16
4. テスト技法の紹介
【デシジョンテーブルテスト】(難しい…)
・複数の条件によって決定されるソフトウェアの動作
を一覧するための表。複数の条件に着目。
例:ジェットコースターの乗車制限
・身長130センチ以上 Y
・持病に心臓疾患がない Y
・年齢8歳以上 Y 17
4. テスト技法の紹介
・テスト技法 = “効率よくテストを設計(デザイン)
するための手法やテクニック”
・テストも設計次第でシンプルかつ効率的に。
・テストもなかなか奥が深い。(終わり)
18
5.まとめ
19
終わり

More Related Content

What's hot

JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-崇 山﨑
 
テストエンジニアのおっさんの日常です
テストエンジニアのおっさんの日常ですテストエンジニアのおっさんの日常です
テストエンジニアのおっさんの日常ですryuji koyama
 
[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの
[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの
[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するのKazukiNishizono1
 
テスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループテスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループTomoaki Fukura
 
Myweekdays and testing
Myweekdays and testingMyweekdays and testing
Myweekdays and testingryuji koyama
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
ソフトウェアテストを助ける発想支援ツール
ソフトウェアテストを助ける発想支援ツールソフトウェアテストを助ける発想支援ツール
ソフトウェアテストを助ける発想支援ツールAkira Ikeda
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkankyon mm
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプラインkyon mm
 
テスト分析のまとめと技法の決定 グループ
テスト分析のまとめと技法の決定 グループテスト分析のまとめと技法の決定 グループ
テスト分析のまとめと技法の決定 グループTomoaki Fukura
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門H Iseri
 
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門tadaaki hayashi
 
ユーザテスト社内勉強会
ユーザテスト社内勉強会ユーザテスト社内勉強会
ユーザテスト社内勉強会Ue day
 
テスト分析 個人
テスト分析 個人テスト分析 個人
テスト分析 個人Tomoaki Fukura
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hacktkyon mm
 
ソフトウェアテストことはじめ
ソフトウェアテストことはじめソフトウェアテストことはじめ
ソフトウェアテストことはじめKosuke Fujisawa
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介Shinsuke Matsuki
 

What's hot (17)

JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
 
テストエンジニアのおっさんの日常です
テストエンジニアのおっさんの日常ですテストエンジニアのおっさんの日常です
テストエンジニアのおっさんの日常です
 
[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの
[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの
[JaSST nano] テストケースを作ってもらうときに気を付けていたことをお話するの
 
テスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループテスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループ
 
Myweekdays and testing
Myweekdays and testingMyweekdays and testing
Myweekdays and testing
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
ソフトウェアテストを助ける発想支援ツール
ソフトウェアテストを助ける発想支援ツールソフトウェアテストを助ける発想支援ツール
ソフトウェアテストを助ける発想支援ツール
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkan
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
テスト分析のまとめと技法の決定 グループ
テスト分析のまとめと技法の決定 グループテスト分析のまとめと技法の決定 グループ
テスト分析のまとめと技法の決定 グループ
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門
 
ユーザテスト社内勉強会
ユーザテスト社内勉強会ユーザテスト社内勉強会
ユーザテスト社内勉強会
 
テスト分析 個人
テスト分析 個人テスト分析 個人
テスト分析 個人
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
ソフトウェアテストことはじめ
ソフトウェアテストことはじめソフトウェアテストことはじめ
ソフトウェアテストことはじめ
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 

Similar to 知って得する!?現場で使えるテスト技法

GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
ソフトウェア・テスト入門7
ソフトウェア・テスト入門7ソフトウェア・テスト入門7
ソフトウェア・テスト入門7Kenta Hattori
 
マインドマップを使った 仕様分析&テスト設計
マインドマップを使った 仕様分析&テスト設計マインドマップを使った 仕様分析&テスト設計
マインドマップを使った 仕様分析&テスト設計Akira Ikeda
 
TDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストYasuhiko Yamamoto
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料Hiroko Tamagawa
 
ゲーム開発環境の自動化
ゲーム開発環境の自動化ゲーム開発環境の自動化
ゲーム開発環境の自動化Masahiko Nakamura
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りkyon mm
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門iKenji
 
ユーザーストーリーワークショップ
ユーザーストーリーワークショップユーザーストーリーワークショップ
ユーザーストーリーワークショップYou&I
 
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方Cake YOSHIDA
 
グループディスカッションの巻
グループディスカッションの巻グループディスカッションの巻
グループディスカッションの巻Takashi Abe
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり kyon mm
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオンkyon mm
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法Tatsuya Saito
 
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」Touyou Horikawa
 
ジャベリンボード:じょいとも事業開発ツール講座01
ジャベリンボード:じょいとも事業開発ツール講座01ジャベリンボード:じょいとも事業開発ツール講座01
ジャベリンボード:じょいとも事業開発ツール講座01じょいとも
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるToshiyuki Hirata
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 

Similar to 知って得する!?現場で使えるテスト技法 (20)

GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
ソフトウェア・テスト入門7
ソフトウェア・テスト入門7ソフトウェア・テスト入門7
ソフトウェア・テスト入門7
 
マインドマップを使った 仕様分析&テスト設計
マインドマップを使った 仕様分析&テスト設計マインドマップを使った 仕様分析&テスト設計
マインドマップを使った 仕様分析&テスト設計
 
TDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファースト
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
ゲーム開発環境の自動化
ゲーム開発環境の自動化ゲーム開発環境の自動化
ゲーム開発環境の自動化
 
Software testing
Software testingSoftware testing
Software testing
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
ユーザーストーリーワークショップ
ユーザーストーリーワークショップユーザーストーリーワークショップ
ユーザーストーリーワークショップ
 
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
 
グループディスカッションの巻
グループディスカッションの巻グループディスカッションの巻
グループディスカッションの巻
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
 
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
 
ジャベリンボード:じょいとも事業開発ツール講座01
ジャベリンボード:じょいとも事業開発ツール講座01ジャベリンボード:じょいとも事業開発ツール講座01
ジャベリンボード:じょいとも事業開発ツール講座01
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
 
QA improvement
QA improvementQA improvement
QA improvement
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 

知って得する!?現場で使えるテスト技法