単体試験を行う場合,意外に大変なのは試験項目を作ることです。
がっちりとフローグラフを作って検討できればいいのですが,時間的制約でなかなかそうもいかない場合があります。
そんなとき,利用するのが単体試験項目の自動生成ツールだったりするわけですが,ベンダのツールは高いものばかり。しかもトレーニングも受けないといけない。インストールも大変で,必要なときにパパッと使いたいとき,マッチしないことも多いです。
でも「急に今日中に大量のコードの単体試験項目を作らないといけなくなった!」みたいな不条理なことは起こる時があるわけで。
そんな不幸なことが起こったアナタにお手軽なフリーソフトを紹介したいと思います。
★おじどうくんDR4
http://park.ruru.ne.jp/ando/work/autoUt/index_ja.html
ソースコードからif,whileといった単語を抽出し,Excelで単体試験項目を自動生成してくれます。
非常に手軽に単体試験項目表を作成してくれます。
一人で数10kloc以上の規模のコードに対し項目を作らないといけない時など重宝しますね。
※ただし,C言語で書かれたソースコードが対象。最近こっそりJavaにも対応されたようです。
実際炎上現場に投入されたときには単体試験を全部やりなおすみたいなことが起こる場合があります。でも炎上している現場でもう一度スクラッチで単体試験項目を作るのは時間的制約とか人員的制約や精神的制約で無理ぽってことは往々にしてあります。なので,こういったツールを使ってベースをがーーーっと作ってそれを見直す,みたいに対応できると現実的にすごく助かるわけです。
でもちょっと注意。
構造設計書ではなく実コードから生成しますから,アルゴリズムそのものが間違っていた場合の不良は検出できません。
ですので,重要度が高いものについてはがっちりフローグラフを書いてテストケースを作成。そうでないものについてはおじどうくんを使って生成,といったような使い方がいいのかなと思います。
ともあれ,使い方さえ気をつければ便利なことこの上ないですし,気軽に使えるのもポイントが高いので,C言語で開発されている方は試してみてはいかがでしょうか。