More Related Content
Similar to 20120624 wacate2012 s_イブニングセッション(当日用)
Similar to 20120624 wacate2012 s_イブニングセッション(当日用) (13)
More from Masaki Kase (8)
20120624 wacate2012 s_イブニングセッション(当日用)
- 1. 「良いテストをするための手法
と習慣」
加瀬 正樹( WACATE 実行委員会)
1
Copyright (C) 2012 WACATE All rights reserved
- 2. アジェンダ
• はじめに
• 良いテストとは
• 良いテストをするための手法
• 良いテストをするための習慣
• おわりに
Copyright (C) 2012 WACATE All rights reserved
- 3. はじめに
今回の WACATE では組合せテストがテーマ
実際はその前にいろいろな作業・検討がある
計画をする
分析をする
戦略を立てる
etc
テスト設計 ( の前 ) で意識してほしいこと
Copyright (C) 2012 WACATE All rights reserved
- 4. 良いテストとは
ここでは『良いテスト』をこう考える
適切なテスト技法を選んでいる
良い手法
適切なテスト条件を選んでいる
良い習慣がある
いいね!
ステークホルダ
開発者 いいね!
エンドユーザ
テストエンジニア
Copyright (C) 2012 WACATE All rights reserved
- 5. 良いテストをするための手法
良いテストを構成する 2 軸
適切
良 さそうなテスト 良 いテスト
・効率 を意識 している ・効率 のよいテスト
適 ・的外 れなテスト ・網羅的 なテスト
切 ・ バグが残 る ・ ピンポイントなテスト
な
テ
ス 良くないテスト 普通のテスト
ト
技 ・非効率なテスト ・堅実なテスト
法 ・的外れなテスト ・非効率なテスト
・手ごたえがない ・見えないテスト
適切なテスト条件(因子・水準) 適切
Copyright (C) 2012 WACATE All rights reserved
- 6. ラルフチャートを使った分析
ラルフチャート
HAYST 法で使われる分析手法のひとつ。
すぐにテスト詳細設計に入れない ( 機能 ) 目的を図式化
して因子や水準をよりよく抽出し、テスト技法を発見
するチャート。
ノイズ・アクティブノイズ
目的機能を
入力 出力
表す図
ソフトウェアテスト技法ドリル , 秋山浩一 著
状態変数 http://www.amazon.co.jp/dp/4817193603
Copyright (C) 2012 WACATE All rights reserved
- 8. ラルフチャートの使い方
例1
Google ドキュメントを使うためにログインする
④ ノイズ・アクティブノイズ
・文字列のブレ ( 大小文
字)
① 入力 ・端末 /OS/ ブラウザ
・外部からの攻撃 ( 連続失
② 出力
・メール ( 正しい、 敗)
認証成功・
適当 )
失敗を判定 ・ログイン成功
・ Pass( 正しい、適
する ・ログインエラー
当)
・イベント ( ボタン
出力結果を判定する
、 Enter)
ために入力・状態に ③ 状態変数
論理関係がある ・利用中、停止中
⇒ デシジョンテー ・利用回数 (0 回、 1 回~ )
ブル
Copyright (C) 2012 WACATE All rights reserved
- 9. テスト技法の発見
ラルフチャートから必要なテスト技法を見つける
入力 状態変数 ノイズ アクティブノイ 出力 テスト技法
ズ
少ない 少ない 同値分割・境界値
- - -
分析
論理関係 正常系 原因結果グラフ
- - -
異常系
( 有則 ) CFD ・ DT
組合せ 市場環境 いたずら 正常系
Read 中心 HAYST 法・直交
( 無則 ) 表・ペアワイズ
状態遷移
- Read/Write - - -
論理関係 機能図式
Read/Write - - -
( 有則 )
市場環境 例外系 シナリオテスト
- Read/Write -
極限環境 多大 負荷テスト
- - -
異常値 エラー系 エラー処理テスト
- - -
JaSST’12 Tokyo チュートリアル , 秋山資料
Copyright (C) 2012 WACATE All rights reserved
- 10. ラルフチャートを作成するコツ
処理・プロセスを中央に描く
WAKATE アプ
PC 起動→
リ
メーラー起動
条件判定して
→ 受信操作
参加費表示
入力⇒出力⇒状態変数⇒ノイズの順番で考える
状態変数やノイズは暗示的な因子が多い
例示を考えてみる
具体的な変数値・シーンを考えて、出力を想像
有則 or 無則? 処理を妨害するには?
テスト技法を選択する
Copyright (C) 2012 WACATE All rights reserved
- 11. 良いテストをするための習慣
見直しの習慣
テスト条件の見直し
要因・因子の見直し
粒度・水準・範囲の見直し
テスト技法の見直し
Copyright (C) 2012 WACATE All rights reserved
- 12. テスト条件の見直し
テスト技法に従って作ったテスト条件・
前バージョンでは
テストケースは妥当か? Thnderbird で UTF-8
の場合にバグが
プロト セキュリ 文字コー 使用ソフト
コル ティ ド あった。
ちょっと心
#1 POP なし JIS Thunderbird
配・・・
#2 IMAP SSL JIS Becky!
#3 IMAP SSL UTF-8 Thunderbird
L8 直交表に
#4 POP なし UTF-8 Becky! 割りつけたテスト
#5 IMAP なし EUC-JP Becky!
#6 POP SSL EUC-JP Thunderbird
#7 POP SSL Shift_JIS Becky!
#8 IMAP なし Shift_JIS Thunderbird
#9 IMAP なし UTF-8 Thunderbird 追加したテスト
#1 POP なし UTF-8 Thunderbird
0
Copyright (C) 2012 WACATE All rights reserved
- 13. 要因・因子の見直し
抽出した因子はどう扱ったか?
因子を使うか、あるいは剪定するか?
暗示的な因子は他にないか?
因子名はわかりやすいか?
④ ノイズ・アクティブノイズ
・文字列のブレ ( 大小文
字)
① 入力 ・端末 /OS/ ブラウザ
・外部からの攻撃 ( 連続失
② 出力
・メール ( 正しい、 敗)
認証成功・
適当 )
失敗を判定 ・ログイン成功
・ Pass( 正しい、適
する ・ログインエラー
当)
この目的機能には ・イベント ( ボタン
関係ないが、別の 、 Enter)
目的機能では State ③ 状態変数
で使いそう ・利用中、停止中
・利用回数 (0 回、 1 回~ )
Copyright (C) 2012 WACATE All rights reserved
- 15. 要因・因子の見直し
<メール作成・送信のテスト>
・サイズが大きい ( テキスト , 添付
ファイル )
・送信数が多い ( 宛先 , 送信数 )
・アンチウイルスソフト ( なし ,XX
社 ,YY 社 )
・メールの内容
・宛先 ( 空 , 知り合い , 手 ・送信成功
入力 ) 起動→新規作 ・送信待ち
・題名 ( 空 , 日本語 , 長い
成→送信 ・送信失敗 ( エラー )
題名 ) ・送信失敗 ( エラー
・本文 ( 空 ,HTML, 添付あ メール )
り)
・送信サーバ設定
( デフォルト , 別サーバ ・接続状態 ( オフ ,NB,BB, モバ
設定 ) イル )
・作成データ ( 新規 , 下書きか
ら編集 )
Copyright (C) 2012 WACATE All rights reserved
- 16. 要因・因子の見直し
<メール閲覧・移動のテスト>
・プロトコル (POP3,IMAP4)
・移動先 ( フォルダにドロップ , ド
ロップミス )
・アカウント ( 同一アカウント , 別ア 回線状態も
カウント )
影響しそう
・フォルダ選択
( 受信箱 , フォルダ 1, ゴ 起動→メー
・閲覧 ( 成功 , 失敗 )
ミ箱 ) ル閲覧→移
・移動 ( 成功 , 失敗 )
・メール選択 ( 未読 , 既 動
読 , 新着 )
・クリック ( シングル , ダ
ブル )
・移動方法 (D&D, 右ク ・フラグ ( 未読 , 新着 , 削除 )
リック ) ・フォルダ情報 ( 受信箱 , フォルダ 1,
ゴミ箱 )
・通数やサイズ
受信サーバ設定
は影響しない?
Copyright (C) 2012 WACATE All rights reserved
- 17. 粒度・水準・範囲の見直し
ズームインとズームアウト
細かすぎるとテスト工数が増大
粗すぎると検出漏れのリスク
テストの目的(目的機
能)によって適切な粒度
は異なる
<パスワード入力>
その他 「英字」「数字」は「英数
数字 字」にまとめても問題ない
だろう
記号
英字 「英字」はさらに「大文
字」「小文字」に分けて
考えるべき
シナリオテスト 単機能テスト
Copyright (C) 2012 WACATE All rights reserved
- 19. まとめ
• 良いテストをするための手法
– ラルフチャートの活用
– 入力 , 出力 , 状態変数 , ノイズ / アクティブノイズ
– テスト技法の選択
• 良いテストをするための習慣
– テスト条件の見直し
– 要因・因子の見直し
– 粒度・水準・範囲の見直し
– テスト技法の見直し
Copyright (C) 2012 WACATE All rights reserved