SlideShare a Scribd company logo
1 of 40
Download to read offline
探索的テスト入門	
2013/11/10 	
  テスト技術勉強会	
  
井芹 洋輝	
1
この講演について	
•  この講義は探索的テストの基礎知識の学習を目
的としています	
  
•  自己紹介	
  
– 井芹洋輝	
  
•  組み込みの開発・テストに従事	
  
•  テスト自動化研究会、TDD研究会などに従事	
  
2
目次	
•  1.	
  探索的テストの概要	
  
–  探索的テストとは	
  
–  探索的テストの定義	
  
–  探索的テストの歴史的経
緯	
  
–  探索的テストの適用領域	
  
–  探索的テストの位置づけ
についての注意点	
–  探索的テストのメリット・デ
メリット	
–  探索的テストの主な用途	
  
•  2.	
  探索的テストの基礎	
–  探索的テストの入出力	
–  探索的テストの実施者に
求められるもの	
–  探索的テストのスタイル	
–  探索的テストの進め方	
•  フリースタイルの探索的テ
スト	
•  テストチャータを用いる探
索的テスト	
•  テストチャータの例	
  
•  セッションベースドテスト	
–  探索的テストの自動化	
  
•  3.探索的テストの実践	
3
1.	
  探索的テストの概要	
4
1.1	
  探索的テストとは(概要)	
•  ソフトウェアテストのアプローチの一つ	
  
•  以下のアプローチを効率的に行う	
  
– テスト手順のスクリプト化を行わない	
  
– テスト実施者が主体となり、	
  
•  実施者の知見や思考	
  
•  事前の分析情報	
  
•  動かして得たフィードバック	
  
 を元に、テスト実施とテストの構築を並行実施する	
  
5
1.1	
  探索的テストとは(2つのパラダイム)	
6	
●探索的テスト	
  
	
  
・テスト手順のドキュメ
ント化を行わない	
  
	
  
	
  
・事前分析情報、実施
者の能力、動かして得
られたフィードバックな
どを活用して、テストの
構築と実施を並行的に
行う	
●スクリプトテスト	
  
	
  
・テスト設計を行い、事
前にテスト手順をドキュ
メント化する	
  
	
  
・テスト手順にしたがっ
てテストを実施する	
テスト手順の管理	
  
テスト実施	
  
1.2	
  探索的テストの定義	
•  標準的な定義確立の動きはあるが収束していな
い	
  
– “Exploratory	
  Tes9ng	
  Research	
  Summitなどで議論した
が収束しなかった”(Cem	
  Kaner)	
  
•  hFp://kaner.com/?p=46	
  
•  ただしおおまかに共通定義が形成されている	
  
7
1.2	
  探索的テストの定義(James	
  Bach)	
•  「Exploratory	
  tes9ng	
  is	
  simultaneous	
  learning,	
  test	
  
design,	
  and	
  test	
  execu9on.	
  」	
  
(探索的テストは、学習、テスト設計、テスト実行を
並行して実施するものだ)	
  
– James	
  Bach,	
  Exploratory	
  Tes9ng	
  Explained(v.1.3	
  
4/16/03)	
  
•  探索的テストの定義として引用されていることが
多い	
8
1.2	
  探索的テストの定義(Cem	
  Kaner)	
•  Exploratory	
  soRware	
  tes9ng	
  
–  is	
  a	
  style	
  of	
  soRware	
  tes9ng	
  
–  that	
  emphasizes	
  the	
  personal	
  freedom	
  and	
  responsibility	
  
–  of	
  the	
  individual	
  tester	
  
–  to	
  con9nually	
  op9mize	
  the	
  value	
  of	
  her	
  work	
  
–  by	
  trea9ng	
  	
  
•  test-­‐related	
  learning,	
  	
  
•  test	
  design,	
  	
  
•  test	
  execu9on,	
  and	
  
•  test	
  result	
  interpreta9on	
  
–  as	
  mutually	
  suppor9ve	
  ac9vi9es	
  
–  that	
  run	
  in	
  parallel	
  throughout	
  the	
  project.	
  
	
   	
  (Cem	
  Kaner,	
  A	
  Tutorial	
  in	
  Exploratory	
  Tes9ng)	
  
•  こちらも探索的テストの定義として引用されることが多い	
9
1.2	
  探索的テストの定義(Cem	
  Kaner)	
•  Exploratory	
  soRware	
  tes9ng	
  
–  is	
  a	
  style	
  of	
  soRware	
  tes9ng	
  
–  that	
  emphasizes	
  the	
  personal	
  freedom	
  and	
  responsibility	
  
–  of	
  the	
  individual	
  tester	
  
–  to	
  con9nually	
  op9mize	
  the	
  value	
  of	
  her	
  work	
  
–  by	
  trea9ng	
  	
  
•  test-­‐related	
  learning,	
  	
  
•  test	
  design,	
  	
  
•  test	
  execu9on,	
  and	
  
•  test	
  result	
  interpreta9on	
  
–  as	
  mutually	
  suppor9ve	
  ac9vi9es	
  
–  that	
  run	
  in	
  parallel	
  throughout	
  the	
  project.	
  
	
   	
  (Cem	
  Kaner,	
  A	
  Tutorial	
  in	
  Exploratory	
  Tes9ng)	
  
•  こちらも探索的テストの定義として引用されることが多い	
10	
●ソフトウェアテストのスタイル	
  
●テスター一人一人の自由意思
と責務に基づく	
  
●各々の価値に合わせて洗練さ
せていく	
  
●テスト関係の学習、テスト設計、
テスト実施、テスト結果の説明を
扱う	
  
●プロジェクトを通して並行実施さ
れる補完的な活動
1.3	
  探索的テストの歴史的経緯	
•  ソフトウェア開発初期	
  
–  探索的テストは一般的なテストアプローチ。ソフトウェア開発が始まっ
た初期から実施されてきた	
  
•  1980年代〜	
  
–  手順書に依存せずに分析やフィードバックを活用するアプローチとし
て、探索的テストという名前で概念を明確化する	
  
•  1983年にCem	
  Kanerが命名	
  
–  それまで探索的なアプローチとアドホックテストは区別されておらず。
知的なアプローチ(=探索的テスト)とそれ以外のアプローチを区別
するため、探索的テストという考え方を確立した	
  
•  1990年代後半〜	
  
–  専門の文献が整備され、テスト手法の一分野として確立する	
  
•  Ex)「Exploratory	
  SoRware	
  Tes9ng:	
  Tips,	
  Tricks,	
  Tours,	
  and	
  Techniques	
  to	
  
Guide	
  Test	
  Design」	
  
•  「How	
  to	
  Break	
  SoRware:	
  A	
  Prac9cal	
  Guide	
  to	
  Tes9ng」	
  
–  (いずれもJames	
  A.	
  WhiFaker)	
  
11
1.4	
  探索的テストの適用領域	
12	
• テスト設計・実装・実施が主な対象	
テストプロセス	
• どのテストレベルでも活用できる	
• システムテストなど上位のテストレベル
で主に活用される	
テストレベル	
• 多くのテストタイプで活用できる	
• ブラックボックステストで主に活用され
る。ただしそれ以外で活用できないわ
けではない	
テストタイプ
1.5	
  探索的テストの位置づけについての注意点	
•  アドホックテスト≠探索的テスト	
  
– 探索的テストの歴史的経緯の通り、	
  
知的でないアドホックテストは探索的テストではない 	
  
•  課題となるのは「探索的テストの生産性をどう高
めるか?」	
  
– 探索的テストの効果はやり方によって大きく変動する	
  
– 暗黙的・非明示的なものも含めて、探索的テストはす
でに多くの現場で実践されている	
  
– 多くの場面で課題となるのが、探索的テストの効果を
どう活かしていくか?/生産性をどう高めていくか?	
  
13
1.6	
  探索的テストのメリット・デメリット	
  
 スクリプトテストに対するメリット	
•  軽快	
  
–  テスト設計・実装コストを削減	
  
–  必要なところをピンポイントでテスト	
  
•  柔軟性が高い	
  
–  テスト手順の変更コストを削減	
  
–  実物に合わせながらテストを構築できる	
  
–  人間の知能を使って次のようなものにも柔軟に対応できる	
  
•  仕様やテスト設計の穴	
  
•  明文化しにくい操作や動作	
  
•  人間の能力を活用しやすい	
  
–  暗黙知や明文化しにくいノウハウを活用できる	
  
14	
欠陥検出での
高い生産性	
テストの保守コ
スト削減	
検出困難な欠
陥検出の実現
1.7	
  探索的テストのメリット・デメリット	
  
 スクリプトテストに対するデメリット	
•  属人性が高い	
  
–  人によって効果が変動する	
  
•  能力のない人間が担当するとアドホックテストと変わらなくなる	
  
•  テスト設計の品質がわかりにくい	
  
–  漏れ・だぶり・網羅率がわかりにくい	
  
–  テストの品質を保証しにくい	
  
•  記録が残りにくい	
  
–  テストのエビデンスや監査証跡の記録を保証しにくい	
  
–  テストの再現性を保証しにくい	
  
•  テスト設計段階でのバグの予防効果が低い場合がある 	
  
–  テスト分析・設計による問題検出効果が属人的	
15
1.8	
  探索的テストの主な用途	
•  他のテスト手法の補完	
  
– 最も多い用途	
  
– Ex)スクリプトテストの補完	
  
– Ex)テスト終了後の追加テスト	
  
•  テスト漏れの確認。不具合ではないが怪しい現象の調査	
  
•  軽快さの確保	
  
– Ex)スモークテストとしての実施	
  
•  長大なスクリプトテストの直前に実施。手戻りを防ぐ	
  
•  テストの保守コストの削減	
  
– Ex)反復開発でのイテレーションごとのテストとして実
施	
  
16
1.8	
  探索的テストの主な用途	
  
(スクリプトテストの補完)	
•  一般的に探索的テストとスクリプトテストは相互補完
の形で活用される	
  
•  テストケースの網羅度の補完	
  
–  詳細なスクリプトテストは高コスト	
  
•  テスト設計・実装コスト・変更対応コスト・保守コスト	
  
•  テストの効果がテストのコストに見合わなくなることがある	
  
–  保証のためのテストをスクリプトテストで構築しつつ、詳細
な欠陥検出のテストは探索的テストで補完する	
  
•  変化への対応	
  
–  スクリプトテストは変更コストが高い	
  
–  テストの変動部分は探索的テストで担保することで変更コ
ストを削減する	
  
17
2.	
  探索的テストの基礎	
18
2.1	
  探索的テストの入出力	
19	
探索的	
  
テスト	
●動かして得た
フィードバック	
  
Ex)怪しい動作	
  
	
  
●実施者の能力
や知見	
  
Ex)テスト技術、バグ
や品質リスクに対す
る考察力	
  
	
  
●事前分析結果	
  
Ex)対象の品質リスク、
機能構成、品質の偏
在度、テストチャータ	
  
インプット	
●不具合関連の
情報	
  
	
  
●テストログ	
  
	
  
●気づきや学習効
果	
  
アウトプット
2.2	
  探索的テストの実施者に求められるもの	
•  製品知識 	
  
– Ex)対象の構成がわかる/対象の弱点がわかる	
•  テスト技術 	
  
– Ex)テスト要求に応じて必要なテストのアプローチやテ
ストケースを柔軟に組み立てられる/各種テスト技術を
扱える	
•  バグの知識	
  
– 欠陥のBad	
  Smellを感覚的に感じ取れる/欠陥の特徴
を理解している/欠陥の傾向を柔軟に学習できる 	
20
2.3	
  探索的テストのスタイル	
  
(今回扱うもの)	
•  フリースタイルの探索的テスト	
  
•  テストチャータを用いる探索的テスト	
  
– Ex)シナリオベースドテスト	
  
•  セッションベースドテスト	
  
21	
管理の厳格さ
2.4	
  探索的テストの進め方	
•  手順 	
– 準備 	
•  計画・学習	
  
–  必要な能力・情報を特定し確保する 	
  
–  テスト目的やミッションを明確化する 	
  
•  設計	
  
–  テストチャータを確保する 	
– 実施 	
•  実施・学習・舵取り 	
– 報告 	
•  テスト実施結果を報告する	
  
•  テストの十分性を評価する	
  
22	
※探索的テストは様々な進め方がある。あくまで一例
2.5	
  探索的テストの進め方	
•  手順 	
– 準備 	
•  計画・学習	
  
–  必要な能力・情報を特定し確保する 	
  
–  テスト目的やミッションを明確化する 	
  
•  設計	
  
–  テストチャータを確保する 	
– 実施 	
•  実施・学習・舵取り 	
– 報告 	
•  テスト実施結果を報告する	
  
•  テストの十分性を評価する	
  
	
 23	
フリースタイルの探索的テスト	
・テストチャータを	
  
用いる探索的テスト	
  
・セッションベースドテスト	
  
※探索的テストは様々な進め方がある。あくまで一例
2.5.1	
  フリースタイルの探索的テスト	
•  フリースタイルの探索的テスト	
  
–  テスト実施者の責任に基づいて、自由意思により探索的
テストを実施する	
  
–  ソフトウェア開発では珍しくない。Bad	
  Smellや不安の調査、
デバッグなどを知的に行おうとすると、しばしばこのスタイ
ルとなる	
  
–  実施時の基本サイクル	
  
1.  実施	
  
–  テストを実施する	
  
2.  学習	
  
–  テスト結果から知見を得る	
  
3.  舵取り(Steering)	
  
–  学習結果も加味してテストの方向性を補正する	
  
24	
反復する
2.5.1	
  フリースタイルの探索的テスト	
•  フリースタイルの探索的テストの手順の例	
  
– 仮説検証型	
  
1.  システムについて仮説(メンタルモデル)を作る	
  
2.  仮説を反証するようなテストを設計する	
  
3.  テストを実行し結果を得る	
  
4.  仮説に反する結果を評価する	
  
•  仮説が証明されるか反証されるまで上記を繰り返す	
  
– 学習型	
  
1.  学習の対象やミッションを選ぶ	
  
2.  対象の動きを探索し、必要な知見を学習する	
  
	
   	
   	
   	
   	
  (リー・コープランド,「はじめて学ぶソフトウェアのテスト技法」)	
  
25
2.5.2	
  テストチャータを用いる探索的テスト	
•  テストの目的とテストチャータ	
  
– テストチャータを用いる探索的テストでは、準備段階で
テストの目的(or	
  ミッション or	
  テストのゴール)と、その
達成のためのテストチャータを用意する	
  
– テストの目的	
  
•  テストの実施で達成したい目的	
  
•  Ex)「XSSの脆弱性がないことを確認する」「ユーザマニュアル
と実際の動作が合致することを確認する」	
  
– テストチャータ	
  
•  テストの目的達成のための方針や目印	
  
•  抽象度の高いテストケース、機能リスト、リスクリスト等	
  
26
2.5.3テストチャータの例	
27	
テストの目的	
 テストチャータ	
 テストの進め方	
マニュアルとの合致性を確認
する	
マニュアル	
 ・マニュアルで説明される操作
に対して、探索的テストを実施	
  
・これをマニュアルの最初から
最後まで実施	
あるUIのセキュリティバグを検
出する	
一般的なセキュリティリ
スクや攻撃手法、典型
的バグをまとめたリスト	
・リストの各項目についてのバ
グがないか、順々に探索的テス
トを実施	
作りかけのあるテストケース
で、バグが検出されないことを
確認する	
  
	
テスト未実装の上位の
テストケース	
・テストケースごとにバグがない
か探索的テストを実施。テスト
実装は探索的に行う	
  
・これを上位のテストケース1つ
1つで実施	
  
ある変更でリグレッションが発
生していないことを確認する	
リグレッションのリスク
分析結果をまとめたリ
スクリスト	
・リスクリストの項目ごとにバグ
がないか、順々に探索的テスト
を実施	
  
・これを上位リスクを網羅するよ
うに実施する	
  
2.5.3	
  テストチャータの例(James	
  A.	
  WhiFaker)	
  
シナリオに基づいた探索的テスト	
•  探索的テストではシナリオをテストチャータとして活用する
手法がある	
  
–  James	
  A.	
  WhiFaker「Exploratory	
  SoRware	
  Tes9ng:	
  Tips,	
  Tricks,	
  
Tours,	
  and	
  Techniques	
  to	
  Guide	
  Test	
  Design」	
  
•  シナリオに基づく探索的テストは、スクリプトテストでのシナ
リオテストと異なるもの	
  
–  スクリプトテストでのシナリオ	
  
•  具体的なテスト手順	
  
–  探索的テストのシナリオ	
  
•  実施の方針や大まかな流れを示すものである。実施者の判断で手順を
派生させたり、気になった箇所を追加で深堀りしたりして良い	
  
•  形式としては最低限達成すべき手順やテスト条件、ベースとする手順
(実施中に派生させたり補強したりする)、上位のテストケース(テスト実
装は探索的に行う)など	
28
2.5.3	
  テストチャータの例(James	
  A.	
  WhiFaker)	
  
ランドマークツアーテスト	
•  ランドマークツアーテストはシナリオに基づく探索的テス
トの一つ	
  
–  James	
  A.	
  WhiFaker「Exploratory	
  SoRware	
  Tes9ng:	
  Tips,	
  Tricks,	
  
Tours,	
  and	
  Techniques	
  to	
  Guide	
  Test	
  Design」	
  
•  テスト対象の状態やイベントをランドマークとする。ランド
マークの網羅方針や遷移の網羅方針をテストチャータと
する	
29	
画面A	
画面B	
 画面C	
画面D	
 Ex)テストの方針	
  
探索的テストで、各ランド
マーク(例では画面)の遷移
をひと通り網羅する	
  
2.5.3	
  テストチャータの例(Explore	
  It!)	
  
Explore	
  Itのチャータフォーマット	
•  Given/When/Thenのシナリオフォーマットのように、形式的にテ
ストシナリオを記述し、それをテストチャータとする場合がある。	
  
ここでのチャータはセッションのタイムボックスに合わせて粒度
が調整される	
  
•  テストチャータテンプレートの例	
  
–  フォーマット(Elisabeth	
  Hendrickson「Explore	
  It!」)	
  
•  Explore	
  (target)	
  
•  with	
  (resources)	
  
•  to	
  discover	
  (informa9on)	
  
–  上記フォーマットの()の項目に以下の内容を記述する	
  
•  Target	
  
–  探索する対象	
  
•  Resources	
  
–  テストで使用するリソース。ツールや技術、データ等	
  
•  Informa9on	
  to	
  discover	
  
–  見つけるべきものについての情報。観点や特定のバグ、品質特性など	
  
30
2.5.3	
  テストチャータの例(Explore	
  It!)	
  
Explore	
  Itのチャータフォーマット	
•  テストチャータテンプレートの例	
  
– Target:	
  
•  Target	
  
–  アップデートシステム	
  
•  Resources	
  
–  指定のExploitを使用する	
  
•  Informa9on	
  to	
  discover	
  
–  フォーマットに違反する不正アップデートデータによるアップデート	
  
31
2.5.4	
  セッションベースドテスト	
•  セッションベースドテストは探索的テストから派生
した手法。タイムボックスを設けた探索的テスト	
  
– 探索的テストの実施単位として「セッション」を定義す
る	
  
•  セッションというタイムボックスでテストを構成する
ことで、探索的テストの計画管理や全体網羅性の
確認を容易にする	
  
32
2.5.4	
  セッションベースドテスト	
  
基礎用語	
•  セッション	
  
– 1時間弱から2時間程度のタイムボックス。各セッショ
ンはミッションとテストチャータを持つ。	
  
– セッションベースドテストでは、セッションを構成要素と
して、テストの設計・実施を行う	
  
•  テスト設計は、セッションで構成する。	
  
•  テスト設計では、テストの目的をセッションのミッション・テス
トチャータまでブレークダウンする	
  
•  テスト実施では、セッションの単位で計画や工数確保を行う	
  
•  ミッション	
  
– セッションで達成を目指すテストの目的	
33
2.5.4	
  セッションベースドテスト(進め方の例)	
•  計画・設計	
  
–  テストの目的を各セッションのミッション(=テストの目的)
にブレークダウンする。またセッションのミッションに応じた
テストチャータを作成する	
  
•  実施	
  
–  セッション単位でテストを実施する。	
  
–  セッションが指定する時間内で、セッションの示すテスト
チャータに従って探索的テストを実施し、セッションのミッ
ション達成を目指す	
  
•  報告	
  
–  指定の形式に従ってセッションレポートを作成する	
  
–  また各セッションの結果から、テストの全体網羅性などを
評価する	
34
2.6	
  探索的テストの自動化	
•  探索的テストのあらゆる作業にツールを活用でき
る余地がある。効率化のため、各作業をツールで
自動化するのが推奨されている	
  
•  探索的テストの様々な作業をコンピュータで支
援・代替させることは「探索的テストの自動化」と
呼称される	
  
– (Cem	
  Kaner,	
  A	
  Tutorial	
  in	
  Exploratory	
  Tes9ng)	
  
35
2.6	
  探索的テストの自動化	
•  探索的テストの作業支援ツールの例	
  
–  品質分析のためのツール	
  
•  静的解析ツール、レビュー支援ツール	
  
–  操作のツール	
  
•  キャプチャ&リプライツール、デバッガ、データジェネレータ、ファ
ジングツール	
  
–  記録のツール	
  
•  ロギングツール	
  
–  思考支援のためのツール	
  
•  マインドマップツール	
  
–  Cem	
  Kanerが挙げているもの	
  
•  Test	
  Explorer、BBTest	
  Assisntant、Atlas.9等	
  
36
3.	
  探索的テストの実践	
37
3.1	
  探索的テストの実施例	
  
スクリプトテストの補完	
1.  スクリプトテストを実施中に以下を留意事項とし
てリスト化していく	
  
– 期待値に反していないが不具合の可能性がある現象	
  
– テスト設計・実装の間違いや不足部分	
  
– その他調査が要因	
  
2.  上記リストをテストチャータとして、スクリプトテス
ト終了後に探索的テストを実施する	
  
38
3.2	
  探索的テストの実施例	
  
リスクベースドテスト	
•  品質リスクの分析を行う	
  
– 例えば開発者や要求定義者などを交えたブレストで
発生が予期されるバグをリストアップする	
  
– バグのリスクレベルを定義する	
  
•  上記リスクリストをテストチャータとし、リスクレベ
ルの高いものにフォーカスを当てて探索的テスト
を実施する	
39
まとめ	
•  1.	
  探索的テストの概要	
  
–  探索的テストとは	
  
–  探索的テストの定義	
  
–  探索的テストの歴史的経
緯	
  
–  探索的テストの適用領域	
  
–  探索的テストの位置づけ
についての注意点	
–  探索的テストのメリット・デ
メリット	
–  探索的テストの主な用途	
  
•  2.	
  探索的テストの基礎	
–  探索的テストの入出力	
–  探索的テストの実施者に
求められるもの	
–  探索的テストのスタイル	
–  探索的テストの進め方	
•  フリースタイルの探索的テ
スト	
•  テストチャータを用いる探
索的テスト	
•  テストチャータの例	
  
•  セッションベースドテスト	
–  探索的テストの自動化	
  
•  3.探索的テストの実践	
40

More Related Content

What's hot

あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~Hiroaki Matsunaga
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1Yasuharu Nishi
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateKinji Akemine
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Mineo Matsuya
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationYasuharu Nishi
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-takauji0522
 
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)Hironori Washizaki
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門H Iseri
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏Naoki Nakano
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうSayaka Nakano
 
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -Hironori Washizaki
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門Preferred Networks
 
ソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verKosuke Fujisawa
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へHironori Washizaki
 
シナリオテストについて考えてみる
シナリオテストについて考えてみるシナリオテストについて考えてみる
シナリオテストについて考えてみるtef-do
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用Tsuyoshi Yumoto
 
JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方崇 山﨑
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれからYasuharu Nishi
 

What's hot (20)

あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 Presentation
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-ta
 
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おう
 
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
ソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年ver
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
シナリオテストについて考えてみる
シナリオテストについて考えてみるシナリオテストについて考えてみる
シナリオテストについて考えてみる
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方JaSSTよいテストプロセスの作り方
JaSSTよいテストプロセスの作り方
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
 

Similar to 探索的テスト入門

レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話H Iseri
 
121012高度気道管理指導員養成コース ver.1.0.
121012高度気道管理指導員養成コース ver.1.0.121012高度気道管理指導員養成コース ver.1.0.
121012高度気道管理指導員養成コース ver.1.0.Ikegami Keiichi
 
SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日
SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日
SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日Hironori Washizaki
 
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講Takashi Imagire
 
Rm20140730 15key
Rm20140730 15keyRm20140730 15key
Rm20140730 15keyyouwatari
 
新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として
新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として
新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象としてYusaku Kawaguchi
 
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてAgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてShuji Morisaki
 
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsHow to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsKenta Oono
 
Rm20130410 1bkey
Rm20130410 1bkeyRm20130410 1bkey
Rm20130410 1bkeyyouwatari
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4favril1
 
テスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループテスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループTomoaki Fukura
 
20160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp0420160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp04Japan Culture Creation
 
品質保証を体験しよう
品質保証を体験しよう品質保証を体験しよう
品質保証を体験しようCy1DayCy1Day
 
Rm20140716 13key
Rm20140716 13keyRm20140716 13key
Rm20140716 13keyyouwatari
 
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacateWACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacateKinji Akemine
 
外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門Yusaku Kawaguchi
 
リバースモデリングを用いたテスト観点標準化の取り組み
リバースモデリングを用いたテスト観点標準化の取り組みリバースモデリングを用いたテスト観点標準化の取り組み
リバースモデリングを用いたテスト観点標準化の取り組みNaokiKashiwagura
 
SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門Hironori Washizaki
 
Rm20130417 2bkey
Rm20130417 2bkeyRm20130417 2bkey
Rm20130417 2bkeyyouwatari
 

Similar to 探索的テスト入門 (20)

レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話レガシーコードとの付き合い方とテストでの話
レガシーコードとの付き合い方とテストでの話
 
121012高度気道管理指導員養成コース ver.1.0.
121012高度気道管理指導員養成コース ver.1.0.121012高度気道管理指導員養成コース ver.1.0.
121012高度気道管理指導員養成コース ver.1.0.
 
SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日
SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日
SQiP研究会2014 ミニ講座「論文の書き方入門」 2014年11月7日
 
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
 
Rm20140730 15key
Rm20140730 15keyRm20140730 15key
Rm20140730 15key
 
新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として
新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として
新しいコンピュータ支援語学学習態度尺度作成の試み:英語を学習する大学生を対象として
 
2022リサーチ入門2リサーチ戦略と調査テーマの理解1
2022リサーチ入門2リサーチ戦略と調査テーマの理解12022リサーチ入門2リサーチ戦略と調査テーマの理解1
2022リサーチ入門2リサーチ戦略と調査テーマの理解1
 
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてAgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
 
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsHow to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
 
Rm20130410 1bkey
Rm20130410 1bkeyRm20130410 1bkey
Rm20130410 1bkey
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4
 
テスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループテスト設計・テストケース作成 グループ
テスト設計・テストケース作成 グループ
 
20160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp0420160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp04
 
品質保証を体験しよう
品質保証を体験しよう品質保証を体験しよう
品質保証を体験しよう
 
Rm20140716 13key
Rm20140716 13keyRm20140716 13key
Rm20140716 13key
 
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacateWACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
 
外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門
 
リバースモデリングを用いたテスト観点標準化の取り組み
リバースモデリングを用いたテスト観点標準化の取り組みリバースモデリングを用いたテスト観点標準化の取り組み
リバースモデリングを用いたテスト観点標準化の取り組み
 
SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門
 
Rm20130417 2bkey
Rm20130417 2bkeyRm20130417 2bkey
Rm20130417 2bkey
 

Recently uploaded

クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 

Recently uploaded (11)

クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 

探索的テスト入門

  • 2. この講演について •  この講義は探索的テストの基礎知識の学習を目 的としています   •  自己紹介   – 井芹洋輝   •  組み込みの開発・テストに従事   •  テスト自動化研究会、TDD研究会などに従事   2
  • 3. 目次 •  1.  探索的テストの概要   –  探索的テストとは   –  探索的テストの定義   –  探索的テストの歴史的経 緯   –  探索的テストの適用領域   –  探索的テストの位置づけ についての注意点 –  探索的テストのメリット・デ メリット –  探索的テストの主な用途   •  2.  探索的テストの基礎 –  探索的テストの入出力 –  探索的テストの実施者に 求められるもの –  探索的テストのスタイル –  探索的テストの進め方 •  フリースタイルの探索的テ スト •  テストチャータを用いる探 索的テスト •  テストチャータの例   •  セッションベースドテスト –  探索的テストの自動化   •  3.探索的テストの実践 3
  • 5. 1.1  探索的テストとは(概要) •  ソフトウェアテストのアプローチの一つ   •  以下のアプローチを効率的に行う   – テスト手順のスクリプト化を行わない   – テスト実施者が主体となり、   •  実施者の知見や思考   •  事前の分析情報   •  動かして得たフィードバック    を元に、テスト実施とテストの構築を並行実施する   5
  • 6. 1.1  探索的テストとは(2つのパラダイム) 6 ●探索的テスト     ・テスト手順のドキュメ ント化を行わない       ・事前分析情報、実施 者の能力、動かして得 られたフィードバックな どを活用して、テストの 構築と実施を並行的に 行う ●スクリプトテスト     ・テスト設計を行い、事 前にテスト手順をドキュ メント化する     ・テスト手順にしたがっ てテストを実施する テスト手順の管理   テスト実施  
  • 7. 1.2  探索的テストの定義 •  標準的な定義確立の動きはあるが収束していな い   – “Exploratory  Tes9ng  Research  Summitなどで議論した が収束しなかった”(Cem  Kaner)   •  hFp://kaner.com/?p=46   •  ただしおおまかに共通定義が形成されている   7
  • 8. 1.2  探索的テストの定義(James  Bach) •  「Exploratory  tes9ng  is  simultaneous  learning,  test   design,  and  test  execu9on.  」   (探索的テストは、学習、テスト設計、テスト実行を 並行して実施するものだ)   – James  Bach,  Exploratory  Tes9ng  Explained(v.1.3   4/16/03)   •  探索的テストの定義として引用されていることが 多い 8
  • 9. 1.2  探索的テストの定義(Cem  Kaner) •  Exploratory  soRware  tes9ng   –  is  a  style  of  soRware  tes9ng   –  that  emphasizes  the  personal  freedom  and  responsibility   –  of  the  individual  tester   –  to  con9nually  op9mize  the  value  of  her  work   –  by  trea9ng     •  test-­‐related  learning,     •  test  design,     •  test  execu9on,  and   •  test  result  interpreta9on   –  as  mutually  suppor9ve  ac9vi9es   –  that  run  in  parallel  throughout  the  project.      (Cem  Kaner,  A  Tutorial  in  Exploratory  Tes9ng)   •  こちらも探索的テストの定義として引用されることが多い 9
  • 10. 1.2  探索的テストの定義(Cem  Kaner) •  Exploratory  soRware  tes9ng   –  is  a  style  of  soRware  tes9ng   –  that  emphasizes  the  personal  freedom  and  responsibility   –  of  the  individual  tester   –  to  con9nually  op9mize  the  value  of  her  work   –  by  trea9ng     •  test-­‐related  learning,     •  test  design,     •  test  execu9on,  and   •  test  result  interpreta9on   –  as  mutually  suppor9ve  ac9vi9es   –  that  run  in  parallel  throughout  the  project.      (Cem  Kaner,  A  Tutorial  in  Exploratory  Tes9ng)   •  こちらも探索的テストの定義として引用されることが多い 10 ●ソフトウェアテストのスタイル   ●テスター一人一人の自由意思 と責務に基づく   ●各々の価値に合わせて洗練さ せていく   ●テスト関係の学習、テスト設計、 テスト実施、テスト結果の説明を 扱う   ●プロジェクトを通して並行実施さ れる補完的な活動
  • 11. 1.3  探索的テストの歴史的経緯 •  ソフトウェア開発初期   –  探索的テストは一般的なテストアプローチ。ソフトウェア開発が始まっ た初期から実施されてきた   •  1980年代〜   –  手順書に依存せずに分析やフィードバックを活用するアプローチとし て、探索的テストという名前で概念を明確化する   •  1983年にCem  Kanerが命名   –  それまで探索的なアプローチとアドホックテストは区別されておらず。 知的なアプローチ(=探索的テスト)とそれ以外のアプローチを区別 するため、探索的テストという考え方を確立した   •  1990年代後半〜   –  専門の文献が整備され、テスト手法の一分野として確立する   •  Ex)「Exploratory  SoRware  Tes9ng:  Tips,  Tricks,  Tours,  and  Techniques  to   Guide  Test  Design」   •  「How  to  Break  SoRware:  A  Prac9cal  Guide  to  Tes9ng」   –  (いずれもJames  A.  WhiFaker)   11
  • 13. 1.5  探索的テストの位置づけについての注意点 •  アドホックテスト≠探索的テスト   – 探索的テストの歴史的経緯の通り、   知的でないアドホックテストは探索的テストではない   •  課題となるのは「探索的テストの生産性をどう高 めるか?」   – 探索的テストの効果はやり方によって大きく変動する   – 暗黙的・非明示的なものも含めて、探索的テストはす でに多くの現場で実践されている   – 多くの場面で課題となるのが、探索的テストの効果を どう活かしていくか?/生産性をどう高めていくか?   13
  • 14. 1.6  探索的テストのメリット・デメリット    スクリプトテストに対するメリット •  軽快   –  テスト設計・実装コストを削減   –  必要なところをピンポイントでテスト   •  柔軟性が高い   –  テスト手順の変更コストを削減   –  実物に合わせながらテストを構築できる   –  人間の知能を使って次のようなものにも柔軟に対応できる   •  仕様やテスト設計の穴   •  明文化しにくい操作や動作   •  人間の能力を活用しやすい   –  暗黙知や明文化しにくいノウハウを活用できる   14 欠陥検出での 高い生産性 テストの保守コ スト削減 検出困難な欠 陥検出の実現
  • 15. 1.7  探索的テストのメリット・デメリット    スクリプトテストに対するデメリット •  属人性が高い   –  人によって効果が変動する   •  能力のない人間が担当するとアドホックテストと変わらなくなる   •  テスト設計の品質がわかりにくい   –  漏れ・だぶり・網羅率がわかりにくい   –  テストの品質を保証しにくい   •  記録が残りにくい   –  テストのエビデンスや監査証跡の記録を保証しにくい   –  テストの再現性を保証しにくい   •  テスト設計段階でのバグの予防効果が低い場合がある   –  テスト分析・設計による問題検出効果が属人的 15
  • 16. 1.8  探索的テストの主な用途 •  他のテスト手法の補完   – 最も多い用途   – Ex)スクリプトテストの補完   – Ex)テスト終了後の追加テスト   •  テスト漏れの確認。不具合ではないが怪しい現象の調査   •  軽快さの確保   – Ex)スモークテストとしての実施   •  長大なスクリプトテストの直前に実施。手戻りを防ぐ   •  テストの保守コストの削減   – Ex)反復開発でのイテレーションごとのテストとして実 施   16
  • 17. 1.8  探索的テストの主な用途   (スクリプトテストの補完) •  一般的に探索的テストとスクリプトテストは相互補完 の形で活用される   •  テストケースの網羅度の補完   –  詳細なスクリプトテストは高コスト   •  テスト設計・実装コスト・変更対応コスト・保守コスト   •  テストの効果がテストのコストに見合わなくなることがある   –  保証のためのテストをスクリプトテストで構築しつつ、詳細 な欠陥検出のテストは探索的テストで補完する   •  変化への対応   –  スクリプトテストは変更コストが高い   –  テストの変動部分は探索的テストで担保することで変更コ ストを削減する   17
  • 19. 2.1  探索的テストの入出力 19 探索的   テスト ●動かして得た フィードバック   Ex)怪しい動作     ●実施者の能力 や知見   Ex)テスト技術、バグ や品質リスクに対す る考察力     ●事前分析結果   Ex)対象の品質リスク、 機能構成、品質の偏 在度、テストチャータ   インプット ●不具合関連の 情報     ●テストログ     ●気づきや学習効 果   アウトプット
  • 20. 2.2  探索的テストの実施者に求められるもの •  製品知識   – Ex)対象の構成がわかる/対象の弱点がわかる •  テスト技術   – Ex)テスト要求に応じて必要なテストのアプローチやテ ストケースを柔軟に組み立てられる/各種テスト技術を 扱える •  バグの知識   – 欠陥のBad  Smellを感覚的に感じ取れる/欠陥の特徴 を理解している/欠陥の傾向を柔軟に学習できる 20
  • 21. 2.3  探索的テストのスタイル   (今回扱うもの) •  フリースタイルの探索的テスト   •  テストチャータを用いる探索的テスト   – Ex)シナリオベースドテスト   •  セッションベースドテスト   21 管理の厳格さ
  • 22. 2.4  探索的テストの進め方 •  手順 – 準備 •  計画・学習   –  必要な能力・情報を特定し確保する   –  テスト目的やミッションを明確化する   •  設計   –  テストチャータを確保する – 実施 •  実施・学習・舵取り – 報告 •  テスト実施結果を報告する   •  テストの十分性を評価する   22 ※探索的テストは様々な進め方がある。あくまで一例
  • 23. 2.5  探索的テストの進め方 •  手順 – 準備 •  計画・学習   –  必要な能力・情報を特定し確保する   –  テスト目的やミッションを明確化する   •  設計   –  テストチャータを確保する – 実施 •  実施・学習・舵取り – 報告 •  テスト実施結果を報告する   •  テストの十分性を評価する   23 フリースタイルの探索的テスト ・テストチャータを   用いる探索的テスト   ・セッションベースドテスト   ※探索的テストは様々な進め方がある。あくまで一例
  • 24. 2.5.1  フリースタイルの探索的テスト •  フリースタイルの探索的テスト   –  テスト実施者の責任に基づいて、自由意思により探索的 テストを実施する   –  ソフトウェア開発では珍しくない。Bad  Smellや不安の調査、 デバッグなどを知的に行おうとすると、しばしばこのスタイ ルとなる   –  実施時の基本サイクル   1.  実施   –  テストを実施する   2.  学習   –  テスト結果から知見を得る   3.  舵取り(Steering)   –  学習結果も加味してテストの方向性を補正する   24 反復する
  • 25. 2.5.1  フリースタイルの探索的テスト •  フリースタイルの探索的テストの手順の例   – 仮説検証型   1.  システムについて仮説(メンタルモデル)を作る   2.  仮説を反証するようなテストを設計する   3.  テストを実行し結果を得る   4.  仮説に反する結果を評価する   •  仮説が証明されるか反証されるまで上記を繰り返す   – 学習型   1.  学習の対象やミッションを選ぶ   2.  対象の動きを探索し、必要な知見を学習する            (リー・コープランド,「はじめて学ぶソフトウェアのテスト技法」)   25
  • 26. 2.5.2  テストチャータを用いる探索的テスト •  テストの目的とテストチャータ   – テストチャータを用いる探索的テストでは、準備段階で テストの目的(or  ミッション or  テストのゴール)と、その 達成のためのテストチャータを用意する   – テストの目的   •  テストの実施で達成したい目的   •  Ex)「XSSの脆弱性がないことを確認する」「ユーザマニュアル と実際の動作が合致することを確認する」   – テストチャータ   •  テストの目的達成のための方針や目印   •  抽象度の高いテストケース、機能リスト、リスクリスト等   26
  • 27. 2.5.3テストチャータの例 27 テストの目的 テストチャータ テストの進め方 マニュアルとの合致性を確認 する マニュアル ・マニュアルで説明される操作 に対して、探索的テストを実施   ・これをマニュアルの最初から 最後まで実施 あるUIのセキュリティバグを検 出する 一般的なセキュリティリ スクや攻撃手法、典型 的バグをまとめたリスト ・リストの各項目についてのバ グがないか、順々に探索的テス トを実施 作りかけのあるテストケース で、バグが検出されないことを 確認する   テスト未実装の上位の テストケース ・テストケースごとにバグがない か探索的テストを実施。テスト 実装は探索的に行う   ・これを上位のテストケース1つ 1つで実施   ある変更でリグレッションが発 生していないことを確認する リグレッションのリスク 分析結果をまとめたリ スクリスト ・リスクリストの項目ごとにバグ がないか、順々に探索的テスト を実施   ・これを上位リスクを網羅するよ うに実施する  
  • 28. 2.5.3  テストチャータの例(James  A.  WhiFaker)   シナリオに基づいた探索的テスト •  探索的テストではシナリオをテストチャータとして活用する 手法がある   –  James  A.  WhiFaker「Exploratory  SoRware  Tes9ng:  Tips,  Tricks,   Tours,  and  Techniques  to  Guide  Test  Design」   •  シナリオに基づく探索的テストは、スクリプトテストでのシナ リオテストと異なるもの   –  スクリプトテストでのシナリオ   •  具体的なテスト手順   –  探索的テストのシナリオ   •  実施の方針や大まかな流れを示すものである。実施者の判断で手順を 派生させたり、気になった箇所を追加で深堀りしたりして良い   •  形式としては最低限達成すべき手順やテスト条件、ベースとする手順 (実施中に派生させたり補強したりする)、上位のテストケース(テスト実 装は探索的に行う)など 28
  • 29. 2.5.3  テストチャータの例(James  A.  WhiFaker)   ランドマークツアーテスト •  ランドマークツアーテストはシナリオに基づく探索的テス トの一つ   –  James  A.  WhiFaker「Exploratory  SoRware  Tes9ng:  Tips,  Tricks,   Tours,  and  Techniques  to  Guide  Test  Design」   •  テスト対象の状態やイベントをランドマークとする。ランド マークの網羅方針や遷移の網羅方針をテストチャータと する 29 画面A 画面B 画面C 画面D Ex)テストの方針   探索的テストで、各ランド マーク(例では画面)の遷移 をひと通り網羅する  
  • 30. 2.5.3  テストチャータの例(Explore  It!)   Explore  Itのチャータフォーマット •  Given/When/Thenのシナリオフォーマットのように、形式的にテ ストシナリオを記述し、それをテストチャータとする場合がある。   ここでのチャータはセッションのタイムボックスに合わせて粒度 が調整される   •  テストチャータテンプレートの例   –  フォーマット(Elisabeth  Hendrickson「Explore  It!」)   •  Explore  (target)   •  with  (resources)   •  to  discover  (informa9on)   –  上記フォーマットの()の項目に以下の内容を記述する   •  Target   –  探索する対象   •  Resources   –  テストで使用するリソース。ツールや技術、データ等   •  Informa9on  to  discover   –  見つけるべきものについての情報。観点や特定のバグ、品質特性など   30
  • 31. 2.5.3  テストチャータの例(Explore  It!)   Explore  Itのチャータフォーマット •  テストチャータテンプレートの例   – Target:   •  Target   –  アップデートシステム   •  Resources   –  指定のExploitを使用する   •  Informa9on  to  discover   –  フォーマットに違反する不正アップデートデータによるアップデート   31
  • 32. 2.5.4  セッションベースドテスト •  セッションベースドテストは探索的テストから派生 した手法。タイムボックスを設けた探索的テスト   – 探索的テストの実施単位として「セッション」を定義す る   •  セッションというタイムボックスでテストを構成する ことで、探索的テストの計画管理や全体網羅性の 確認を容易にする   32
  • 33. 2.5.4  セッションベースドテスト   基礎用語 •  セッション   – 1時間弱から2時間程度のタイムボックス。各セッショ ンはミッションとテストチャータを持つ。   – セッションベースドテストでは、セッションを構成要素と して、テストの設計・実施を行う   •  テスト設計は、セッションで構成する。   •  テスト設計では、テストの目的をセッションのミッション・テス トチャータまでブレークダウンする   •  テスト実施では、セッションの単位で計画や工数確保を行う   •  ミッション   – セッションで達成を目指すテストの目的 33
  • 34. 2.5.4  セッションベースドテスト(進め方の例) •  計画・設計   –  テストの目的を各セッションのミッション(=テストの目的) にブレークダウンする。またセッションのミッションに応じた テストチャータを作成する   •  実施   –  セッション単位でテストを実施する。   –  セッションが指定する時間内で、セッションの示すテスト チャータに従って探索的テストを実施し、セッションのミッ ション達成を目指す   •  報告   –  指定の形式に従ってセッションレポートを作成する   –  また各セッションの結果から、テストの全体網羅性などを 評価する 34
  • 35. 2.6  探索的テストの自動化 •  探索的テストのあらゆる作業にツールを活用でき る余地がある。効率化のため、各作業をツールで 自動化するのが推奨されている   •  探索的テストの様々な作業をコンピュータで支 援・代替させることは「探索的テストの自動化」と 呼称される   – (Cem  Kaner,  A  Tutorial  in  Exploratory  Tes9ng)   35
  • 36. 2.6  探索的テストの自動化 •  探索的テストの作業支援ツールの例   –  品質分析のためのツール   •  静的解析ツール、レビュー支援ツール   –  操作のツール   •  キャプチャ&リプライツール、デバッガ、データジェネレータ、ファ ジングツール   –  記録のツール   •  ロギングツール   –  思考支援のためのツール   •  マインドマップツール   –  Cem  Kanerが挙げているもの   •  Test  Explorer、BBTest  Assisntant、Atlas.9等   36
  • 38. 3.1  探索的テストの実施例   スクリプトテストの補完 1.  スクリプトテストを実施中に以下を留意事項とし てリスト化していく   – 期待値に反していないが不具合の可能性がある現象   – テスト設計・実装の間違いや不足部分   – その他調査が要因   2.  上記リストをテストチャータとして、スクリプトテス ト終了後に探索的テストを実施する   38
  • 39. 3.2  探索的テストの実施例   リスクベースドテスト •  品質リスクの分析を行う   – 例えば開発者や要求定義者などを交えたブレストで 発生が予期されるバグをリストアップする   – バグのリスクレベルを定義する   •  上記リスクリストをテストチャータとし、リスクレベ ルの高いものにフォーカスを当てて探索的テスト を実施する 39
  • 40. まとめ •  1.  探索的テストの概要   –  探索的テストとは   –  探索的テストの定義   –  探索的テストの歴史的経 緯   –  探索的テストの適用領域   –  探索的テストの位置づけ についての注意点 –  探索的テストのメリット・デ メリット –  探索的テストの主な用途   •  2.  探索的テストの基礎 –  探索的テストの入出力 –  探索的テストの実施者に 求められるもの –  探索的テストのスタイル –  探索的テストの進め方 •  フリースタイルの探索的テ スト •  テストチャータを用いる探 索的テスト •  テストチャータの例   •  セッションベースドテスト –  探索的テストの自動化   •  3.探索的テストの実践 40