nDiki : 単体テスト

2003年12月2日 (火)

過去の今ごろ

過去の12月2日より。

  • HTTP::WebTest
    • 結局テストケースを書くのが面倒で投げ出したまま。make test 用の単体テストはそれなりにがんばって書いているんだけれどね。
[ 12月2日全て ]

2004年2月23日 (月)

[ DiKicker ] 旬表示を実装

各月上旬・下旬・中旬の記事を表示するURIの処理を実装

http://www.naney.org/diki/d/2004-02-c.html

とか。

単体テストを追加したら、昨日のコードにバグ発見。 の stat で、実行時ディレクトリとは別の場所にある記事ファイルの stat をパス指定なしでファイル名だけで指定しているところがあった。 どうりで更新していないのに、毎回データベース更新が起きる訳だ。 修正。

やはり単体テスト重要。 しかし今だにテストファースト開発の体にはなれず。

[ 2月23日全て ]

2004年3月5日 (金)

[ Perl ] PDL 2.4.1 から eigens が固有ベクトルを列ベクトルで返すように

PDLを使う開発中のプログラムを「速いマシンで使いたい」という要望から、オフィスにある Red Hat Linux 8.0 BOX へ昨日インストール作業を行った。

あいかわらず rpm を探してきてインストールするのが面倒。GDを使うのに freetype の開発パッケージを入れようとしたら、CD-ROM に入っている rpm セットだと freetype とその devel のバージョンが違っていてはいらないし。

結局がしがし /usr/local にインストールPerl 5.8.2 自体もそのプログラム専用に別途インストールしてCPANモジュールでがしがし依存するものをインストール

でようやく環境が整って開発中のプログラムをビルドしたら単体テストでこける。 今日数値をチェックしたら、PDL の eigens 関数が今までと転置した固有ベクトル行列を返すようになっていた。 コレ、以前、列ベクトルだと思ったら行ベクトルだったってやつ。それがまた逆になったらしい。

PDLのドキュメントを見ると確かに、2.4.1 でバグフィックスとして列ベクトルに修正されたらしい。 しかし古いPDLもサポートせねばならない。ということでPDLのバージョンを見て 2.4.0 以下のみ xchg かけるように修正して、問題収束。

[ 3月5日全て ]

2004年8月1日 (日)

契約による設計と状態遷移モデルの抽出とか

事前条件/事後条件/不変表明で宣言できる仕様はプログラムの仕様の一部であるので、カバーできる範囲を明確にしつつ議論するのが重要。

テストフェーズとの連携

assertion による実行時検出の場合は、実際にそこを制御が通過しなければならない。テストフェーズとの連携があると実用的(単体テストスケルトンの自動生成など)。

表明状態数

事前条件/事後条件/不変表明から内在的な表明状態を抽出できたとして、状態数はどれぐらいになるのだろう? 1〜3ぐらいだと面白くない。かといって多すぎる場合は設計上の誤りがある可能性が高い。

過去の話題

[ 8月1日全て ]

2004年8月2日 (月)

テスト駆動開発入門

[ コンピュータ書籍 ]

テスト駆動開発入門 契約による設計における段階的な表明を追加するプロセスの話などが昨日出た。 自分ももちろん assertion を書くのだが、それとは別に最近はテスト・ファーストによる開発お気に入り。 しかしまだ「単体テストのカバー範囲」・「テストケースが十分であるか」・「リファクタリング時のテストの追随」などまだ勇気を持てていない部分がある。

ということで(テストとはまた別ではあるのだが)テスト駆動開発もちょっとチェックしておこうかと思い Kent Beck のテスト駆動開発入門を購入。

紙質も比較的チープ。 本屋でぱっと開いてみると細かいコードの断片が散らばっていて、何かプログラムの初学本っぽくてちょっとどうかなというのが最初の感じ。

しかし読み始めてみると面白く Part 1 までまず読み切った。 レッド/グリーン/リファクタリングのサイクルの中で、コードやテストが書き換わっていく様が非常にわかりやすい。 Martin Fowler のリファクタリング-プログラムの体質改善テクニックと同様細かい作業ステップを実演していて、雰囲気が良くわかる。

テスト駆動開発はテストではなく開発方法である」というのも納得。

「動作するきれいなコード」を書くために続きを読もう。


[ 読書ノート ]

[ 8月2日全て ]

2004年8月9日 (月)

Scheme でプログラムを書く

たまにやってくる「Scheme やるぞ熱」再来。

Gauche 0.8.1 をインストール。 何を書こうかという話になるが、今回はテスト駆動開発入門で「単体テストフレームワークテスト駆動開発で書いてみる」という例があり、新しい言語を学ぶときに良いとあったのでそれに挑戦してみることにした。 Gauche用の xUnit は既にあるようだが、トレーニングということで車輪の再発明。

フレームワーク部分を書いているのか、フレームワーク単体テストを書いているのか、単体テスト用サンプルオブジェクトを書いているのか、何だかわからなくなってくるな (オーバーラップするところもあるし)。

テスト駆動開発入門を参考にしようと思ったが、昨日会社に置いてきてしまったばかりだし。 明日続きをやるか。

[ 8月9日全て ]

2006年7月23日 (日)

JavaScript でのプログラミングやっぱり面倒くさい

JavaScript の勉強がてら「お互いに URL でリンクしている XML ファイルセットの簡易ブラウザ」を書き始める。

この間使い始めた Prototype を使って多少楽ではあるものの、それでもやっぱり面倒くさい。 コードを修正するたびに Web ブラウザで動作確認をするという流れが問題だな。

単体テストコードを書いて SpiderMonkey でテストできるかなと思ったが、document オブジェクトとかないし。

やはり JsUnit でテストを書くのが一番かな。

それと JavaScript (Web ブラウザ)の DOM API の情報がまとまっているものないかな。 PerlXML::DOM の気分で書くといろいろ名前が違っていてうまく動かず、切ない。

[ 7月23日全て ]

2008年3月18日 (火)

今日のさえずり - 「健康診断受けてもいいんですか?」と医者に言われた

nane:2342235905

[ 3月18日全て ]

2008年5月18日 (日)

今日のさえずり - に「ぱふぱふ」について説明した

2008年05月14日

  • 13:12 SKKIME が変換しなくなった。辛い。
  • 13:38 SKKIME 1.0 のままだったので、1.5 を入れてこちらを使うようにした。
  • 14:14 気がついたら社内サーバの Hyper Estraier が Error: the index is missing or broken.
  • 16:33 給与改定キタ。

2008年05月15日

  • 10:11 同僚のイチゴに水をやった。
  • 19:50 しばらく単体テストがレッドだったコードを修正してグリーンに。ようやくコミットできてスッキリ。[mb]

2008年05月16日

  • 09:31 聴く CD を換えようとケースを出した電車の中の前の人、中身ほとんど CD-R だった。[mb]
  • 19:48 PRADA Phone のモック見てきた。どのあたりが PRADA なのか不明。LG 端末以上の何があるのだ?[mb]

2008年05月17日

  • 13:01 加湿器今シーズンはおしまいにする。掃除してフィルター乾燥運転中。[mb]
  • 14:56 マックフルーリー抹茶&オレオ食べようと思ったら品切れ。[mb]

2008年05月18日

  • 01:45 PC2M の「セッションの復元機能」設定した。これは便利。
  • 12:46 NEW MEGALOPOLIS のゴムが伸びてだらしなかったので、ハーネスの中で結び直した。そのうち交換したい。
  • 14:11 に「ぱふぱふ」について説明した。
[ 5月18日全て ]

2009年9月10日 (木)

今日のさえずり - バーコードって床屋でどのように頼むんだろう

naney:3907973852

2009年09月09日

  • 05:38 起床。 *P3
  • 05:53 湯船のゴミをさらうやつが欲しい。 *P3
  • 10:43 新しいエアコンのコンパネ設定いじってみた。室温表示できるのか。いいね。あと目の前の柱についているので時計も表示させた。 *P3
  • 12:26 PIXUS MP990 が9月8日に発表されて、PIXUS MP980 は型落ち。 *P3
  • 12:59 2009年9月7日の歩行: 6014歩、4.80km、45分、6.30km/h、消費 218.3kcal、脂肪燃焼 31.2g、3.2エクササイズ。 *P3
  • 13:01 2009年9月8日の歩行: 2176歩、1.66km、20分、4.83km/h、消費 76.5kcal、脂肪燃焼 10.9g、1.0エクササイズ。 *P3
  • 13:52 そろそろ TinyURL から bit.ly に移行するべきかな。 *P3
  • 14:25 ファミリーマートでチョコベビーに惹かれたが 102g も入っていたので諦めた。 [mb]
  • 16:29 ありがとうございます。 j.mp 知りませんでした。 RT @asaasa: @Naney bit.ly のエイリアスである j.mp も使うべき(とか言い放つテスト) ...ついったー公式も j.mp 正式サポートしないかなあ。 *P3
  • 17:36 前向き交流会につき早めに退社。 [mb]
  • 17:42 もう年賀はがきの予約始まっているのか。早いなあ。 [mb]
  • 17:58 バーコードって床屋でどのように頼むんだろう。 [mb]
  • 18:04 品川駅着。時間までエキュートのぞくか。 L:品川駅 [mb]
  • 18:26 そろそろお店に向かう。 L:品川駅 [mb]
  • 19:46 前向き交流会を一足お先に失礼したところ。 [mb]
  • 19:54 今日紹介してもらった西田文郎氏の本を購入。 [mb]

2009年09月10日

[ 9月10日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.053055s / load averages: 0.28, 0.35, 0.37
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker