狠狠撸

狠狠撸Share a Scribd company logo
JSTQB TA テスト技法の紹介
WACATE 2018 冬
2018/12/15-16 WACATE 2018 Winter
1
自己紹介
? 氏名:なかむら こうじ
? あなたとテストの関わり:
– テストを考えながら要件定義をしています。
? テストに関する資格:
– JSTQB AL TM/TA, JCSQE 中級
? 派閥
– 猫派
2018/12/15-16 WACATE 2018 Winter
2
JSTQBとは
2018/12/15-16 WACATE 2018 Winter
3
JSTQBの概要
? JSTQBとは、日本におけるソフトウェアテスト技術
者資格認定の運営組織で、 各国のテスト技術者認定
組織が参加しているISTQB(International
Software Testing Qualifications Board)の加盟組
織として2005年4月に認定されています。
? ISTQBの加盟組織の各国団体は資格および教育?訓
練組織認証について相互認証を行っています。つま
り、JSTQBが運営するソフトウェアテスト技術者資
格は海外でも有効な資格となっています。
2018/12/15-16 WACATE 2018 Winter
4
http://jstqb.jp/committee.html
JSTQB Advanced Level(TA)試験 実施データ
受験者数 合格者数 合格率
第1回ALTA試験
(2016/2/13)
351名 43名 12.25%
第2回ALTA試験
(2017/2/11)
269名 17名 6.32%
第3回ALTA試験
(2018/2/10)
283名 64名 22.61%
計 903名 124名 -
2018/12/15-16 WACATE 2018 Winter
5
http://jstqb.jp/attribute.html
ねらい
? シラバス???文字ばかり
? まずは雰囲気をつかもう。
2018/12/15-16 WACATE 2018 Winter
6
テスト技法
JSTQB-Syllabus.Advanced_TA_Version2012.J01
2018/12/15-16 WACATE 2018 Winter
7
JSTQB-AL-TAで紹介されているテスト技法
ベース 技法
仕様ベース 同値分割
境界値分析
デシジョンテーブル
原因結果グラフ
状態遷移テスト
組み合わせテスト技法
ユースケーステスト
ユーザーストーリーテスト
ドメイン分析
2018/12/15-16 WACATE 2018 Winter
8
ベース 技法
欠陥ベース 欠陥ベースの技法
経験ベース エラー推測
チェックリストベースド
探索的テスト
JSTQB-Syllabus.Advanced_TA_Version2012.J01.pdf
JSTQB-FLで紹介されているテスト技法
ベース 技法 JSTQB-
SyllabusFoundation_Version2011.J02.pdf
仕様ベース 同値分割 4.3.1. 同値分割法
境界値分析 4.3.2. 境界値分析
デシジョンテーブル 4.3.3. デシジョンテーブルテスト
原因結果グラフ
状態遷移テスト 4.3.4. 状態遷移テスト
組み合わせテスト技法
ユースケーステスト 4.3.5. ユースケーステスト
ユーザーストーリーテスト 3.3 アジャイルプロジェクトの技法 ※
ドメイン分析
2018/12/15-16 WACATE 2018 Winter
9
※JSTQB-SyllabusFoundation-AgileExt_Version2014.J01.pdf
JSTQB-FLで紹介されているテスト技法
2018/12/15-16 WACATE 2018 Winter
10
ベース 技法 JSTQB-
SyllabusFoundation_Version2011.J02.pdf
欠陥ベース 欠陥ベースの技法
経験ベース エラー推測 4.5. 経験ベースのテスト技法
チェックリストベースド
探索的テスト 4.5. 経験ベースのテスト技法
本セッションで紹介する技法
? FLシラバスでは紹介されていない以下の5つ
– 原因結果グラフ
– 組み合わせテスト技法
– ドメイン分析
– 欠陥ベースのテスト
– チェックリストベースド
2018/12/15-16 WACATE 2018 Winter
11
原因結果グラフ
2018/12/15-16 WACATE 2018 Winter
12
原因結果グラフ
? 原因と結果の論理構造(ルール)を視覚的に表す
? デシジョンテーブルに変換してテストする
2018/12/15-16 WACATE 2018 Winter
13
原因 結果ルール
WACATE合宿費 35歳以下 :¥24,000
36歳以上 :¥27,000
※風間裕也様は
BPPご招待のため無料
デシジョンテーブル
変換!
原因結果グラフ
? 結局最後はデシジョンテーブルにするなら
最初からデシジョンテーブルで設計したら?
? 原因結果グラフを使うと???
– AND条件とOR条件が視覚的に識別しやすいです
– 「制約」を使って複雑なロジックを設計しやすいです
2018/12/15-16 WACATE 2018 Winter
14
制約 意味
ONE 唯一つが真
EXCL 高々一つが真
INCL 少なくとも一つが真
REQ Aが真になるためにはBが真であることが必要
MASK Aが真であればBの真偽はわからない
組み合わせテスト技法
2018/12/15-16 WACATE 2018 Winter
15
組み合わせテスト技法
? 必要なカバレッジを満たす組み合わせの
適切なサブセットを識別する手段
? カバレッジ
– 1ワイズカバレッジ(シングルカバレッジ)
– 2ワイズカバレッジ(ペアワイズカバレッジ)
– Nワイズカバレッジ
2018/12/15-16 WACATE 2018 Winter
16
因子 お届け先 お届け日 支払方法
水準 購入者住所 通常配送 クレジット
登録済住所 お急ぎ便 代引き
新規届け先 日付指定 コンビニ
お届け先 お届け日 支払方法
3水準 3水準 3水準
因子?水準が増えると組み合わせは
天文学的に増えていく
組み合わせテスト技法
? 1ワイズカバレッジ(シングルカバレッジ)
– 各水準が1回
でればOK
? 2ワイズカバレッジ(ペアワイズカバレッジ)
– 2因子間の組み合わせを網羅する
? お届け先×お届け日
? お届け日×支払方法
? 支払方法×お届け先
2018/12/15-16 WACATE 2018 Winter
17
# お届け先 お届け日 支払方法
1 購入者住所 通常配送 クレジット
2 登録済住所 お急ぎ便 代引き
3 新規届け先 日付指定 コンビニ
組み合わせテスト技法
? ペアワイズテスト
– 2項目間の全組み合わせを作成
? 直交表
– 2項目間の全組み合わせが同一回数登場(偏りがない!)
? クラシフィケーションツリー
– 視覚的に意図したレベルの組み合わせを作成
2018/12/15-16 WACATE 2018 Winter
18
お届け先 お届け日 支払方法
登録済購入者 新規 お急ぎ通常 日付指定 代引きクレジット コンビニ
#1
#2
#3
#4
ドメイン分析
2018/6/15-16 WACATE 2018 Winter
19
ドメイン
y
ドメイン分析
? ドメインとは全体の中に定義される部分領域
– x≦5かつy<8の場合True ※x,yは0以上の整数
2018/12/15-16 WACATE 2018 Winter
20
0-1 5 6x 0
-1
7
8
y
0-1 5 6
x
0
-1
境界値 境界値
7
8
ON/OFF ON 仕様上に表現される境界値
OFF ONに対して境界の反対側に隣接する境界値
IN/OUT IN ドメインの内側の値
OUT ドメインの外側の値
0 5x y 0 8
x y-1 -16 7
x y0 5~ 0 7~
x y-1 6~ ~ -1~ 8 ~
ドメイン分析
2018/12/15-16 WACATE 2018 Winter
21
条件 #1 #2 #3 #4 #5 #6 #7 #8
0≦x On 0
Off -1
IN - - 1 2 3 4
x≦5 On 5
Off 6
IN - - 1 2 3 4
0≦y On 0
Off -1
IN 6 5 4 3 - -
y<8 On 8
Off 7
IN 6 5 4 3 - -
期待結果 True False True False True False False True
xとyのOnとOffをひとつずつテストする
xがOnまたはOffの場合、
yはINの値をずらして設定
ひとつのケースで確認する境界値はひとつだけ!
欠陥ベースの技法
2018/6/15-16 WACATE 2018 Winter
22
欠陥ベースの技法
? シラバス要約
– 探す欠陥のタイプをテストベースとして使用する
– 欠陥のタイプについて既知の情報から体系的に導き出す
– 欠陥分類法(分類された一覧)からテストを導き出す
? 要するに…
– 「仕様通りか」ではなく「この欠陥がないか」のテスト
– 目的にあったレベルで分類された欠陥のタイプが必要
? 実践するには
– 欠陥の情報を集めて分析し、欠陥のタイプを分類しておく
– 分析の方法としてはODC分析とか特性要因図とか
2018/12/15-16 WACATE 2018 Winter
23
チェックリストベースド
2018/6/15-16 WACATE 2018 Winter
24
チェックリストベースド
? シラバス要約
– 経験を積んだテストアナリストによる
? 高位レベルで汎用化したリスト
? プロダクトに対して検証を行うルール
? 要するに…
– 1言えば10テストできるくらい精通した人たちの手法
– 汎用的でメンテナンスコストがかからない
– 汎用的なので再現性は犠牲になる
2018/12/15-16 WACATE 2018 Winter
25
小演習
演習10分、共有10分
2018/6/15-16 WACATE 2018 Winter
26
クラシフィケーションツリーを使った問題
? 先ほどのクラシフィケーションツリーの例を
少し簡単にしたもので挑戦
? ペアワイズの組み合わせを作ってください
– お届け先×お届け日 の全組み合わせが登場する
– お届け日×支払方法 の全組み合わせが登場する
– 支払方法×お届け先 の全組み合わせが登場する
? 最少何ケースでできるかな?
2018/12/15-16 WACATE 2018 Winter
27
お届け先 お届け日 支払方法
購入者 新規 お急ぎ通常 日付指定 代引きクレジット
クラシフィケーションツリーを使った問題
2018/12/15-16 WACATE 2018 Winter
28
お届け先 お届け日 支払方法
購入者 新規 お急ぎ通常 日付指定 代引きクレジット
クラシフィケーションツリーを使った問題
? 情報共有タイム
– 自分が作った組み合わせは何ケースになった?
– どうやって組み合わせを作った?
2018/12/15-16 WACATE 2018 Winter
29
クラシフィケーションツリーを使った問題
2018/12/15-16 WACATE 2018 Winter
30
お届け先 お届け日 支払方法
購入者 新規 お急ぎ通常 日付指定 代引きクレジット
#1
#2
#3
#4
#5
#6
解答例:6ケース
私の場合、
①まず「お届け先」と「お届け日」の2項目間網羅をつくって
②そこで付けた「お届け日」の●と「支払方法」で2項目間網羅を作り、
③作った2項目間網羅を崩さないように「お届け先」と「支払方法」を2項目間網羅にして、
ペアワイズをつくりました。
おまけ
2018/12/15-16 WACATE 2018 Winter
31
SQuBOKガイドで紹介されている技法
JSTQB-AL-TA技法 SQuBOK Guide V2
同値分割 3.9.2.2 同値分割
境界値分析 3.9.2.3 境界値分析/境界値テスト
デシジョンテーブル 3.9.2.4 デシジョンテーブルによるテスト
原因結果グラフ 3.9.2.5 原因結果グラフによるテスト
状態遷移テスト 3.9.2.6 状態遷移テスト
組み合わせテスト技法 3.9.7 組み合わせの技法
ユースケーステスト
ユーザーストーリーテスト
ドメイン分析
2018/12/15-16 WACATE 2018 Winter
32
JSTQB-AL-TAで紹介されている技法のうち、SQuBOKガイドでも紹介されているもの
SQuBOKガイドで紹介されている技法
2018/12/15-16 WACATE 2018 Winter
33
JSTQB-AL-TA技法 SQuBOK Guide V2
欠陥ベースのテスト
エラー推測 3.9.4.1 エラー推測テスト
チェックリストベースド
探索的テスト 3.9.1.2 探索的テスト
WACATEとテスト設計技法の歴史
2018/12/15-16 WACATE 2018 Winter
34
2010 冬 デシジョンテーブルを使いこなそう!(加瀬正樹)
/softest/wacate2010w
デシジョンテーブル
2012
夏
入門!組合せテスト(井芹洋輝)
/goyoki/ss-34571626
基本用語等の基礎知識
組合せテスト技法はじめの一歩(近江久美子)
/omn/wacate2012s-main-techniquepublic
デシジョンテーブル、
ペアワイズ、直行表
実践!組合せテスト設計(井芹洋輝)
/goyoki/wacate2012s
有則、無則、禁則における組合せ技法の選定
冬
かいてみようCFD(近江久美子)
http://www.slideshare.net/omn/wacate2012w-letsdrawcfdpublic
CFD技法、同値分割、
デシジョンテーブル
2013
夏
分けてみよう悩んでみよう同値分割?境界値分析(近江久美子)
/omn/wacate2013s-technical-sessionpublic
同値分割
境界値分析
冬 状態遷移テスト(朱峰錦司)
http://www.slideshare.net/kjstylepp/wacate2013-29199595
状態遷移テスト
2014 冬 クラシフィケーション?ツリー法入門(井芹洋輝)
http://www.slideshare.net/goyoki/ss-42412647
クラシフィケーション?ツリー法
2015 冬
わりとディープ?同値分割?境界値分析(山口寛子)
/scarletplover/ss-56911349
同値分割、境界値分析、
ドメイン分析
2016
夏
テスト設計技法の説明(越中谷郁美、山口寛子、近江久美子)
http://wacate.jp/2016/summer/テスト設計技法についての説明_20160619版.pdf
同値分割、境界値分析、
デシジョンテーブル、状態遷移、ユースケーステスト
冬
組み合わせテスト(藤原洋平)
/mirer/wacate2016
デシジョンテーブル、
ペアワイズ、直行表
WACATEとテスト設計技法の歴史
2018/12/15-16 WACATE 2018 Winter
35
2017
夏
テスト設計技法の適用 その前に???(中村仰志)
/kauji0522/ss-77037090
同値分割、境界値分析、デシジョンテーブル、
状態遷移テスト、ユースケーステスト、組み合わせテスト技法
冬
ユーザビリティーテストをやってみよう(山口寛子)
/scarletplover/ss-84317973
ユーザビリティーテスト
直交表に触れてみよう(並木正典)
/MasanoriNamiki/wacate2017
直交表
2018 夏
状態遷移テスト(角田俊)
https://speakerdeck.com/imtnd/zhuang-tai-qian-yi-tesuto-state-
transition-testing
状態遷移テスト
ユースケース図&悪魔図(中村仰志)
/kauji0522/ss-102546126
ユースケーステスト、シナリオテスト
原因結果グラフ解説(招待講演:加瀬正樹様)
/softest/wacate2018-102550504
原因結果グラフ、デシジョンテーブル
参考
? JSTQB
– http://jstqb.jp/
? ISTQBテスト技術者資格制度 シラバス日本語版
– Foundation Level シラバス 日本語版 Version 2011.J02
? http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf
– Foundation Level Extension シラバス アジャイルテスト担当者 日本語版 Version
2014.J01
? http://jstqb.jp/dl/JSTQB-SyllabusFoundation-AgileExt_Version2014.J01.pdf
– Advanced Level シラバス 日本語版 テクニカルテストアナリスト Version2012.J02
? http://jstqb.jp/dl/JSTQB-Syllabus.Advanced_TTA_Version2012.J02.pdf
? ソフトウェア品質知識体系ガイド -SQuBOK Guide-(第2版)
? https://www.amazon.co.jp/dp/4274505227
2018/12/15-16 WACATE 2018 Winter
36

More Related Content

Wacate2018 winter jstqb-al-ta