以下のmain.cshの単体テスト仕様書を作成したいです。
#!/bin/csh -f set list = (str1 str2) set status = 0 foreach str ($list) sub1.csh $str if ($? != 0) then echo "sub1失敗" set status = 1 endif # sub2.cshのみ環境変数${USER}を引数としており、 # 異常終了によるメッセージは出力しない sub2.csh ${USER} sub3.csh $str if ($? != 0) then echo "sub3失敗" set status = 1 endif end sub4.csh $str if ($? != 0) then echo "sub4失敗" set status = 1 endif if (status == 0) then exit 0 else exit 1 endif
※sub1~4は単体テスト完了済みです。
現在、単体テストのテスト内容としては以下を考えています。
(1)sub1が異常終了する場合
・「sub1失敗」のメッセージが出力されること。
・mainの終了ステータスが1であること・
(2)sub3が異常終了する場合
・「sub3失敗」のメッセージが出力されること。
・mainの終了ステータスが1であること。
(3)sub4が異常終する場合
・「sub4失敗」のメッセージが出力されること。
・mainの終了ステータスが1であること。
(4)sub1,3,4がすべて正常終了する場合
・「sub1失敗」のメッセージが出力されないこと。
・「sub3失敗」のメッセージが出力されないこと。
・「sub4失敗」のメッセージが出力されないこと。
・mainの終了ステータスが0であること。
他にテストするケースとしてはsub1,sub2,sub3,sub4がそれぞれ正常終了、異常終了する全ての組み合わせのテストは必要でしょうか?
(例:sub1→正常終了 sub2→異常終了 sub3→異常終了 sub4→異常終了 等)
また、他にテストするべきケースはありますか?
よろしければ、理由も含めて教えていただきたいです。
単体テスト仕様書を書くのがどうも苦手で、どんなテストを実施すればいいのか、またそのテストを実施する理由はどうしてかを考えるのが難しいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/10 13:13 編集
2017/06/10 13:23