SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
© 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

Contenu connexe

Tendances

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
 
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~Yasuharu Nishi
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Hironori Washizaki
 
テストの組み立て方
テストの組み立て方テストの組み立て方
テストの組み立て方kauji0522
 
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 PresentationYasuharu Nishi
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門H Iseri
 
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~Naoki Nakano
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜Tetsuya Kouno
 
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)Hironori Washizaki
 
アプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みアプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みNaokiKashiwagura
 
みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)Noriyuki Mizuno
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方Takafumi ONAKA
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift leftYasuharu Nishi
 
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用Tetsuya Kouno
 
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
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightkyon mm
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specificationsTetsuya Kouno
 
「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」大貴 蜂須賀
 
テスト観点に関する取り組み事例
テスト観点に関する取り組み事例テスト観点に関する取り組み事例
テスト観点に関する取り組み事例NaokiKashiwagura
 

Tendances (20)

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?
 
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
テストの組み立て方
テストの組み立て方テストの組み立て方
テストの組み立て方
 
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
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
プロダクトに貢献する~テスト計画コンシェルジュとリリース高速化で品質向上を牽引する~
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
 
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
 
アプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みアプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組み
 
みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用
 
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?
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specifications
 
「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」
 
テスト観点に関する取り組み事例
テスト観点に関する取り組み事例テスト観点に関する取り組み事例
テスト観点に関する取り組み事例
 

En vedette

ソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホントソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホント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
 

En vedette (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サービス事例から見えてきた鉄板グロースハック ~傾向と対策~ 先生:須藤 憲司
 

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

Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company TransformationYasuharu 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
 
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 productsYasuharu Nishi
 
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 2015Kiyoshi Ogawa
 
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用Hironori Washizaki
 
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 2011Kenji 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 2011Akiko 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 presentationYasuharu 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 ソフトウェア工学研究室紹介 2018Takashi Ishio
 
アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割アナログ回路の民主化とプロの役割
アナログ回路の民主化とプロの役割Junichi Akita
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elasticsearch
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)masanori kataoka
 

Similaire à 同値分割ってなんだろう? (20)

Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
 
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 ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
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
 
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ツール適合化分科会(テスト自動化ツール)
 

Plus de 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
 
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 contextYasuharu Nishi
 
CommentScreeen is good
CommentScreeen is goodCommentScreeen is good
CommentScreeen is goodYasuharu 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 contextYasuharu 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 decadeYasuharu Nishi
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1Yasuharu Nishi
 
Software Frontloading and QA
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QAYasuharu 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 systemsYasuharu Nishi
 
QA4AI JaSST Tokyo 2019
QA4AI JaSST Tokyo 2019QA4AI JaSST Tokyo 2019
QA4AI JaSST Tokyo 2019Yasuharu Nishi
 
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
 
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 TrailerYasuharu 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
 

Plus de Yasuharu Nishi (12)

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?
 
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
 
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
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
 
Software Frontloading and QA
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
 
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 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)
 
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