タグ

2011年12月16日のブックマーク (2件)

  • グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している

    グーグルでは、社内のプログラマによって作り出される大量のコードの品質を保つため、チェックイン前にユニットテストとコードレビューが行われているそうです。しかし、コードが大量になってくると、ユニットテストやレビューをすり抜けるバグも少なからず発生します。 そこでコードの品質をさらに高めるために、グーグルでは「バグ予測アルゴリズム」を採用。バグがありそうな部分をレビュアーにアドバイスする仕組みを採用したとのこと。 そのバグ予測アルゴリズムとはどんなものなのか。Google Engineering Toolsブログに投稿されたエントリ「Bug Prediction at Google」(グーグルにおけるバグ予測)で説明されています。 ソースコードの修正履歴を基に予測 コードの中にバグがありそうな箇所を分析する手法としては、「ソフトウェアメトリクス」がよく用いられます。これはコードを静的に分析して、

    グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している
  • HTTP通信を含むモジュールのテスト #2 - Articles Advent Calendar 2011 Test

    はじめに こんにちは。ikasam_a です。 8日目に bayashi さんが [/articles/advent-calendar/2011/test/8:title=HTTP通信を含むモジュールのテスト] というエントリを書かれていますが、今日はその続編的な話をします。 フェイクとスタブ 前のエントリでは Test::Fake::HTTPD を使ってフェイクサーバを立ててテストする、という手法が紹介されています。これは テストダブル (Test Double) で言うところの Fake という概念で、"動作するけど手抜き" なサーバを用意して実際に HTTP 通信可能にするってわけです。これで実際のサービスに DoS することなくテストできるので、積極的に使いたいところです。 テストダブルとは何ぞや?という話は、別のエントリでしたいと思いますので、今日はさらっと流してください! この

    HTTP通信を含むモジュールのテスト #2 - Articles Advent Calendar 2011 Test
    ikasam_a
    ikasam_a 2011/12/16
    Test Track 16日分書いたよー。