相関関係があるのはわかるけど、具体的に、たとえば、
ソースコード1000行だとすると、単体テスト項目数はいくつ?
ってこと。これの考え方
■まず、モジュール数を求める
いくつのモジュールをつくるのか?ということ
50行で1モジュールにしましょう!っていう規約があるとすると、1000行なら20モジュールくらい
20行で1モジュールにしましょう!っていう規約があるとすると、1000行なら50モジュールくらい
ここ、どのくらいにするかで、テスト項目数が大幅に変わる。
なので、ここで、平均何行おきくらいに1モジュールにするか、大事
(モジュール数大事)
■2種類あるテストのうち、どっちするか決める
単体テストは、
(1)プログラムの処理(実際にはモジュール)を通過(C0)、IF/Switchの分岐通過(C1)を100%網羅と
(2)外部から変数を与えて、結果をアサーションする(Unitテスト)
という2種類がある。どっちか決める(テスト項目数が決まっている場合、とりあえず2つとも考えておき、
項目がどちらかだけで足りれば、足りるほうで、足りない場合は両方やるという手もある)
■C0・C1網羅の場合
C1分岐のエビデンスをとる場合、IF文の分岐の数だけ、項目数は発生する
ただし、ショット数(一連のテストケース数)は、IF文を何個かまとめて1ケースとなるため
正常系+異常系数ケースとなる。これが、各モジュールにつきあるので、
平均すると、モジュールの2~4倍くらいでしょうか・・・
■ユニットテストの場合(アサーションで確認)
ログをエビデンスにすれば、アサーションにこだわる必要なし。
各モジュールの同値ケースの場合分、テスト項目が増える関係にある。
これも実質、平均すると、モジュールの2~4倍くらいでしょうか・・・
■結論
どちらも、モジュールの2倍から4倍くらいでしょうか?
ソースコード1000行だとすると、単体テスト項目数はいくつ?
ってこと。これの考え方
■まず、モジュール数を求める
いくつのモジュールをつくるのか?ということ
50行で1モジュールにしましょう!っていう規約があるとすると、1000行なら20モジュールくらい
20行で1モジュールにしましょう!っていう規約があるとすると、1000行なら50モジュールくらい
ここ、どのくらいにするかで、テスト項目数が大幅に変わる。
なので、ここで、平均何行おきくらいに1モジュールにするか、大事
(モジュール数大事)
■2種類あるテストのうち、どっちするか決める
単体テストは、
(1)プログラムの処理(実際にはモジュール)を通過(C0)、IF/Switchの分岐通過(C1)を100%網羅と
(2)外部から変数を与えて、結果をアサーションする(Unitテスト)
という2種類がある。どっちか決める(テスト項目数が決まっている場合、とりあえず2つとも考えておき、
項目がどちらかだけで足りれば、足りるほうで、足りない場合は両方やるという手もある)
■C0・C1網羅の場合
C1分岐のエビデンスをとる場合、IF文の分岐の数だけ、項目数は発生する
ただし、ショット数(一連のテストケース数)は、IF文を何個かまとめて1ケースとなるため
正常系+異常系数ケースとなる。これが、各モジュールにつきあるので、
平均すると、モジュールの2~4倍くらいでしょうか・・・
■ユニットテストの場合(アサーションで確認)
ログをエビデンスにすれば、アサーションにこだわる必要なし。
各モジュールの同値ケースの場合分、テスト項目が増える関係にある。
これも実質、平均すると、モジュールの2~4倍くらいでしょうか・・・
■結論
どちらも、モジュールの2倍から4倍くらいでしょうか?