SlideShare a Scribd company logo
1 of 20
「良いテストをするための手法
     と習慣」
加瀬 正樹( WACATE 実行委員会)




                                                      1


      Copyright (C) 2012 WACATE All rights reserved
アジェンダ

•   はじめに
•   良いテストとは
•   良いテストをするための手法
•   良いテストをするための習慣
•   おわりに




         Copyright (C) 2012 WACATE All rights reserved
はじめに

 今回の WACATE では組合せテストがテーマ
 実際はその前にいろいろな作業・検討がある
   計画をする
   分析をする
   戦略を立てる
   etc
 テスト設計 ( の前 ) で意識してほしいこと




            Copyright (C) 2012 WACATE All rights reserved
良いテストとは

 ここでは『良いテスト』をこう考える
  適切なテスト技法を選んでいる
                                                               良い手法
  適切なテスト条件を選んでいる
  良い習慣がある
                                                             いいね!

                                              ステークホルダ
  開発者                                                           いいね!




                                                              エンドユーザ
  テストエンジニア

             Copyright (C) 2012 WACATE All rights reserved
良いテストをするための手法

 良いテストを構成する 2 軸
適切
     良 さそうなテスト                                       良 いテスト
     ・効率 を意識 している                               ・効率 のよいテスト
適     ・的外 れなテスト                                  ・網羅的 なテスト
切      ・ バグが残 る                                ・ ピンポイントなテスト
な
テ
ス    良くないテスト                                      普通のテスト
ト
技     ・非効率なテスト                                       ・堅実なテスト
法     ・的外れなテスト                                      ・非効率なテスト
      ・手ごたえがない                                      ・見えないテスト


              適切なテスト条件(因子・水準)                                  適切

            Copyright (C) 2012 WACATE All rights reserved
ラルフチャートを使った分析

 ラルフチャート
  HAYST 法で使われる分析手法のひとつ。
  すぐにテスト詳細設計に入れない ( 機能 ) 目的を図式化
  して因子や水準をよりよく抽出し、テスト技法を発見
  するチャート。

      ノイズ・アクティブノイズ



        目的機能を
 入力                            出力
         表す図


                                                   ソフトウェアテスト技法ドリル , 秋山浩一 著
        状態変数                                       http://www.amazon.co.jp/dp/4817193603



                Copyright (C) 2012 WACATE All rights reserved
ラルフチャートの使い方
例1
Google ドキュメントを使うためにログインする

                                     ノイズ・アクティブノイズ



                                              目的機能を
                     入力                                    出力
                                               表す図



                                               状態変数




           Copyright (C) 2012 WACATE All rights reserved
ラルフチャートの使い方
例1
Google ドキュメントを使うためにログインする

                                               ④ ノイズ・アクティブノイズ
                                                 ・文字列のブレ ( 大小文
                                                 字)
                    ① 入力                         ・端末 /OS/ ブラウザ
                                                 ・外部からの攻撃 ( 連続失
                                                               ② 出力
           ・メール ( 正しい、                           敗)
                                                  認証成功・
           適当 )
                                                  失敗を判定      ・ログイン成功
           ・ Pass( 正しい、適
                                                    する       ・ログインエラー
           当)
           ・イベント ( ボタン
  出力結果を判定する
           、 Enter)
  ために入力・状態に             ③ 状態変数
    論理関係がある                 ・利用中、停止中
  ⇒  デシジョンテー                ・利用回数 (0 回、 1 回~ )
      ブル


                Copyright (C) 2012 WACATE All rights reserved
テスト技法の発見

 ラルフチャートから必要なテスト技法を見つける
入力       状態変数         ノイズ              アクティブノイ                        出力     テスト技法
                                       ズ
少ない                                                                   少ない    同値分割・境界値
         -            -                -
                                                                             分析
論理関係                                                                  正常系    原因結果グラフ
         -            -                -
                                                                      異常系
( 有則 )                                                                       CFD ・ DT
組合せ                   市場環境             いたずら                           正常系
         Read 中心                                                             HAYST 法・直交
( 無則 )                                                                       表・ペアワイズ
                                                                             状態遷移
-        Read/Write   -                -                              -
論理関係                                                                         機能図式
         Read/Write   -                -                              -
( 有則 )
                      市場環境                                            例外系    シナリオテスト
-        Read/Write                    -
                      極限環境                                            多大     負荷テスト
-        -                             -
異常値                                                                   エラー系   エラー処理テスト
         -            -                -
                                                          JaSST’12 Tokyo チュートリアル , 秋山資料

                          Copyright (C) 2012 WACATE All rights reserved
ラルフチャートを作成するコツ

 処理・プロセスを中央に描く
                                                        WAKATE アプ
    PC 起動→
                                                            リ
   メーラー起動
                                                        条件判定して
   → 受信操作
                                                         参加費表示

 入力⇒出力⇒状態変数⇒ノイズの順番で考える
  状態変数やノイズは暗示的な因子が多い
 例示を考えてみる
  具体的な変数値・シーンを考えて、出力を想像
  有則 or 無則? 処理を妨害するには?
 テスト技法を選択する

             Copyright (C) 2012 WACATE All rights reserved
良いテストをするための習慣

 見直しの習慣
  テスト条件の見直し
  要因・因子の見直し
  粒度・水準・範囲の見直し
  テスト技法の見直し




       Copyright (C) 2012 WACATE All rights reserved
テスト条件の見直し

 テスト技法に従って作ったテスト条件・
               前バージョンでは
  テストケースは妥当か?  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
要因・因子の見直し

 抽出した因子はどう扱ったか?
    因子を使うか、あるいは剪定するか?
    暗示的な因子は他にないか?
    因子名はわかりやすいか?
                                                ④ ノイズ・アクティブノイズ
                                                  ・文字列のブレ ( 大小文
                                                  字)
                     ① 入力                         ・端末 /OS/ ブラウザ
                                                  ・外部からの攻撃 ( 連続失
                                                                ② 出力
              ・メール ( 正しい、                         敗)
                                                   認証成功・
              適当 )
                                                   失敗を判定      ・ログイン成功
              ・ Pass( 正しい、適
                                                     する       ・ログインエラー
              当)
 この目的機能には ・イベント ( ボタン
 関係ないが、別の 、 Enter)
 目的機能では State              ③ 状態変数
   で使いそう                       ・利用中、停止中
                               ・利用回数 (0 回、 1 回~ )
                 Copyright (C) 2012 WACATE All rights reserved
要因・因子の見直し

 別のラルフチャートが参考にならない?




       Copyright (C) 2012 WACATE All rights reserved
要因・因子の見直し
<メール作成・送信のテスト>

                     ・サイズが大きい ( テキスト , 添付
                     ファイル )
                     ・送信数が多い ( 宛先 , 送信数 )
                     ・アンチウイルスソフト ( なし ,XX
                     社 ,YY 社 )
                     ・メールの内容
・宛先 ( 空 , 知り合い , 手                                                    ・送信成功
入力 )                         起動→新規作                                   ・送信待ち
・題名 ( 空 , 日本語 , 長い
                              成→送信                                    ・送信失敗 ( エラー )
題名 )                                                                  ・送信失敗 ( エラー
・本文 ( 空 ,HTML, 添付あ                                                    メール )
り)
・送信サーバ設定
  ( デフォルト , 別サーバ        ・接続状態 ( オフ ,NB,BB, モバ
設定 )                    イル )
                        ・作成データ ( 新規 , 下書きか
                        ら編集 )




                      Copyright (C) 2012 WACATE All rights reserved
要因・因子の見直し
<メール閲覧・移動のテスト>

                      ・プロトコル (POP3,IMAP4)
                      ・移動先 ( フォルダにドロップ , ド
                      ロップミス )
                      ・アカウント ( 同一アカウント , 別ア                                   回線状態も
                      カウント )
                                                                              影響しそう
・フォルダ選択
  ( 受信箱 , フォルダ 1, ゴ            起動→メー
                                                                       ・閲覧 ( 成功 , 失敗 )
ミ箱 )                           ル閲覧→移
                                                                       ・移動 ( 成功 , 失敗 )
・メール選択 ( 未読 , 既                  動
読 , 新着 )
・クリック ( シングル , ダ
ブル )
・移動方法 (D&D, 右ク           ・フラグ ( 未読 , 新着 , 削除 )
リック )                    ・フォルダ情報 ( 受信箱 , フォルダ 1,
                         ゴミ箱 )
                         ・通数やサイズ
    受信サーバ設定
    は影響しない?


                       Copyright (C) 2012 WACATE All rights reserved
粒度・水準・範囲の見直し

 ズームインとズームアウト
   細かすぎるとテスト工数が増大
   粗すぎると検出漏れのリスク

                                                    テストの目的(目的機
                                                   能)によって適切な粒度
                                                       は異なる
 <パスワード入力>
             その他                    「英字」「数字」は「英数
   数字                               字」にまとめても問題ない
                                         だろう
         記号

   英字                                           「英字」はさらに「大文
                                                字」「小文字」に分けて
                                                   考えるべき
                      シナリオテスト                                 単機能テスト
              Copyright (C) 2012 WACATE All rights reserved
テスト技法の見直し

 別のテスト技法のほうがよくないか?
  論理関係は思ったほど複雑ではない
  組合せは少ないから同値分割で十分
  使いこなせないなら使わない




       Copyright (C) 2012 WACATE All rights reserved
まとめ

• 良いテストをするための手法
 –   ラルフチャートの活用
 –   入力 , 出力 , 状態変数 , ノイズ / アクティブノイズ
 –   テスト技法の選択
• 良いテストをするための習慣
 –   テスト条件の見直し
 –   要因・因子の見直し
 –   粒度・水準・範囲の見直し
 –   テスト技法の見直し



             Copyright (C) 2012 WACATE All rights reserved
おわりに

 ” 適切な”の解はひとつではない




        Copyright (C) 2012 WACATE All rights reserved

More Related Content

What's hot

テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
H Iseri
 

What's hot (20)

テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
 
あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~
 
テスト観点に基づくテスト開発方法論 VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要
 
What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
パターン 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)へ
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
20211023 良いテストを作るためのテスト設計チュートリアルを考える
20211023 良いテストを作るためのテスト設計チュートリアルを考える20211023 良いテストを作るためのテスト設計チュートリアルを考える
20211023 良いテストを作るためのテスト設計チュートリアルを考える
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
 
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
 
Software Frontloading and QA
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 

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

第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
Tomoyuki Sato
 

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

C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_test
 
探索的テストから考える現場の工夫(Slideshare)
探索的テストから考える現場の工夫(Slideshare)探索的テストから考える現場の工夫(Slideshare)
探索的テストから考える現場の工夫(Slideshare)
 
VDM++仕様を対象としたテストケース自動生成ツールBWDMにおけるペアワイズ法とドメイン分析テストの適用のための機能拡張
VDM++仕様を対象としたテストケース自動生成ツールBWDMにおけるペアワイズ法とドメイン分析テストの適用のための機能拡張VDM++仕様を対象としたテストケース自動生成ツールBWDMにおけるペアワイズ法とドメイン分析テストの適用のための機能拡張
VDM++仕様を対象としたテストケース自動生成ツールBWDMにおけるペアワイズ法とドメイン分析テストの適用のための機能拡張
 
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おう
 
研究説明(学部生向け)
研究説明(学部生向け)研究説明(学部生向け)
研究説明(学部生向け)
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
 
wacate2012s
wacate2012swacate2012s
wacate2012s
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
 

More from Masaki Kase (8)

WACATE2018 夏 原因結果グラフ解説
WACATE2018 夏 原因結果グラフ解説WACATE2018 夏 原因結果グラフ解説
WACATE2018 夏 原因結果グラフ解説
 
WACATE2018 夏 原因結果グラフ演習問題 解答例
WACATE2018 夏 原因結果グラフ演習問題 解答例WACATE2018 夏 原因結果グラフ演習問題 解答例
WACATE2018 夏 原因結果グラフ演習問題 解答例
 
WACATE2018 夏 原因結果グラフ演習問題
WACATE2018 夏 原因結果グラフ演習問題WACATE2018 夏 原因結果グラフ演習問題
WACATE2018 夏 原因結果グラフ演習問題
 
ISPにおける迷惑メール対策と法律
ISPにおける迷惑メール対策と法律ISPにおける迷惑メール対策と法律
ISPにおける迷惑メール対策と法律
 
WACATE2010w テスト技法ワーク_スライド
WACATE2010w テスト技法ワーク_スライドWACATE2010w テスト技法ワーク_スライド
WACATE2010w テスト技法ワーク_スライド
 
JaSST'11 Kyushu 配布資料(スライド)
JaSST'11 Kyushu 配布資料(スライド)JaSST'11 Kyushu 配布資料(スライド)
JaSST'11 Kyushu 配布資料(スライド)
 
JaSST'10 Shikoku 公開資料
JaSST'10 Shikoku 公開資料JaSST'10 Shikoku 公開資料
JaSST'10 Shikoku 公開資料
 
20101130 南東京iphone開発3
20101130 南東京iphone開発320101130 南東京iphone開発3
20101130 南東京iphone開発3
 

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
  • 7. ラルフチャートの使い方 例1 Google ドキュメントを使うためにログインする ノイズ・アクティブノイズ 目的機能を 入力 出力 表す図 状態変数 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
  • 18. テスト技法の見直し  別のテスト技法のほうがよくないか? 論理関係は思ったほど複雑ではない 組合せは少ないから同値分割で十分 使いこなせないなら使わない Copyright (C) 2012 WACATE All rights reserved
  • 19. まとめ • 良いテストをするための手法 – ラルフチャートの活用 – 入力 , 出力 , 状態変数 , ノイズ / アクティブノイズ – テスト技法の選択 • 良いテストをするための習慣 – テスト条件の見直し – 要因・因子の見直し – 粒度・水準・範囲の見直し – テスト技法の見直し Copyright (C) 2012 WACATE All rights reserved
  • 20. おわりに  ” 適切な”の解はひとつではない Copyright (C) 2012 WACATE All rights reserved