「良いテストをするための手法     と習慣」加瀬 正樹( WACATE 実行委員会)                                                      1      Copyright (C) 2012...
アジェンダ•   はじめに•   良いテストとは•   良いテストをするための手法•   良いテストをするための習慣•   おわりに         Copyright (C) 2012 WACATE All rights reserved
はじめに 今回の WACATE では組合せテストがテーマ 実際はその前にいろいろな作業・検討がある   計画をする   分析をする   戦略を立てる   etc テスト設計 ( の前 ) で意識してほしいこと            Cop...
良いテストとは ここでは『良いテスト』をこう考える  適切なテスト技法を選んでいる                                                               良い手法  適切なテスト条件を選ん...
良いテストをするための手法 良いテストを構成する 2 軸適切     良 さそうなテスト                                       良 いテスト     ・効率 を意識 している               ...
ラルフチャートを使った分析 ラルフチャート  HAYST 法で使われる分析手法のひとつ。  すぐにテスト詳細設計に入れない ( 機能 ) 目的を図式化  して因子や水準をよりよく抽出し、テスト技法を発見  するチャート。      ノイズ・ア...
ラルフチャートの使い方例1Google ドキュメントを使うためにログインする                                     ノイズ・アクティブノイズ                                   ...
ラルフチャートの使い方例1Google ドキュメントを使うためにログインする                                               ④ ノイズ・アクティブノイズ                       ...
テスト技法の発見 ラルフチャートから必要なテスト技法を見つける入力       状態変数         ノイズ              アクティブノイ                        出力     テスト技法        ...
ラルフチャートを作成するコツ 処理・プロセスを中央に描く                                                        WAKATE アプ    PC 起動→                  ...
良いテストをするための習慣 見直しの習慣  テスト条件の見直し  要因・因子の見直し  粒度・水準・範囲の見直し  テスト技法の見直し       Copyright (C) 2012 WACATE All rights reserved
テスト条件の見直し テスト技法に従って作ったテスト条件・               前バージョンでは  テストケースは妥当か?  Thnderbird で UTF-8                                     ...
要因・因子の見直し 抽出した因子はどう扱ったか?    因子を使うか、あるいは剪定するか?    暗示的な因子は他にないか?    因子名はわかりやすいか?                                           ...
要因・因子の見直し 別のラルフチャートが参考にならない?       Copyright (C) 2012 WACATE All rights reserved
要因・因子の見直し<メール作成・送信のテスト>                     ・サイズが大きい ( テキスト , 添付                     ファイル )                     ・送信数が多い ( ...
要因・因子の見直し<メール閲覧・移動のテスト>                      ・プロトコル (POP3,IMAP4)                      ・移動先 ( フォルダにドロップ , ド                ...
粒度・水準・範囲の見直し ズームインとズームアウト   細かすぎるとテスト工数が増大   粗すぎると検出漏れのリスク                                                    テストの目的(目的機 ...
テスト技法の見直し 別のテスト技法のほうがよくないか?  論理関係は思ったほど複雑ではない  組合せは少ないから同値分割で十分  使いこなせないなら使わない       Copyright (C) 2012 WACATE All rights...
まとめ• 良いテストをするための手法 –   ラルフチャートの活用 –   入力 , 出力 , 状態変数 , ノイズ / アクティブノイズ –   テスト技法の選択• 良いテストをするための習慣 –   テスト条件の見直し –   要因・因子の...
おわりに ” 適切な”の解はひとつではない        Copyright (C) 2012 WACATE All rights reserved
Upcoming SlideShare
Loading in …5
×

20120624 wacate2012 s_イブニングセッション(当日用)

1,255 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,255
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
13
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

20120624 wacate2012 s_イブニングセッション(当日用)

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

×