82. テストのツリー構造
Assertion
Test Case
Assertion
Test Suite
Test Case
ユニットテ
スト
Test Suite …
…
83. テストのツリー構造
細粒度・可読性
Assertion
Test Case
Assertion
Test Suite
ユニットテ 少数のAssertionでTestCaseを構成する
Test Case
スト (1条件/1テストケースなど
Test Suite テスト設計の最小構成単位を反映)
…
… テスト設計やテストの意図が
分かりやすくなる
84. テストのツリー構造
独立性、自己完結性の確保
Assertion
Test Case
Assertion
Test Suite 独立・無干渉
Test Case
ユニットテ 独立・無干渉
スト
Test Suite …
変更や流用の影響を局所化できる
…
85. テストのツリー構造
可読性など
Test Suite:テスト対象Class = n : 1 Assertion
※Fixture/外部コンポーネント等で分離 Test Case
通常は1:1
Assertion
Test Suit
Test Case
ユニットテ
スト
Test Suit …
構造に対する網羅を…
チェックしやすくする
114. テストの目的に応じて柔軟に
設計技法を使い分ける
4で割り切れる N Y Y Y
機能的な保証
仕様 100で割り切れる N N Y Y テストファースト
400で割り切れる N N N Y
etc..
うるうどし N Y N Y
テスト設計 その他
//うるう年か判定する
bool isLeapYear(unsigned int year)
{
if (year % 400 == 0) 機械的なリファクタリング
{
return true; テスタビリティの評価
} etc..
if ((year % 4 == 0) && (year % 100 != 0))
コード構造 {
return true;
}
return false;
}