タグ

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

  • モダンなテストレベル設計(ユニットテスト~システムテスト等をどう設計するか)の原則 - 千里霧中

    プロジェクト全体のテストを組み立てる際に重要な課題になるのが、テストレベル設計です。テストレベル設計は、ユニットテスト、結合テスト、システムテストといったテストレベルを、どのような責務・段取りで行うか分析・設計する活動です。 このテストレベル設計ですが、ここ10年程度の間に望ましいアプローチが変わってきたと感じています。今回はこの変化と、変化後のモダンなテストレベル設計の原則について、考えていることを書き出したいと思います。 旧来のテストレベル設計のアプローチ 旧来、このテストレベル設計では、Vモデルをベースしたアプローチや、自工程完結・品質積み上げをベースとしたアプローチがよく見られました。 このうち一つ目のVモデルをベースとしたアプローチは、要求定義から設計までの上流工程への対応を観点に、テストレベルを設計するものです。 (Vモデルが必須と明言しているわけではなく、極端な例ですが)例え

    モダンなテストレベル設計(ユニットテスト~システムテスト等をどう設計するか)の原則 - 千里霧中
  • C/C++でのユニットテストによるメモリリーク検出 - 千里霧中

    CやC++の開発ではメモリリークに悩まされることが多い。メモリ管理はスマートポインタに限定するなど自分たちが注意しても、外部で開発されたコードやレガシーコードによって結局逃れられないことがしばしばある。 さらに組み込み開発といったコードの実行環境に制約が多い場合は、検出や再現がやりにくいことから、メモリリークのデバッグやテストが結構なストレスになることがある。 こうした、面倒な問題になりがちなメモリリーク対応では、全てに対応できるというわけではないけれど、ユニットテストでの検証が有効なことが多い。ユニットテストならば、再現性の確保、異常な入力の実現、コードの切り分けといったものが容易なためだ。デバッグ等で便利なので、今回いくつかの方法をまとめたいと思う。 対象のコード 今回はメモリリークを発生させる題材として、以下のコードを解析する。 class Base { }; class Hoge

    C/C++でのユニットテストによるメモリリーク検出 - 千里霧中
    bongkura
    bongkura 2014/03/31
  • 単体テストの設計方法について出題・講義 - 千里霧中

    少し前になるけれど、先日WACATE SNSというテストコミュニティつながりのテスト設計のワークショップ勉強会で、テスト設計に関する課題を出題・解説をさせていただいた。開催者の方や参加者の方にはお礼申し上げます。 テーマにはリファクタリングのための単体テスト設計を選ばせて頂いた。課題も解答も即興で作ったテキストデータなので、今回は復習も兼ねて補足したものを以下に転載したいと思う。 (諸事情により非表示化しています)

    単体テストの設計方法について出題・講義 - 千里霧中
  • 1