「設計書」が書けない設計者
http://tech.nikkeibp.co.jp/atcl/nxt/column/18/00041/00005/
(太字は上記サイトより引用)に
機械設計には「設計書」の単語がないのでしょうか?
との答えに対し、
恐らく、実務経験のない学者か誰かがそうした設計フローの学術書、もしくは教科書を作成したのだと思います。それを実務経験の浅い執筆者が転記し、長年の間に日本企業から「設計書」が消えてしまったのでしょう。
ってあるけど、大学のソフトウェア工学とかの講義もそうで、
どこでも「テスト」のときの、命令網羅(C0)、分岐網羅(C1)、組み合わせ網羅(条件網羅)(C2)は教えるけど、
これが、テスト仕様書の書き方にどうかかわるか(変わるか)って、教えてないよね!
ってことで、書いてみる
【お題】
以下のテスト(単体テストということにする)
スタート
|
条件A
|---------
はい| |いいえ
処理1 |
| |
処理2 |
|---------
処理3
【C0(命令網羅)100%でお願いね!】
一番小さいテスト観点は「命令」。この命令ごとに、テスト項目を挙げることになる
テスト項目1
テスト観点:処理1の実行
テスト条件:条件Aが成立
テスト内容:処理1が実行されていること
テスト項目2
テスト観点:処理2の実行
テスト条件:条件Aが成立、処理1が実行※
テスト内容:処理2が実行されていること
テスト項目3
テスト観点:処理3の実行
テスト条件:特になし※
テスト内容:処理3が実行されていること
※テスト条件は、条件分岐するような場合、その条件は上げられるけど、
前の処理が完了しているかどうかを、書く・書かないは、仕様書のきめによる。
ただし、書く場合、処理3でこまる。条件1・2は、やっても、やらなくてもいい?
結局、この場合、まとめて「特になし」となる。
【C1(分岐網羅)100%でお願いね!】
一番小さいテスト観点は「条件分岐」。この分岐ごとに、テスト項目を挙げることになる
テスト項目1
テスト観点:条件A (はいのとき)※
テスト条件:条件Aがはい
テスト内容:条件Aのとき、処理1、処理2が実行され(たのち、処理3が実行され★)ていること
テスト項目2
テスト観点:条件A (いいえのとき)※
テスト条件:条件Aがいいえ
テスト内容:条件Aがいいえのとき、なにもせず処理3が実行されていること★
※テスト観点として、分岐があがるので、条件Aと書くことはたしかだけど、そこで止めるか、
(はいの場合)、(いいえの場合)などと、条件までかくかは、「きめ」による
★あとの処理を書くかどうかは、仕様書の「きめ」によるけど、書かない場合、テスト項目2のほうは、
「なにもしない」となってしまい、(まあそれでいいんだけど)、変だから、次の処理を書いてしまうこともある
【C0,C1, 100%でお願いね!】
2つ合わせればいいのか・・・?合わせたのち、順番をいれかえ、それに合わせて採番しなおすと・・・
テスト項目1
テスト観点:条件A (はいのとき)※
テスト条件:条件Aがはい
テスト内容:条件Aのとき、処理1、処理2が実行され(たのち、処理3が実行され★)ていること
テスト項目1-1
テスト観点:処理1の実行
テスト条件:条件Aが成立
テスト内容:処理1が実行されていること
テスト項目1-2
テスト観点:処理2の実行
テスト条件:条件Aが成立、処理1が実行※
テスト内容:処理2が実行されていること
テスト項目2
テスト観点:条件A (いいえのとき)※
テスト条件:条件Aがいいえ
テスト内容:条件Aがいいえのとき、なにもせず処理3が実行されていること★
テスト項目3
テスト観点:処理3の実行
テスト条件:特になし※
テスト内容:処理3が実行されていること
学校的には、これでOK
でも、実務的には変。テスト項目1と、テスト項目1-1は、実質的には、
処理1のところに、ブレークポイントを置いて確かめるので、
全く同じテスト項目。なので、
・C1の分岐項目のテスト内容は、
そこで処理を行っている場合で
かつ、それがC0のテスト項目に上がって
いたら、
C1の項目に、分岐の中で初めに行うC0項目の内容を書き、
そのC0項目は、合成する際にははずす。
今回の例では、
C1の分岐=テスト項目1
分岐の中で初めに行うC0項目=テスト項目1-1
なので、これが、上記の法則で、合成される。こんなかんじ
テスト項目1
テスト観点:条件A (はい)&処理1
テスト条件:条件Aがはい
テスト内容:条件Aのとき、処理1が実行されること
テスト項目1-2
テスト観点:処理2の実行
テスト条件:条件Aが成立、処理1が実行
テスト内容:処理2が実行されていること
テスト項目2
テスト観点:条件A (いいえのとき)
テスト条件:条件Aがいいえ
テスト内容:条件Aがいいえのとき、なにもせず処理3が実行されていること
テスト項目3
テスト観点:処理3の実行
テスト条件:特になし※
テスト内容:処理3が実行されていること
なお、実際の番号は1-2ではなく、1,2,3,4の通し番号になる。
つまり、合成処理が行われないと、全く同じテストを、テスト担当者は、2回やることになる・・
ってことを、学校では教えていない。
あ、でも2回わざとやることもある。この違いと判断は、別の機会に書きます。
ただし、この合成は、C0,C1の合成より、単体・結合テストでの合成のほうが重要。
それについては、またこんど
それで、C2については、組み合わせということなんだけど、
どのように組み合わせをするかというのは、テストケースの話になってしまい、
テストケースと項目の関係にについても、また今度かく。