タグ

ブックマーク / goyoki.hatenablog.com (3)

  • (C++)constexpr & static_assertによるコンパイル時テストの用途 - 千里霧中

    これは ソフトウェアテスト Advent Calendar 2016 - Qiita の4日目の記事です。 C++では、C++11から以下の言語仕様が追加されました。 ・違反するとコンパイルを失敗させる表明構文:static_assert ・指定対象をコンパイル時に処理させる指定子:constexpr このstatic_assertとconstexprを組み合わせると、コンパイル時テストを柔軟に構築できるようになります。 コンパイル時テストは、コンパイルの際に実行され、テストに失敗したらコンパイルエラーを発生させるものです。これはC++のようなコンパイラ方式言語で、テストの選択肢を広げる助けとなります。今回は組み込み向けを想定して、コンパイル時テストの用途を紹介したいと思います。 コンパイル時テストの用途1:コンパイル時処理のテスト constexprで記述されたコンパイル時処理なら、大抵

    (C++)constexpr & static_assertによるコンパイル時テストの用途 - 千里霧中
  • TDDと相性の良いC、C++のユニットテスティングフレームワークとは - 千里霧中

    これまでTDDで使えるC、C++向けのユニットテスティングフレームワークをいくつか紹介してきました。その一連の紹介の総括として、今回は、C、C++でのTDDを対象とした場合、どのようなテスティングフレームワークが望ましいのかについてまとめたいと思います。 TDD向けのテスティングフレームワークに求められる条件 TDD向けのテスティングフレームワークに求められる条件については、以前Advent Calender向けの「TDDのはじめかた #TddAdventJp - 千里霧中」の冒頭で触れさせて頂いています。少し加筆して下記に転載します。 軽快にテストを実行できる。TDDにとって、実行に1秒以上かかるテストはもう遅すぎます。そのような実害ある遅さの直接的原因になるフレームワークは避けた方が無難です。 簡潔なテストコードでテストを実装・実行できる。Assertion MethodやTest M

    TDDと相性の良いC、C++のユニットテスティングフレームワークとは - 千里霧中
  • TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中

    先日、twitter上でTDDに関する談義があったのだけれど、気になったのがそれに対するテストや品質の方々の反応。特にTDDの戒めである「品質保証を目的としていない」という書き込みに対してネガティブな反応が多かったのが気になった。 開発経験もあり定義や概念の扱いに注意深い方々なので誤解の可能性はないと思うが、結構問題が入り組んでいるように感じたので、今回テストエンジニアと開発者の視点の差異を焦点にして一部の論点を整理したいと思う。 開発者のいう品質保証の定義 まずTDD談義で開発者が「品質保証のためのテスト」「品質管理のためのテスト」などと呼んでいるテストの定義は、乱れや不統一感も多少あるけど、基的にKent Beckや和田さんが使われているQAテストの定義によるもの(http://gihyo.jp/dev/serial/01/tdd/0003)。 この定義で「品質保証のための単体テスト

    TDD談義への反応に対する雑感(テスト駆動開発を取り巻く誤解等) - 千里霧中
    lizy
    lizy 2010/02/25
    彫刻?で言えば、TDDは固まりから形を削り出す工程で、UnitTestはその削りだした形が特定の形に合致するかを調べる工程と言うイメージ。両者は全然違うものじゃないかと
  • 1