がいせつ
テストぶんせき
Ver.2016/09/02
やまさきたかし
https://www.pakutaso.com/20120321088post-1327.html
山﨑 崇
@yamasaki696
http://www.freeimages.com/photo/ices-1542341
http://www.freeimages.com/photo/crowded-hands-1435574
http://www.freeimages.com/photo/young-hands-1429862
http://www.freeimages.com/photo/sky-hand-1186819
http://jp.freeimages.com/photo/soccer-2-1430279
https://www.pakutaso.com/20141152308post-4790.html
Test Design Technic
Test
Basis
Test
Cases
Test
Basis
Test
Cases
Test
Cases
テストベース※ に対していきなり
テスト設計技法を適用している?
※テストベースとはテストを考える上で入力となる情報全般のこと。例えば要件定義書、仕様書、外部設計書など様々
Test Design Technics
Test Design Technic
Test
Basis
Test
Cases
Test
Basis
Test
Cases
Test
Cases
Test Design Technics
それは失敗フラグです
改めてテストプロセスに
ついて考えてみましょう
https://www.pakutaso.com/20130136022post-2338.html
プ ロ グ ラ ム を 作 っ て
み た の で 思 っ た 通 り に
動 く か ど う か 調 べ て
みようかな~♪
テスト実行
https://www.pakutaso.com/20130147022post-2340.html
あれ?そういえばこの
プログラムに対して
ど ん な テ ス ト を し た ん
だっけ?何をテストする
の か 記 述 し て お か な い
と・・・
テスト実行テスト実装
https://www.pakutaso.com/20130147022post-2340.html
いっぱいテストケースが
あるけど、もっとバグが
でそうなところを狙って
効率的で効果的なテスト
を作れないかな?
テスト実行テスト実装テスト設計
https://www.pakutaso.com/20130147022post-2340.html
そもそもテスト対象に対
してどんなテストが必要
な の か 考 え な い と 駄 目
じゃないのかな?
テスト実行テスト実装テスト設計テスト分析
https://www.pakutaso.com/20130147022post-2340.html
テスト
実行
テスト
実装
テスト
設計
テスト
分析
テスト
ベース
テスト
条件
テスト
ケース
テスト手順
/スクリプト
※図はウォーターフォールを意味しておらず並列的であったり反復的であったりする
テスト
実行
テスト
実装
テスト
設計
テスト
ベース
テスト
ケース
テスト手順
/スクリプト
テスト
実行
テスト
実装
テスト
設計
テスト
分析
テスト
ベース
テスト
条件
テスト
ケース
テスト手順
/スクリプト
• テスト設計コンテス
ト
余談
日本ではさらにテストプロセスを発展的に捕らえており、
次の様なテスト開発プロセスが提案されている
テスト設計※またはテスト計画、テスト準備など表現は様々
テスト
実施
テスト
要求分析
テスト
アーキテクチャ
設計
テスト
詳細設計
テスト
実装
テスト
実施
テスト分析 テスト設計 テスト実装
テスト
実行
これまでの
プロセス
JSTQBの
テスト開発
プロセス
最新の
テスト開発
プロセス
閑話休題
https://www.pakutaso.com/2015104928945srtfghd.html
改めてテスト分析って
何なのか考えてみよう
テスト分析は、「何を」テストするかを
テスト条件の形式で定義する活動である。
テスト条件は、テストベース、テスト目的、
およびプロダクトリスクを分析することに
より、識別可能である。
テスト技術者資格制度Advanced Levelシラバス日本語版テストマネージャVersion 2012.J02 Page 11 より
テ ス ト 計 画 作 業 で は 、 テ ス ト
プロジェクトのスコープを定義する。
テストアナリストはこのスコープを
使用して、次のことを行う。
• テストベースを分析する。
• テスト条件を識別する。
テスト技術者資格制度Advanced Levelシラバス日本語版テストアナリスト Version 2012.J01 Page 12 より
http://www.freeimages.com/photo/dictionary-1423121
テスト分析とは、主に
テストベースを分析し
テスト条件を導出する
ことと理解できそうだ
https://www.pakutaso.com/20150823226post-5898.html
でも、テスト条件が
どういうものなのか
よくわからない・・・
ソフトウェアテスト標準用語集(日本語版) Version2.2.J03 P-39より
コンポーネントやシステムのアイテム
やイベントで、 テストケースにより
検証できるもの。たとえば、機能、
ト ラ ン ザクシ ョ ン 、フィ ー チ ャ 、
品質特性、構造要素など。
http://www.freeimages.com/photo/dictionary-1423121
意味
不明 https://www.pakutaso.com/20130949245post-3231.html
例えば次の仕様に対してテスト条件を考えてみる
• パスワードは4文字以上12文字以下の
英数字のみを許容する。
• パスワードを3分以内に連続して4回以上
間違って入力すると、アカウントを5分間
ロックする。
http://jp.freeimages.com/photo/studying-ahead-1421056
• パスワードは4文字以上12文字以下の
英数字のみを許容する。
• パスワードを3分以内に連続して4回以上
間違って入力すると、アカウントを5分間
ロックする。
パスワードの
文字列長
パスワードの
文字種
許容しない場合
どうなる?
要件を満たさない文字入力を
はじくのか、エラーとして
処理するのか?
誤入力回数管理誤入力期間管理
ロック状態
保持期間
時間精度
ミリ秒の精度は手動では
無理。他の方法で担保する
必要がありそう
アカウントの
状態遷移
4回目でロックに
なって、ロック中
に再度入力すると
どうなるの?
秒?ミリ?
★全体としてセキュリティ
のための機能としては脆弱
に見える
もしブルートフォース攻撃に対してセ
キュリティを確保するためであるなら、
セキュリティ要件を満たしていない可
能性はないか?
回数のクリア
タイミング
パスワード
長さ 文字種
アカウント
状態
ロック中ログイン中 ログアウト中
誤入力回数 誤入力期間
ログイン機能
?
?
これらのノードがテスト条件
※今回の例では分かり易いように末端の枝葉な仕様から粒度の細かいテスト
条件を考えているが、実務においてはテストの目的、プロダクトやサービスのリスク、
その他様々な要素を元に抽象度の高い段階から選択的に詳細化していくことが多い。
テスト条件を詳細化するにはそれだけコストがかかるので、実務ではバランスを考え
た上で行う必要がある。
パスワード
長さ 文字種
アカウント
状態
ロック中ログイン中 ログアウト中
誤入力回数 誤入力期間
ログイン機能
?
?
同値分析
境界値分析
同値分析
境界値分析
状態遷移テスト
テスト条件に対して具体的にどのような
テストケースを作るかをテスト設計の段階
で行う。その際に重要なのが網羅基準です。
同値分割
境界値分析
http://jp.freeimages.com/photo/green-signal-1305843
https://www.pakutaso.com/20141200358post-4988.html
• パスワードは4文字以上32文字以下の
英数字のみを許容する。
• パスワードを3分以内に連続して4回以上
間違って入力すると、アカウントを5分間
ロックする。
パスワードの
文字列長
パスワードの
文字種
許容しない場合
どうなる?
要件を満たさない文字入力を
はじくのか、エラーとして
処理するのか?
誤入力回数管理誤入力期間管理
ロック状態
保持期間
時間精度
ミリ秒の精度は手動では
無理。他の方法で担保する
必要がありそう
アカウントの
状態遷移
4回目でロックに
なって、ロック中
に再度入力すると
どうなるの?
秒?ミリ?
★全体としてセキュリティ
のための機能としては脆弱
に見える
もしブルートフォース攻撃に対してセ
キュリティを確保するためであるなら、
セキュリティ要件を満たしていない可
能性はないか?
回数のクリア
タイミング
どれだけテストベースを汚せるかが重要
不明部分をテストの視点から洗い出し
この時点で曖昧性や矛盾などを取り除くと
ともに、書かれていない情報を補っていく
単純に洗い出したテスト条件を整理する
だけではなく、MECEで有るかどうか、
親子関係として妥当かどうかなどを考え、
構造を整理したり、追加したり、削除し
たり、統合したりしていく。
(c) 鈴木三紀夫 https://twitter.com/mkoszk/status/509922586294112256
実際にやってみよう!
https://www.pakutaso.com/20150804216post-5848.html
演習問題
次の仕様からテスト条件を
導出してください
①「ユーザデータ登録」画面の
「インポート」ボタンを押下する
ことで、「ユーザデータの一括登録」
画面に遷移する。
②「ファイル選択」ボタンを押下する
と「ファイル選択」画面が表示され、
ツリー構造のビューからインポート
対象のファイルを選択することができ
る。
③「登録」ボタンを押下するとファイ
ル内のデータを読み込み、
「ユーザデータの一括登録」画面を
閉じ、「ユーザデータ」画面を
表示する。
周りの人と
結果を共有しよう
https://www.pakutaso.com/20120135012post-1088.html
とはいえ、どうやって分析するの?
とっかかりは?
http://www.freepik.com/free-vector/people-communication-infographic_712678.htm
http://www.freepik.com/free-vector/business-meeting-infographic_792711.htm
ここで重要に
なるのが方法論!
https://www.pakutaso.com/20130337065post-2501.html
方法論化することのメリット①
出力形式の共通化により
レビューが容易になる
https://www.pakutaso.com/20150524127post-5475.html
http://www.freeimages.com/photo/recycle-1244643
方法論化することのメリット③
形式知となるため
組織に展開し易い
http://jp.freeimages.com/photo/arrows-abstract-3-1157246
VSTeP
(NGT)
HAYST法
(FV表/ラルフチャート)
ゆもつよメソッド
(論理的機能構造)
西康晴氏
@YasuharuNishi
湯本剛氏
@yumotsuyo
秋山浩一氏
@akiyama924
ま だ ま だ 成 長 途 中 の 領 域 で す が
既存の方法論をあたってみたり、
さ ま ざ ま 試 行 錯 誤 し て み た り 、
テ ス ト 設 計 コ ン テ ス ト に
参加してみたり、色々と挑戦して
学び成長してください!!!
http://jp.freeimages.com/photo/the-future-1409802
http://jp.freeimages.com/photo/soccer-2-1430279
https://www.pakutaso.com/20141152308post-4790.html
参考資料
ソフトウェアテスト標準用語集(日本語版)Version2.2.J03
テスト観点に基づくテスト開発方法論VSTePの概要 西康晴氏
事例とツールで学ぶHAYST法 秋山浩一氏
WACATE2015夏資料 ゆもつよメソッド その1/その2 湯本剛氏
テスト分析の三角形 鈴木三紀夫氏
高信頼化ソフトウェアのための開発手法ガイドブック
マインドマップからはじめるソフトウェアテスト 池田暁氏 鈴木三紀夫氏
「マインドマップから始めるソフトウェアテスト」の読書補助ガイド 第1.0版
ソフトウエア・テスト PRESS Vol.2「三色ボールペンで読む仕様書」鈴木三紀夫氏
テスト設計コンテストOPENクラス チュートリアル資料
テスト設計コンテストU-30クラス チュートリアル資料
テスト技術者資格制度Foundation Levelシラバス日本語版Version 2011.J02
テスト技術者資格制度Advanced Levelシラバス日本語版テストアナリストVersion 2012.J01
テスト技術者資格制度Advanced Levelシラバス日本語版テストマネージャVersion 2012.J02
写真素材
PAKTASO
REEIMAGES
Designed by Freepik.com

概説 テスト分析