C言語の単体テスト、いろいろ
ある意味、餃子ブームだ。
==
メールサーバってCだから、C向けのテスト手法はいろいろと調べたりすることが多いし、自分でツールを作ったりします。せっかく調べたので、C言語をターゲットとした単体テスト/ユニットテストツールを枚挙してみる。
http://sourceforge.net/projects/cunit/によるユニットテストフレームワーク。出力に「__FILE__」「__LINE__」を記載して、分析しやすく結果を表現する。XML出力モード(Automatedモード)で実行し、DTDとXSLスタイルシートによって、統計情報が見やすくなる。
安藤利和さんによる「言語技術者のC言語技術者によるC言語技術者のための C言語テスティングフレームワーク」。ソースはhttp://sourceforge.jp/projects/cunitforando/から入手。関数のスタブ生成でテストを実行していく。ドキュメントには使い方のほかに、単体テストの原理などの記事も。
Cのユニットテストツールはネーミングが特徴的なものが多い。CCUnitは「繰り返し可能なテストを書くため」のフレームワーク。CCUnit クックブックが、適用への近道か。ソースは、こちらから入手。
ネーミングは、「C Unit Testing Framework」。このキュートなテストプログラムは、make-tests.shによって生成される。ソースはこちら。
マニュアルが充実している。テスト実行の進捗状況を「.」「F」を並べて見やすくしている。その他、テスト結果詳細として、テストケース数、テストパス数、テスト失敗数、テスト異常終了数、テスト保留数などがわかる。ソースはこちらから。
3行だけのユニットテスト。「a minimal unit testing framework for C」は、個人的にはライトで小気味よく、重宝してます。
--
リファレンスやチュートリアルが充実しているのですが、より実践的な例があるといいなーなんて思ってたりして。こういったツールの活用と効果的なテスト設計によって、結合テスト・システムテスト、あるいは静的テストの負荷軽減を図っていこう。
| 固定リンク
この記事へのコメントは終了しました。
コメント
はじめまして。
テストに特化したブログって珍しいと思い立ち寄らせてもらいました。
通りすがりのサーファー、といってもネットーサーファーで、ちなみに話題の高相プロサーファーではないので、ご安心を!(笑)
C言語が好きで、初期化していない変数の値を表示させたり、途中で値を変えて表示させたり、そんなことでいちいち感動しているような超ドシロウトですが、楽しく楽しませてもらってま~す。無理なく、たのしく、管理人さんもブログ、楽しんでくださいね~。
写真、お子さんでしょうか? とっても、かわいいですね。
月並みな挨拶ですね、とか言わないでぇ~(笑)
ちなみに、図書館で「知識ゼロから学ぶ ソフトウェアテスト」なんていう本を見つけました。ひょっとしたら読書リストの中に既に含まれているかもですが、もし、よければ。
投稿: プロネットサーファー非高相(笑) | 2009年10月28日 (水) 01:06
>プロネットサーファー非高相(笑)さん
はじめまして!
最近更新が滞ってしまいましたが、少しずつ再開していきたいですー。
僕もほとんどC言語ばかりですよ~。
写真は実は甥っ子なのです~^^
「知識ゼロ~」は実は読んでないのですよ!時間を取ってちゃんと読まないと!
ではまたお越しください~。
投稿: softest | 2009年10月28日 (水) 01:42
はじめまして。
C言語の単体テストについて調べていたらこのページにたどり着き興味深く拝見させていただきました。
CTesterというC言語及びC++の単体テストフレームワークを作成し、オープンソースで公開しています。
特徴としましては、WindowsのGUIでの操作ができます。
もし、よろしかったら見てみてください。
できれば、ご意見も伺いたいです。
投稿: toraponta | 2012年6月 4日 (月) 22:20
>torapontaさん
はじめまして、コメントありがとうございます。
さっそくダウンロードしてみようと思います^^
投稿: softest | 2012年6月 7日 (木) 22:39