連載
タダでソフト開発の生産性と品質を上げる方法(6):高機能な単体テストツール「GoogleTest」を使いこなす(その1):山浦恒央の“くみこみ”な話(96)(4/4 ページ)
「タダでソフト開発の生産性と品質を上げる方法」の第6回。前回紹介したグーグル(Google)製の単体テストフレームワーク「GoogleTest」には高度な機能がありますが、今回は「アサーションマクロ」と「テストフィクスチャの使い方」を取り上げます。
3.2 実行結果
上記のプログラムを実行すると、結果は、次のようになります。
実行結果を見ると、以下の順番でテスト実施していることが分かります。
- TEST_F(CarTestFixture, CheckInitValue)を実行する
- TEST_F(CarTestFixture, CheckInitValue)の中身を実行する前に、SetUpメソッドを実行し、Carクラスを確保する
- TEST_F(CarTestFixture, CheckInitValue)を実行し、初期値が正しいかテストする
- TEST_F(CarTestFixture, CheckInitValue)を実行後、TearDownメソッドが実行され、Carクラスを開放する(以下略)
上記のように、テストフィクスチャを使用すると、テストの事前、事後条件を設定でき、テストを円滑に実施できるようになります。
4.まとめ
今回の内容を以下にまとめます。
- GoogleTestには、多くのアサーションマクロがあり、これを使えばプログラムの実行中に、変数の値をチェック、テストできます
- テストフィクスチャを使用すると、テストの事前条件、事後条件が設定できるため、テストの環境構築が簡単になります
5.終わりに
今回は、高機能なGoogleTestの一端、特に、アサーションと、テスト条件を設定するテストフィクスチャを説明しました。これらは、GoogleTest特有のものではなく、C/C++以外のxUnit系ツールにも存在します。自身が使用する言語のxUnit系ツールを確認すると良いでしょう。
次回は、もう1つの高機能、「パス網羅(Gcovとの連携法)」を取り上げます。
参考文献
[1]「モダンC言語プログラミング」(花井志生、2013、KADOKAWA/アスキーメディアワークス社)
【 筆者紹介 】
山浦 恒央(やまうら つねお)
東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)
1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。
主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「山浦恒央の“くみこみ”な話」バックナンバー
- タダでソフト開発の生産性と品質を上げる方法(5):グーグルの隠し球的単体テストツール「GoogleTest」
「タダでソフト開発の生産性と品質を上げる方法」の第5回。今回は、IT業界の巨人、グーグル(Google)製の単体テストフレームワーク「GoogleTest」を紹介する。 - タダでソフト開発の生産性と品質を上げる方法(4):単体テストで威力を発揮する「MinUnit」
「タダでソフト開発の生産性と品質を上げる方法」の第4回。今回は、単体テストで威力を発揮する「MinUnit」を紹介する。 - タダでソフト開発の生産性と品質を上げる方法(3):意外に使えるフリーツール「PictMaster」を使いこなす
「タダでソフト開発の生産性と品質を上げる方法」の第3回。今回は、前回紹介した無料の組合せテスト自動生成ツール「PictMaster」を使いこなす応用編だ。 - タダでソフト開発の生産性と品質を上げる方法(2):フリーの組合せテスト自動生成ツール「PictMaster」
「タダでソフト開発の生産性と品質を上げる方法」の第2回。今回は、ソースコードを簡単に分析し、計測するフリーの組合せテスト自動生成ツール「SourceMonitor」を紹介します。 - タダでソフト開発の生産性と品質を上げる方法(1):意外に使える無料のソースコード測定ツール「SourceMonitor」
「“くみこみ”な話」の新シリーズが開幕。テーマは「タダでソフト開発の生産性と品質を上げる方法」です。第1回は、ソースコードを簡単に分析し、計測するフリーツール「SourceMonitor」を紹介します。