More Related Content
PPT
20120624 wacate2012 s_イブニングセッション(当日用) PDF
Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案 PDF
C# から java へのプログラム移植で体験したtddの効果は? PDF
PPTX
とてか02 懇親会LT 「やろまいか!探索的テスト」 PDF
PDF
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点- PDF
SGT2013 技術トークス「アジャイルテスティング」 Similar to 探索的テストから考える現場の工夫(Slideshare)
PDF
PDF
PDF
PDF
#NagoyaTesting アジャイルなテストの見積りと計画づくり KEY
PDF
Agile japan2010 rakuten様プレゼン資料 KEY
テスト初心者Androiderのためのソフトウェアテスト入門 PPT
PDF
PDF
PPTX
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み PDF
AJ2010_20100409_maegawasensei PDF
PDF
マイニング探検会#31 情報検索システムのユーザーのニーズを考える KEY
PDF
PDF
KEY
KEY
PDF
探索的テストから考える現場の工夫(Slideshare)
- 1.
- 2.
- 3.
自己紹介
• 開発課 開発グループ所属のテスター:6年
•開発課 テストグループ所属の
テスター 兼 テストリーダ:1年
• 第3者検証課 (開発課対応)テスト部隊所属の
テストリーダ 兼 テスター:現在(0.75年程)
• 主な業務
– 業務用組み込み機器のファームウェアテストリーダ
兼 テスト担当:2年程前~現在
• 社外活動
– 2010年春から、TEF東海 原因分析勉強会&メトリクス勉強
会で活動中。また、TEF東海合宿を企画&運営。
2012/11/30 JaSST'12 Tokai SIG 3
- 4.
- 5.
こんな話題でお話が出来れば
• JaSST'12東海の名称、
テストの目的考えよう
~「これまでの築き」と「これからの気付き」~
ということで…
(1)みなさんで「これまでの築き」を発信。
(2)みなさんと「これまでの築き」を共有。
(3)みなさんと「これまでの築き」にイイね!と
「気付き」を探索。
『週明けから小さな工夫を始めてみよう!』
2012/11/30 JaSST'12 Tokai SIG 5
- 6.
工夫した実例
① 私の悩み (※コンテキストの説明)
② テスト工程ふりかえり (※コンテキストの説明)
③ 悩みを解決するには… (※コンテキストの説明)
④ (ここで…)探索的テストとは? (※定義の説明)
⑤ 昨年(2011年)工夫したこと (※工夫の足跡)
⑥ 気づいたこと (※工夫の足跡)
⑦ JaSST'11東海発表後のある日… (※気付き)
⑧ 文献の内容と考えたことの比較 (※気付き)
2012/11/30 JaSST'12 Tokai SIG 6
- 7.
①私の悩み -その1-
• 潜在バグが検出し切れず、市場バグが発生し、
時間面&金銭面の損失が出た。
– 修正工数/バグ対応工数の増大
• 新規/差分/派生開発に必要な工数が確保できない。
• お客様がS/Wを利用できないことによる、
経済的損失が出るだけでなく、
製造元/開発元に対する不満が出てくる。
• PMやQA、技術営業、製造ライン等の対応工数も増大。
– テスト工数の増大
• 疲労が溜まるだけでなく、メンタル面でダメージがある。
2012/11/30 JaSST'12 Tokai SIG 7
- 8.
①私の悩み -その2-
• 開発現場で、一部のテスターさんが
スクリプトテスト(※)であまり考えずに
テスト実施しており、作業をやるだけの
テストに留まることがある。
(※すでに記述されているテスト順序通りに実行するテスト方法)
• (記述漏れやあいまいな記述がある)
外部仕様書が原因のバグが多発しており、
テスターが多くバグ指摘し、
バグ修正後にバグ修正確認に追われがち。
2012/11/30 JaSST'12 Tokai SIG 8
- 9.
- 10.
②テスト工程ふりかえり
• PFD(Process FlowDiagram)でテスト工程をふりかえる
S/W 設計や実装を
考え過ぎた外部仕様書 外部仕様書 レビュー前
のアイディア 作成 外部仕様書
経験ベースの
アドホック
類似機能の
レビュー実施
外部仕様書
完成した
外部仕様書
コピペ& モデフ テストベース
レビュー前の ァイ法でテスト 入手
テストケース ケース作成
テスト分析
改訂された した成果物
経験ベースの テストケース
アドホック テスト分析を
レビュー実施 実施
テスト条 件&
テスト実施後、 手順のメモ テスト設計を
誤字脱字や 実施
内容修正程度の
改訂実施 テスト技法で
テスト設計 テストケース
レビュー後の した成果物
テストケース 作成
追記の形で
テストケース 本来の
作成 現行の
テストケース テストケース
2012/11/30 JaSST'12 Tokai SIG 10
- 11.
②テスト工程ふりかえり
1. テストケース作成時、外仕の欠陥が
指摘できるようなテスト設計を実施しつつ、
発想を膨らませる仕組みがあまり無かった。
2. スクリプトテスト実施時、
テストケース+αのα部分の発想が
非常に貧弱であった。
3. スクリプトテスト実施の時、
バグがほとんど出ない機能に力を入れすぎた。
4. スクリプトテスト実施が楽しめなかったため、
モチベーションの維持に苦労した。
2012/11/30 JaSST'12 Tokai SIG 11
- 12.
③悩みを解決するには…
• テスト設計書作成工数の確保が
不可能な状況(※)かつ限られた工数の中、
創造的なテストが実施しやすい工夫として、
探索的テストに着目した。
※お客様から納期の前倒しや開発予算が削減されるなど...
• 刻一刻と変化するプロジェクトで
状況毎に最適なテストを考えたとき、
動的に考える余地を残した
テストのアプローチが必要では?と
探索的テストに着目した。
2012/11/30 JaSST'12 Tokai SIG 12
- 13.
- 14.
④(ここで…)探索的テストとは?
• SQuBOK:ソフトウェア品質知識体系
–テスト対象に関して「適切な振舞い仮説」を作り、
動作させながらテスト設計、テスト実行を
同時並行的に行うテスト。
– 指示書がある「チャーター付き探索的テスト」では、
テストの戦術や、リスク、行うべきことの
ガイドラインが示される。
• 書籍:実践アジャイルテスト
– 学習/テストの設計/テストの実行を
1つのテストアプローチに組み合わせたもの。
2012/11/30 JaSST'12 Tokai SIG 14
- 15.
- 16.
⑤昨年(2011年)工夫したこと
• 限られた工数の中、潜在バグが潜むテスト対象に対し、
何が問題なのか、何のテストが不足しているか、
テスト実施しながら考える仕組みを
テスターさんと考えた。(※時折、設計者も)
• テスターさんと議論して考えた結果、
テストチャータ(※)を活用して探索的テストを
実施しつつ、製品やプロジェクトが抱える弱点を
見つけることにした。
※テスト目的を明記したもの。
テスト実施法のアイデアを含む場合もある。
探索的テストにて使用。
2012/11/30 JaSST'12 Tokai SIG 16
- 17.
⑤昨年(2011年)工夫したこと
• 探索的テストを実施しやすいよう、
テストチャータ作成に必要な情報は何か、
下記モデルを考え、テスターさんと共有した。
構成/設定
(テスト環境)
動作
(ソフトウェア内部処理)
操作/外乱(※操作に含む) 出力
(テスト実行/異常操作&異常環境) (テスト表示結果)
2012/11/30 JaSST'12 Tokai SIG 17
- 18.
⑤昨年(2011年)工夫したこと
• 例えば、探索的テストを実施しやすいように
テストチャータとして
「テスト実行マトリクス」で表現し共有した。
相
手
故
機
障
器
検
と
出
通
信
動作 操作
…
通
A F
M
メ 信
通 通 S P
P モ ケ
ー
信 信 I G
開 終 C A
U リ ブ
破
始 了 破 破
壊
破 ル
壊 壊 壊 断
線
定期通信 1 2 3 4
相手機器と通信 イベント発生時通信 5 6 7 8
相手機器故障検出 … 9
故障検出 H /W 故障検出 31 32 33 34
通信経路断線検出 55
… … … … … … … …
通信状態表示 86 87 88
診断画面 通信テスト 89 90 … 91
通信履歴表示 92 93 103 104
2012/11/30 JaSST'12 Tokai SIG 18
- 19.
⑤昨年(2011年)工夫したこと
• 「テスト実行マトリクス」を2名のテスターで
テスト実施結果をベースに
何のテスト実施するかアイディアを出しながら、
探索的テストを実施した。
相
[第3段階] 故
手
機
障
第2段階の結果から、 操作を他の動作でテスト
同じ 検
出
。 器
と
通
信
[第2段階]
動作 操作 …
通
第1段階でバグが出た動作を 通 通
A
S
F
P
M
メ
モ
信
ケ
P ー
他の操作でテスト 。 信 信
開 終
I
C
G
A
U
破
リ ブ
始 了 破 破
壊
破 ル
壊 壊 壊 断
線
[第1段階] 定期通信 1 2 3 4
バグ発生時のリ 相手機器故障検出
相手機器と
スクが
通信 イベント 発生時通信
…
5 6 7 8
9
[3]
H /W 故障検出
大きいものからテスト
故障検出 実行。
通信経路断線検出
31 32 33 34
55
… … … … … … … …
通信状態表示 86 87 88
診断画面 通信テスト [1]89
通信履歴表示
90 … 91 [2]
92 93 103 104
2012/11/30 JaSST'12 Tokai SIG 19
- 20.
⑤昨年(2011年)工夫したこと
• 出したアイディア
1.操作と操作を組合せたら、
我々が意図した動作になるだろうか?
2. 時間間隔を例えば100ms単位で操作を変えたら、
システムはクラッシュするだろうか?
3. システム構築の時に、
陥りやすいミスは無いだろうか?
4. 今まで実施したテストで、
手薄と思われるテストは何か?
5. バグ指摘で多かった機能のテストは
詳細に追求したのだろうか?
2012/11/30 JaSST'12 Tokai SIG 20
- 21.
⑤昨年(2011年)工夫したこと
• 工夫した結果(「イイね!」)
1.バグ検出能力(※)は、スクリプトテスト実施時と
比較すると約5倍にUPした。
※テスト工数あたりのバグ検出数
2. スクリプトテストでは見つけられなかった
潜在バグ(※)を7件検出した。
※操作のタイミングによるバグ、H/W絡みのバグ、
S/W設計漏れによるデッドロック状態のバグなど
3. (探索的テスト実施後に)別の開発でスクリプト
テストを実施したところ、50件程度のバグ指摘の
うち、10件程度の潜在バグを発見した。
2012/11/30 JaSST'12 Tokai SIG 21
- 22.
⑤昨年(2011年)工夫したこと
• 問題に対する課題
1.テスト対象の製品に潜在バグの存在を認識したが、
バグを作り込まないような設計については、
探索的テストのみでは解決できない。
2. そもそも、
テスト設計に必要な工数を確保した上で、
外部仕様の不備をテスト実施前に指摘し、
下流工程でバグが発生しにくい仕組みが無いと、
開発全体の出戻り工数増大の問題は、
根本的に解決できない。
2012/11/30 JaSST'12 Tokai SIG 22
- 23.
⑥気づいたこと
• 探索的テスト実施時、
–疑問に思った内容が、
実は潜在バグを見つける貴重な情報となった。
– これまでのテスト仕様書で記述すべき内容
(手順や条件)があいまいであった。
– 独りで黙々と考えるより、
仲間とワイワイと議論しながら
テスト実施したほうが、良いアイディアが浮んだ。
– チームとして、立ち位置の異なる方の経験や感性に
触れると、自分では気づかない観点を発見した。
2012/11/30 JaSST'12 Tokai SIG 23
- 24.
- 25.
⑧文献の内容と考えたことの比較
A) Cem Kaner,"Tutorial in Explotary Testing"
– AI QUEST Conference, Chicago, April 2008
– http://www.kaner.com/pdfs/QAIExploring.pdf
B) Cem Kaner, "Exploratory Testing." (Keynote address)
– Quality Assurance Institute Worldwide Annual
Software Testing Conference, Orlando, FL,
November 2006.
– http://www.kaner.com/pdfs/ETatQAI.pdf
C) 実践アジャイルテスト テスターとアジャイルチームのための実践ガイド
– Lisa Crispin Janet Gregory 著
山腰 直樹 増田 聡 石橋 正章 訳, 榊原 彰 訳/監訳, 翔泳社
2012/11/30 JaSST'12 Tokai SIG 25
- 26.
⑧文献の内容と考えたことの比較
• A)"Tutorial inExplotary Testing"の内容(キーワード)
– Learing(学習)
• 学習
– 製品の振る舞いと失敗
• 学習行動
– テスト対象の製品と関連製品の歴史を調査
• モデルを作る/適用する
– テストで模擬&管理&分析(物理モデル&ビジネスプロセス)
– 製品の利用パターン(使い方)
• あらゆるモデル
– 誰が何によってどう影響されるのか?
2012/11/30 JaSST'12 Tokai SIG 26
- 27.
⑧文献の内容と考えたことの比較
• A)"Tutorial inExplotary Testing"の内容(キーワード)
– Learing(学習)
• 暗黙的な仕様
– ユーザマニュアルドラフト版
– UI標準やスタイルガイドの刊行
– 内部メモ
– 営業プレゼンや販売コンセプト管理
– バグ票(インシデントレポート)
– 最新バージョン時の開発スタッフインタビュー
– 市場バグ記録
– テスト結果の使用性
– 資料の参照内容
2012/11/30 JaSST'12 Tokai SIG 27
- 28.
⑧文献の内容と考えたことの比較
• A)"Tutorial inExplotary Testing"の内容(キーワード)
– Learing(学習)
• Active Reading(能動的読書)
– 資料を読み込みときの情報探索
» 情報収集した質問と回答に答える
» 情報カテゴリを作る
» 質問/挑戦/厳密なところを読むこと
– 体系化すると・・・
» 古い知見と新しい知見を関連づける
2012/11/30 JaSST'12 Tokai SIG 28
- 29.
⑧文献の内容と考えたことの比較
• A)"Tutorial inExplotary Testing"の内容(キーワード)
– Learing(学習)
• Active Reading(能動的読書)
– 資料の情報記憶のための計画
» SQ3R
Survey:調査
Question:質問
Read:読む
Recite:列挙
Review:ふりかえり/見直し
– 記録したノート
2012/11/30 JaSST'12 Tokai SIG 29
- 30.
⑧文献の内容と考えたことの比較
• A)"Tutorial inExplotary Testing"の内容(キーワード)
– Learing(学習)
• Active Reading(能動的読書)
– “Cubing”(6観点から検討する技術)
» Describe(記述):物理的属性/機能的属性
» Compare(比較):何に似ている?/何故そう思ったか?
» Associate(連想):アイディアや製品などを
何から考えついたか?
» Analize(分析):構成の中を掘り下げ/どう関連づけたのか?
/どう同時に働きかけたのか?
» Apply(適用):ユーザ(自分)が何に適用できるのか?
» Evaluate(評価): 立場を明確化/良い(or悪い)特徴&実行
&設計&アイディアをリスト化
2012/11/30 JaSST'12 Tokai SIG 30
- 31.
⑧文献の内容と考えたことの比較
• B)"Exploratory Testing."の内容(キーワード)
– Controversy(論争)
• 探索的テストは、機能テストのみではない。
• テスト探索者という緊急ツールのようなもの。
• ブラックボックステストを補助するもの。
• ひらめきを補助するツール。
• 定性的分析ツール。
• 探索的テストは、用意周到な準備を求められてこそ、
とても複雑なテストを導入することができる。
– シナリオテストは、古典的な例。
– 拡張されたシナリオは、テストの設計と価値を理解する手助け
になり、開発や最初の実行で最も学ぶことができる。
2012/11/30 JaSST'12 Tokai SIG 31
- 32.
⑧文献の内容と考えたことの比較
• B)"Exploratory Testing."の内容(キーワード)
– 学習理論や認識の表現で理解を促進する。
– いくつかの誘導モデルがある
• FMEA(Failure mode & Effects analysis)は、
バグカタログに適用される
• 状態モデル
– モデル
• シンプルな表現(理解/操作/システムなどの予測)
• 学際的な基本のテスト
• どのように痕跡や報告状態を学ぶか
– ワークフロー分解
– ダッシュボード(計器盤)
2012/11/30 JaSST'12 Tokai SIG 32
- 33.
- 34.