SlideShare a Scribd company logo
© NISHI, Yasuharu
同値分割ってなんだろう?
九州ソフトウェアテスト勉強会(仮) Vol.7
2014/5/28(水)
電気通信大学 大学院情報理工学研究科
総合情報学専攻 経営情報学コース
西 康晴(Yasuharu.Nishi@uec.ac.jp, http://qualab.jp/)
© NISHI, Yasuharu2
Profile
Assistant professor:
the University of Electro-Communications, Japan
(also providing consultancy service to industry on testing and TQM)
President:
Association of Software Test Engineering, Japan (ASTER)
President:
Japan Software Testing Qualifications Board (JSTQB)
National delegate:
ISO/IEC JTC1/SC7/WG26 Software testing
for ISO/IEC/IEEE 29119-1, 2, 3, 4, 5 and ISO/IEC 33063
Founder:
Japan Symposium on Software Testing (JaSST)
Founder:
Testing Engineers’ Forum (Japanese community on software testing)
Founder and awards committee member:
Software Test Design Contest
Vice chair:
SQiP/Software Quality Committee of JUSE (promoting organization of TQM)
(SQiP has published the book of “SQuBOK: Software Quality Body of Knowledge”)
© NISHI, Yasuharu3
今日の進め方
ゆる~く、進めま~す (^_^)
© NISHI, Yasuharu4
本日の流れ
• 同値分割の定義
• 簡単な同値分割
• だんだん高度になる同値分割
• 同値分割って、同値に分割すること?
© NISHI, Yasuharu5
基本的なテストの目的
• 「テストしなければバグは見つからない」
– 漏れなくテストを設計する
» 漏れなくテストを行うためには、
思いつきでテストをあげてはならない
– 動作実績を積み上げて品質を保証する
「保証型」のテストである
» テスト観点、組み合わせ、網羅率の3者を考慮する
• 「大事なところをテストする」
– バグを狙ってテストを設計する
» バグにはクセがあり、きちんと分析すれば推測できる
– 品質リスクが高い順にテストを行う「検出型」のテストである
» 品質リスク=処理頻度×欠陥作り込み確率×不具合露呈確率×不具合致命度
網羅
ピンポイント
少ない手間で早くたくさん危険なバグを検出する
© NISHI, Yasuharu6
同値分割とは:同値分割の定義
• FLシラバス/4.3.1. 同値分割法 (K3)
– 同値分割法は、ソフトウェアやシステムへの入力を同じ処理をするグループに
分割し、グループ内の入力を同等に扱えるようにする技法である。
– 同値分割したグループ(あるいは、同値分割したクラス)は、有効データ、すな
わち受け入れられるデータだけでなく、無効データ、すなわち拒否されるデータ
にもある。
– 同値分割したグループは、出力、内部変数、時間に依存する値(例えば、イベ
ントの前と後)にも存在し、インターフェースパラメータにもある。
– (例えば、テスト済みの統合されたコンポーネント)テストでは、同値分割した全
ての有効な領域、無効な領域をカバーするように設計する。
– 同値分割法は、あらゆるレベルのテストで適用できる。
– 同値分割法は、入出力のカバレッジ目標を達成する場合に使用できる。また、
人間による入力、インターフェース経由でのシステムへの入力、統合テストで
のインターフェースパラメータに適用できる。
© NISHI, Yasuharu7
同値分割とは:境界値分析の定義
• FLシラバス/4.3.2. 境界値分析(K3)
– 同値分割したグループの境界上の動作は、グループ内部での(境界ではない)
動作よりも正しくないことが多く、境界には多くの欠陥が潜んでいる可能性が
大きい。
– ある領域の最大値、最小値は境界値である。同値分割した場合の有効な領域
側の境界値は、「有効な境界値」となり、無効な領域側の境界値は「無効な境
界値」となる。
– 有効および無効な境界値の両方をカバーするようにテストを設計する。テスト
ケースを設計するときは、両領域から値を選ぶ。
– 境界値分析は、あらゆるテストレベルで適用できる。比較的簡単に適用でき、
欠陥摘出能力も高い。
– 詳細化された仕様は、重要な境界値を決定するために役に立つ。
– この技法は、同値分割法の拡張、または他のブラックボックステスト設計技法
と見なされることが多い。人間による画面入力や、例えば、タイミング(タイムア
ウト、トランザクション速度に対する要求など)やテーブルの範囲(テーブルサイ
ズは256×256 であるなど)にも使用できる。
© NISHI, Yasuharu8
同値分割:要するに
同じのに分けて
代表的なのを選ぶことで
バグを見逃さずに/網羅性を落とさずに
テストの数を減らす方法
「同じの」 = 同値クラス
© NISHI, Yasuharu9
シンプルな演習
• 以下のモジュールのテストを設計してみましょう
– int型の引数aがあります
– モジュール内にはif (a<0) と if (7<a)という
2つの条件文があります
• まず同値クラスを挙げてみましょう。
• 次に同値クラスの境界値を挙げてみましょう
• 最後に、どんなバグが見つかるかを
考えてみましょう
© NISHI, Yasuharu10
解答:シンプルな演習
• 同値クラスは
– int型の範囲を -32767~ +32767とする
– 【-32767~-1】【0~7】【8~+32767】の3つが同値クラス
• 境界値は
– -32768, -32767, -1, 0
– -1, 0, 7, 8
– 7, 8, +32767, +32768
– したがって、-32768, -32767, -1, 0, 7, 8, +32767, +32768 の8つ
• 見つかるバグは?
– これは考えてみましょう
© NISHI, Yasuharu11
もやっとする演習:湯本の問題
• 以下の仕様について、テストを設計してみましょう
年齢が6歳以上18歳以下、
現住所が福岡県、
学生証の提示ありの場合に、
チケット代金を学生金額とする
© NISHI, Yasuharu12
もやもやもやっとする演習:Myersの三角形
• 以下のプログラムをテストするのに
十分と思われるテストケースを全て挙げて下さい
– このプログラムは、3つの整数を入力される
– この3つの値は、それぞれ三角形の3辺の長さを
表すものとする
– このプログラムは、三角形が
» 不等辺三角形
» 二等辺三角形
» 正三角形
のうち、どれであるかを出力する
© NISHI, Yasuharu13
解答: Myersの三角形
• 有効な不等辺三角形
• 有効な正三角形
• 有効な二等辺三角形
• 有効な二等辺三角形で
3種類の辺の組み合わせ
• 長さが0の辺
• 長さが負の値の辺
• 2辺の和がもう1辺と等しい
• 2辺の和がもう1辺と等しい
際の3種類の辺の組み合わせ
• 2辺の和がもう1辺より小さい
• 2辺の和がもう1辺より小さい
際の3種類の辺の組み合わせ
• 3辺が0
• 整数でない辺
• 辺の数が3以外
• 期待結果を示してある
以下の条件に当てはめるテストを設計していたら1点
平均的なプログラマは
7.8点
© NISHI, Yasuharu14
同値分割の簡単なところ、難しいところ
• 同値分割の簡単なところ
– 要するに、範囲に分ければいいんだろ!簡単簡単!
• 同値分割の難しいところ
– 同値クラスにも、色んな種類があるんじゃない?
» 有効同値クラス、無効同値クラス
» 離散系の同値クラス、連続系の同値クラスと有効数字
» 閉じた同値クラス、開いた同値クラスと代表値
» 境界値分析って、実は同値分割と矛盾してない?
» グループ(数字ではないもの)の同値分割
» 入力同値、出力同値、処理同値、中間データ同値
» 同値クラス間の対応(同値クラスの射影)
» 範囲がゼロの同値クラス
» ほんとに同値なの?(特異点、居駒の同値原理)
– どこを見て何を考えたら、適切に同値クラスが挙がるんだろう?
» ドメイン知識による同値クラス
» 無効同値クラスは考えなくていいの?
» 同値クラスの深掘り:階層構造、ズームイン・ズームアウト
» 同値クラスとネーミング、テストの意図(テスト観点)
» テスト観点なのか、それとも関連なのか?
© NISHI, Yasuharu15
インターネットって色々教えてくれるなぁ♪
• 居駒(@m_ku)さんが要約したマイヤーズの同値分割5つの指針
1. 値の範囲の場合は、1つの有効同値クラスと2つの無効同値クラス
2. 値の数の場合も、1つの有効同値クラスと2つの無効同値クラス
3. 値の集合の場合は、要素数の有効同値クラスと1つの無効同値クラス
4. 「~ねばならない」というのは、有効同値クラスと無効同値クラス一つずつ
5. 「プログラムで同一には扱われないだろう」と思う場合は同値クラスを適時分割
• 鈴木三紀夫(@mkoszk)さんによる同値分割の習熟レベル
1. .ある機能に対して機能が働く有効な入力を
同じ処理がされそうなグループに分割できる
2. あり得る入力種別をすべて挙げることができる
3. ある機能に対して機能が働かない無効な入力(無効データ)の抽出ができる
4. 複数の入力が影響する場合に、ドメイン分析が行える
5. テスト対象のどの側面に着目して切り込み入れて行くかについて分析できる
© NISHI, Yasuharu16
まとめ
• 同値分割の定義
• 簡単な同値分割
• だんだん高度になる同値分割
• 同値分割って、同値に分割することじゃなかった!
同値分割とは
テスト対象の理解であり、
テストの意図を明らかにする
大事な技術である
© NISHI, Yasuharu
同値分割って奥が深いですね! (^_^)
電気通信大学 西 康晴
http://qualab.jp/
Yasuharu.Nishi@uec.ac.jp

More Related Content

What's hot

Paradigm shifts in QA for AI products
Paradigm shifts in QA for AI productsParadigm shifts in QA for AI products
Paradigm shifts in QA for AI products
Yasuharu Nishi
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
Makoto Nonaka
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 Presentation
Yasuharu Nishi
 
How to let them in house of quality
How to let them in house of qualityHow to let them in house of quality
How to let them in house of quality
Takahiro Toku
 
What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?
Yasuharu Nishi
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
友隆 浅黄
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
Yasuharu Nishi
 
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
Yoichi Kagamitani
 
シナリオテストについて考えてみる
シナリオテストについて考えてみるシナリオテストについて考えてみる
シナリオテストについて考えてみる
tef-do
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
Yasuharu Nishi
 
Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例
Kosuke Ito
 
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
Yasuharu Nishi
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
Hironori Washizaki
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
Yasuharu Nishi
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Yasuharu Nishi
 
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Hironori Washizaki
 
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
Yasuharu Nishi
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
 
メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態
Hironori Washizaki
 

What's hot (20)

Paradigm shifts in QA for AI products
Paradigm shifts in QA for AI productsParadigm shifts in QA for AI products
Paradigm shifts in QA for AI products
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 Presentation
 
How to let them in house of quality
How to let them in house of qualityHow to let them in house of quality
How to let them in house of quality
 
What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?
 
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
 
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
 
シナリオテストについて考えてみる
シナリオテストについて考えてみるシナリオテストについて考えてみる
シナリオテストについて考えてみる
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例
 
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
 
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 
メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態
 

Viewers also liked

ソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホントソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホント
Yasuharu Nishi
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
Yasuharu Nishi
 
IoT時代と第3者検証
IoT時代と第3者検証IoT時代と第3者検証
IoT時代と第3者検証
Yasuharu Nishi
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
Yuki Kuramochi
 
ABテスト:ユーザーメリットを具体的に伝えよう
ABテスト:ユーザーメリットを具体的に伝えようABテスト:ユーザーメリットを具体的に伝えよう
ABテスト:ユーザーメリットを具体的に伝えよう
VOYAGE GROUP UIO strategies section
 
効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~
効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~
効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~
Satoru Yamamoto
 
Git LFSを触ってみた
Git LFSを触ってみたGit LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
 
営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト
Satoru Yamamoto
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析
scarletplover
 
人間中心設計の国際規格ISO9241-210:2010のポイント
人間中心設計の国際規格ISO9241-210:2010のポイント人間中心設計の国際規格ISO9241-210:2010のポイント
人間中心設計の国際規格ISO9241-210:2010のポイント
Masaya Ando
 
クックパッドのグロースハックについて 20140610 ver1.2(更新版)
クックパッドのグロースハックについて 20140610 ver1.2(更新版)クックパッドのグロースハックについて 20140610 ver1.2(更新版)
クックパッドのグロースハックについて 20140610 ver1.2(更新版)
Kato Kyosuke
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
 
登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法
Chihiro Kurosawa
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向
崇 山﨑
 
よくわかる音ゲーの作り方
よくわかる音ゲーの作り方よくわかる音ゲーの作り方
よくわかる音ゲーの作り方
tenonno tenonno
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
MASA_T_O
 
200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
schoowebcampus
 

Viewers also liked (17)

ソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホントソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホント
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
IoT時代と第3者検証
IoT時代と第3者検証IoT時代と第3者検証
IoT時代と第3者検証
 
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
「現場のプロが教えるWebデザイン新・スタンダードテクニック37」に載っているテクニックでLP作ってみた話
 
ABテスト:ユーザーメリットを具体的に伝えよう
ABテスト:ユーザーメリットを具体的に伝えようABテスト:ユーザーメリットを具体的に伝えよう
ABテスト:ユーザーメリットを具体的に伝えよう
 
効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~
効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~
効果的なAbテストがwebサイトを成長させる~abテスト成功メソッドのご紹介~
 
Git LFSを触ってみた
Git LFSを触ってみたGit LFSを触ってみた
Git LFSを触ってみた
 
営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト
 
わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析わりとディープ?同値分割↔境界値分析
わりとディープ?同値分割↔境界値分析
 
人間中心設計の国際規格ISO9241-210:2010のポイント
人間中心設計の国際規格ISO9241-210:2010のポイント人間中心設計の国際規格ISO9241-210:2010のポイント
人間中心設計の国際規格ISO9241-210:2010のポイント
 
クックパッドのグロースハックについて 20140610 ver1.2(更新版)
クックパッドのグロースハックについて 20140610 ver1.2(更新版)クックパッドのグロースハックについて 20140610 ver1.2(更新版)
クックパッドのグロースハックについて 20140610 ver1.2(更新版)
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 
登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向
 
よくわかる音ゲーの作り方
よくわかる音ゲーの作り方よくわかる音ゲーの作り方
よくわかる音ゲーの作り方
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
 
200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
200以上のwebサービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
 

Similar to 同値分割ってなんだろう?

IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
Hironori Washizaki
 
測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用
Hironori Washizaki
 
2チケット&計測」書籍で訴えたい
2チケット&計測」書籍で訴えたい2チケット&計測」書籍で訴えたい
2チケット&計測」書籍で訴えたい
Yoshiki Mitani
 
ソフトウェアテストにおける 発想支援ツールの活用
ソフトウェアテストにおける発想支援ツールの活用ソフトウェアテストにおける発想支援ツールの活用
ソフトウェアテストにおける 発想支援ツールの活用
Akira Ikeda
 
Gifu University Before Study 2015
Gifu University Before Study 2015Gifu University Before Study 2015
Gifu University Before Study 2015
Kiyoshi Ogawa
 
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
Hironori Washizaki
 
Hazop anzen21013
Hazop anzen21013Hazop anzen21013
Hazop anzen21013
Kiyoshi Ogawa
 
Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011
Kenji Hiranabe
 
Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011
Akiko Kosaka
 
ICST 2015 まるわかりDay! "ICST2015参加報告"
ICST 2015 まるわかりDay! "ICST2015参加報告"ICST 2015 まるわかりDay! "ICST2015参加報告"
ICST 2015 まるわかりDay! "ICST2015参加報告"
SIGSTJ
 
自己相似な情報モデリング
自己相似な情報モデリング自己相似な情報モデリング
自己相似な情報モデリング
Tatsuya Yokota
 
DeNA QA night #2 presentation
DeNA QA night #2 presentationDeNA QA night #2 presentation
DeNA QA night #2 presentation
Yasuharu Nishi
 
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
Makoto Nonaka
 
NAIST ソフトウェア工学研究室紹介 2018
NAIST ソフトウェア工学研究室紹介 2018NAIST ソフトウェア工学研究室紹介 2018
NAIST ソフトウェア工学研究室紹介 2018
Takashi Ishio
 
アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割
Junichi Akita
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例
Elasticsearch
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
masanori kataoka
 
【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?
Hirokatsu Kataoka
 
センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向
Junichi Akita
 
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
Rina Fukuda
 

Similar to 同値分割ってなんだろう? (20)

IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
 
測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用
 
2チケット&計測」書籍で訴えたい
2チケット&計測」書籍で訴えたい2チケット&計測」書籍で訴えたい
2チケット&計測」書籍で訴えたい
 
ソフトウェアテストにおける 発想支援ツールの活用
ソフトウェアテストにおける発想支援ツールの活用ソフトウェアテストにおける発想支援ツールの活用
ソフトウェアテストにおける 発想支援ツールの活用
 
Gifu University Before Study 2015
Gifu University Before Study 2015Gifu University Before Study 2015
Gifu University Before Study 2015
 
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
 
Hazop anzen21013
Hazop anzen21013Hazop anzen21013
Hazop anzen21013
 
Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011
 
Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011Agile Development and Contract from IPA at AgileJapan 2011
Agile Development and Contract from IPA at AgileJapan 2011
 
ICST 2015 まるわかりDay! "ICST2015参加報告"
ICST 2015 まるわかりDay! "ICST2015参加報告"ICST 2015 まるわかりDay! "ICST2015参加報告"
ICST 2015 まるわかりDay! "ICST2015参加報告"
 
自己相似な情報モデリング
自己相似な情報モデリング自己相似な情報モデリング
自己相似な情報モデリング
 
DeNA QA night #2 presentation
DeNA QA night #2 presentationDeNA QA night #2 presentation
DeNA QA night #2 presentation
 
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステム...
 
NAIST ソフトウェア工学研究室紹介 2018
NAIST ソフトウェア工学研究室紹介 2018NAIST ソフトウェア工学研究室紹介 2018
NAIST ソフトウェア工学研究室紹介 2018
 
アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
 
【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?【慶應大学講演】なぜ、博士課程に進学したか?
【慶應大学講演】なぜ、博士課程に進学したか?
 
センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向センサ端末構築を牽引するマイコン・LSI技術とその動向
センサ端末構築を牽引するマイコン・LSI技術とその動向
 
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
 

More from Yasuharu Nishi

Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?
Yasuharu Nishi
 
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?
Yasuharu Nishi
 
CommentScreeen is good
CommentScreeen is goodCommentScreeen is good
CommentScreeen is good
Yasuharu Nishi
 
Demystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern context
Yasuharu Nishi
 
Teaser - Re-collection of embedded software QA in the last decade
Teaser - Re-collection of embedded software QA in the last decadeTeaser - Re-collection of embedded software QA in the last decade
Teaser - Re-collection of embedded software QA in the last decade
Yasuharu Nishi
 
Tomorrow's software testing for embedded systems
Tomorrow's software testing for embedded systemsTomorrow's software testing for embedded systems
Tomorrow's software testing for embedded systems
Yasuharu Nishi
 
QA4AI JaSST Tokyo 2019
QA4AI JaSST Tokyo 2019QA4AI JaSST Tokyo 2019
QA4AI JaSST Tokyo 2019
Yasuharu Nishi
 
LINE Developer Meetup in Tokyo #39 Trailer
LINE Developer Meetup in Tokyo #39 TrailerLINE Developer Meetup in Tokyo #39 Trailer
LINE Developer Meetup in Tokyo #39 Trailer
Yasuharu Nishi
 
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Yasuharu Nishi
 

More from Yasuharu Nishi (9)

Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and 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?
What is quality engineer? Is it something tasty?
 
CommentScreeen is good
CommentScreeen is goodCommentScreeen is good
CommentScreeen is good
 
Demystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern context
 
Teaser - Re-collection of embedded software QA in the last decade
Teaser - Re-collection of embedded software QA in the last decadeTeaser - Re-collection of embedded software QA in the last decade
Teaser - Re-collection of embedded software QA in the last decade
 
Tomorrow's software testing for embedded systems
Tomorrow's software testing for embedded systemsTomorrow's software testing for embedded systems
Tomorrow's software testing for embedded systems
 
QA4AI JaSST Tokyo 2019
QA4AI JaSST Tokyo 2019QA4AI JaSST Tokyo 2019
QA4AI JaSST Tokyo 2019
 
LINE Developer Meetup in Tokyo #39 Trailer
LINE Developer Meetup in Tokyo #39 TrailerLINE Developer Meetup in Tokyo #39 Trailer
LINE Developer Meetup in Tokyo #39 Trailer
 
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
 

同値分割ってなんだろう?

  • 1. © NISHI, Yasuharu 同値分割ってなんだろう? 九州ソフトウェアテスト勉強会(仮) Vol.7 2014/5/28(水) 電気通信大学 大学院情報理工学研究科 総合情報学専攻 経営情報学コース 西 康晴(Yasuharu.Nishi@uec.ac.jp, http://qualab.jp/)
  • 2. © NISHI, Yasuharu2 Profile Assistant professor: the University of Electro-Communications, Japan (also providing consultancy service to industry on testing and TQM) President: Association of Software Test Engineering, Japan (ASTER) President: Japan Software Testing Qualifications Board (JSTQB) National delegate: ISO/IEC JTC1/SC7/WG26 Software testing for ISO/IEC/IEEE 29119-1, 2, 3, 4, 5 and ISO/IEC 33063 Founder: Japan Symposium on Software Testing (JaSST) Founder: Testing Engineers’ Forum (Japanese community on software testing) Founder and awards committee member: Software Test Design Contest Vice chair: SQiP/Software Quality Committee of JUSE (promoting organization of TQM) (SQiP has published the book of “SQuBOK: Software Quality Body of Knowledge”)
  • 4. © NISHI, Yasuharu4 本日の流れ • 同値分割の定義 • 簡単な同値分割 • だんだん高度になる同値分割 • 同値分割って、同値に分割すること?
  • 5. © NISHI, Yasuharu5 基本的なテストの目的 • 「テストしなければバグは見つからない」 – 漏れなくテストを設計する » 漏れなくテストを行うためには、 思いつきでテストをあげてはならない – 動作実績を積み上げて品質を保証する 「保証型」のテストである » テスト観点、組み合わせ、網羅率の3者を考慮する • 「大事なところをテストする」 – バグを狙ってテストを設計する » バグにはクセがあり、きちんと分析すれば推測できる – 品質リスクが高い順にテストを行う「検出型」のテストである » 品質リスク=処理頻度×欠陥作り込み確率×不具合露呈確率×不具合致命度 網羅 ピンポイント 少ない手間で早くたくさん危険なバグを検出する
  • 6. © NISHI, Yasuharu6 同値分割とは:同値分割の定義 • FLシラバス/4.3.1. 同値分割法 (K3) – 同値分割法は、ソフトウェアやシステムへの入力を同じ処理をするグループに 分割し、グループ内の入力を同等に扱えるようにする技法である。 – 同値分割したグループ(あるいは、同値分割したクラス)は、有効データ、すな わち受け入れられるデータだけでなく、無効データ、すなわち拒否されるデータ にもある。 – 同値分割したグループは、出力、内部変数、時間に依存する値(例えば、イベ ントの前と後)にも存在し、インターフェースパラメータにもある。 – (例えば、テスト済みの統合されたコンポーネント)テストでは、同値分割した全 ての有効な領域、無効な領域をカバーするように設計する。 – 同値分割法は、あらゆるレベルのテストで適用できる。 – 同値分割法は、入出力のカバレッジ目標を達成する場合に使用できる。また、 人間による入力、インターフェース経由でのシステムへの入力、統合テストで のインターフェースパラメータに適用できる。
  • 7. © NISHI, Yasuharu7 同値分割とは:境界値分析の定義 • FLシラバス/4.3.2. 境界値分析(K3) – 同値分割したグループの境界上の動作は、グループ内部での(境界ではない) 動作よりも正しくないことが多く、境界には多くの欠陥が潜んでいる可能性が 大きい。 – ある領域の最大値、最小値は境界値である。同値分割した場合の有効な領域 側の境界値は、「有効な境界値」となり、無効な領域側の境界値は「無効な境 界値」となる。 – 有効および無効な境界値の両方をカバーするようにテストを設計する。テスト ケースを設計するときは、両領域から値を選ぶ。 – 境界値分析は、あらゆるテストレベルで適用できる。比較的簡単に適用でき、 欠陥摘出能力も高い。 – 詳細化された仕様は、重要な境界値を決定するために役に立つ。 – この技法は、同値分割法の拡張、または他のブラックボックステスト設計技法 と見なされることが多い。人間による画面入力や、例えば、タイミング(タイムア ウト、トランザクション速度に対する要求など)やテーブルの範囲(テーブルサイ ズは256×256 であるなど)にも使用できる。
  • 9. © NISHI, Yasuharu9 シンプルな演習 • 以下のモジュールのテストを設計してみましょう – int型の引数aがあります – モジュール内にはif (a<0) と if (7<a)という 2つの条件文があります • まず同値クラスを挙げてみましょう。 • 次に同値クラスの境界値を挙げてみましょう • 最後に、どんなバグが見つかるかを 考えてみましょう
  • 10. © NISHI, Yasuharu10 解答:シンプルな演習 • 同値クラスは – int型の範囲を -32767~ +32767とする – 【-32767~-1】【0~7】【8~+32767】の3つが同値クラス • 境界値は – -32768, -32767, -1, 0 – -1, 0, 7, 8 – 7, 8, +32767, +32768 – したがって、-32768, -32767, -1, 0, 7, 8, +32767, +32768 の8つ • 見つかるバグは? – これは考えてみましょう
  • 11. © NISHI, Yasuharu11 もやっとする演習:湯本の問題 • 以下の仕様について、テストを設計してみましょう 年齢が6歳以上18歳以下、 現住所が福岡県、 学生証の提示ありの場合に、 チケット代金を学生金額とする
  • 12. © NISHI, Yasuharu12 もやもやもやっとする演習:Myersの三角形 • 以下のプログラムをテストするのに 十分と思われるテストケースを全て挙げて下さい – このプログラムは、3つの整数を入力される – この3つの値は、それぞれ三角形の3辺の長さを 表すものとする – このプログラムは、三角形が » 不等辺三角形 » 二等辺三角形 » 正三角形 のうち、どれであるかを出力する
  • 13. © NISHI, Yasuharu13 解答: Myersの三角形 • 有効な不等辺三角形 • 有効な正三角形 • 有効な二等辺三角形 • 有効な二等辺三角形で 3種類の辺の組み合わせ • 長さが0の辺 • 長さが負の値の辺 • 2辺の和がもう1辺と等しい • 2辺の和がもう1辺と等しい 際の3種類の辺の組み合わせ • 2辺の和がもう1辺より小さい • 2辺の和がもう1辺より小さい 際の3種類の辺の組み合わせ • 3辺が0 • 整数でない辺 • 辺の数が3以外 • 期待結果を示してある 以下の条件に当てはめるテストを設計していたら1点 平均的なプログラマは 7.8点
  • 14. © NISHI, Yasuharu14 同値分割の簡単なところ、難しいところ • 同値分割の簡単なところ – 要するに、範囲に分ければいいんだろ!簡単簡単! • 同値分割の難しいところ – 同値クラスにも、色んな種類があるんじゃない? » 有効同値クラス、無効同値クラス » 離散系の同値クラス、連続系の同値クラスと有効数字 » 閉じた同値クラス、開いた同値クラスと代表値 » 境界値分析って、実は同値分割と矛盾してない? » グループ(数字ではないもの)の同値分割 » 入力同値、出力同値、処理同値、中間データ同値 » 同値クラス間の対応(同値クラスの射影) » 範囲がゼロの同値クラス » ほんとに同値なの?(特異点、居駒の同値原理) – どこを見て何を考えたら、適切に同値クラスが挙がるんだろう? » ドメイン知識による同値クラス » 無効同値クラスは考えなくていいの? » 同値クラスの深掘り:階層構造、ズームイン・ズームアウト » 同値クラスとネーミング、テストの意図(テスト観点) » テスト観点なのか、それとも関連なのか?
  • 15. © NISHI, Yasuharu15 インターネットって色々教えてくれるなぁ♪ • 居駒(@m_ku)さんが要約したマイヤーズの同値分割5つの指針 1. 値の範囲の場合は、1つの有効同値クラスと2つの無効同値クラス 2. 値の数の場合も、1つの有効同値クラスと2つの無効同値クラス 3. 値の集合の場合は、要素数の有効同値クラスと1つの無効同値クラス 4. 「~ねばならない」というのは、有効同値クラスと無効同値クラス一つずつ 5. 「プログラムで同一には扱われないだろう」と思う場合は同値クラスを適時分割 • 鈴木三紀夫(@mkoszk)さんによる同値分割の習熟レベル 1. .ある機能に対して機能が働く有効な入力を 同じ処理がされそうなグループに分割できる 2. あり得る入力種別をすべて挙げることができる 3. ある機能に対して機能が働かない無効な入力(無効データ)の抽出ができる 4. 複数の入力が影響する場合に、ドメイン分析が行える 5. テスト対象のどの側面に着目して切り込み入れて行くかについて分析できる
  • 16. © NISHI, Yasuharu16 まとめ • 同値分割の定義 • 簡単な同値分割 • だんだん高度になる同値分割 • 同値分割って、同値に分割することじゃなかった! 同値分割とは テスト対象の理解であり、 テストの意図を明らかにする 大事な技術である
  • 17. © NISHI, Yasuharu 同値分割って奥が深いですね! (^_^) 電気通信大学 西 康晴 http://qualab.jp/ Yasuharu.Nishi@uec.ac.jp