nDiki : 単体テスト
Related term
2004年8月1日 (日)
■ 契約による設計と状態遷移モデルの抽出とか

事前条件/事後条件/不変表明で宣言できる仕様はプログラムの仕様の一部であるので、カバーできる範囲を明確にしつつ議論するのが重要。
@ テストフェーズとの連携
assertion による実行時検出の場合は、実際にそこを制御が通過しなければならない。テストフェーズとの連携があると実用的(単体テストスケルトンの自動生成など)。
@ 表明状態数
事前条件/事後条件/不変表明から内在的な表明状態を抽出できたとして、状態数はどれぐらいになるのだろう? 1〜3ぐらいだと面白くない。かといって多すぎる場合は設計上の誤りがある可能性が高い。
@ 過去の話題
- assertion (2004-05-16)
- テスト駆動開発入門 (2004-08-02)
- 過去の今ごろ (2004-03-11)
- cron 呼び出しから D-Bus (Net::DBus) 使おうとしたら... (2008-02-26)
- [ DiKicker ] 実装作業 (2004-02-21)
2004年8月2日 (月)
■ テスト駆動開発入門

[ コンピュータ書籍 ]
契約による設計における段階的な表明を追加するプロセスの話などが昨日出た。
自分ももちろん assertion を書くのだが、それとは別に最近はテスト・ファーストによる開発がお気に入り。
しかしまだ「単体テストのカバー範囲」・「テストケースが充分であるか」・「リファクタリング時のテストの追随」などまだ勇気を持てていない部分がある。
ということで(テストとはまた別ではあるのだが)テスト駆動開発もちょっとチェックしておこうかと思い Kent Beck のテスト駆動開発入門を購入。
紙質も比較的チープ。 本屋でぱっと開いてみると細かいコードの断片が散らばっていて、何かプログラムの初学本っぽくてちょっとどうかなというのが最初の感じ。
しかし読み始めてみると面白く Part 1 までまず読み切った。 レッド/グリーン/リファクタリングのサイクルの中で、コードやテストが書き換わっていく様が非常にわかりやすい。 Martin Fowler のリファクタリング-プログラムの体質改善テクニックと同様細かい作業ステップを実演していて、雰囲気が良くわかる。
「テスト駆動開発はテストではなく開発方法である」というのも納得。
「動作するきれいなコード」を書くために続きを読もう。
[ 書評 ]
- テスト駆動開発入門読了 (2004-08-05)
- 創発 蟻・脳・都市・ソフトウェアの自己組織化ネットワーク 読了 (2004-07-09)
- Scheme でプログラムを書く (2004-08-09)
- 契約による設計と状態遷移モデルの抽出とか (2004-08-01)
- ソフトウエア開発 55の真実と10のウソ読了 (2004-06-08)
2004年8月9日 (月)
■ Scheme でプログラムを書く

たまにやってくる「Scheme やるぞ熱」再来。
Gauche 0.8.1 をインストール。 何を書こうかという話になるが、今回はテスト駆動開発入門で「単体テストフレームワークをテスト駆動開発で書いてみる」という例があり、新しい言語を学ぶときに良いとあったのでそれに挑戦してみることにした。 Gauche用の xUnit は既にあるようだが、トレーニングということで車輪の再発明。
フレームワーク部分を書いているのか、フレームワークの単体テストを書いているのか、単体テスト用サンプルオブジェクトを書いているのか、何だかわからなくなってくるな (オーバーラップするところもあるし)。
テスト駆動開発入門を参考にしようと思ったが、昨日会社に置いてきてしまったばかりだし。 明日続きをやるか。
- テスト駆動開発入門 (2004-08-02)
- テスト駆動開発入門読了 (2004-08-05)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- 今日のさえずり - バーコードって床屋でどのように頼むんだろう (2009-09-10)
- [ Perl ] PDL 2.4.1 から eigens が固有ベクトルを... (2004-03-05)
2006年7月23日 (日)
■ JavaScript でのプログラミングやっぱり面倒くさい

JavaScript の勉強がてら「お互いに URL でリンクしている XML ファイルセットの簡易ブラウザ」を書き始める。
この間使い始めた Prototype を使って多少楽ではあるものの、それでもやっぱり面倒くさい。 コードを修正するたびに Web ブラウザで動作確認をするという流れが問題だな。
単体テストコードを書いて SpiderMonkey でテストできるかなと思ったが、document オブジェクトとかないし。
やはり JsUnit でテストを書くのが一番かな。
それと JavaScript (Web ブラウザ)の DOM API の情報がまとまっているものないかな。 Perl の XML::DOM の気分で書くといろいろ名前が違っていてうまく動かず、切ない。
- Google Analytics から TSV エクスポートしてキーワード... (2007-11-18)
- 早速 reStructuredText から LaTeX へのコンバータを書く (2005-11-24)
- SpiderMonkey の素のインタプリタでは CGI プログラムには役立たず (2006-12-11)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- 今日のさえずり - キレイキレイで顔を洗ってみた。みんなにはないしょだよ。 (2009-07-29)
2008年3月18日 (火)
■ 今日のさえずり - 「健康診断受けてもいいんですか?」と医者に言われた

- 15:13 これから健康診断。[mb]
- 15:24 健康診断に行く前にトイレにいってしまったことを思い出してあせった。[mb]
- 15:26 採尿、身長、体重、聴覚、視力まで完了。[mb]
- 15:47 問診、血圧、レントゲン、心電図、採血して、健康診断終了。[mb]
- 15:49 あっ、そういえば胴囲もはかった。[mb]
- 16:09 [photo] 家にあったロベール・ドアノーのポスターを貼った http://tinyurl.com/256wyy
- 18:17 SO905iCS ソフトウェア更新きてる。「プリインストールされていない『きせかえツール』をご利用の場合、特定操作を行うと、メニューのカーソル表示が一部されない場合がある。」
- 20:02 そういえば健康診断で「2週間前に風邪ひきました」といったら、「健康診断受けてもいいんですか?」と医者に言われた。[mb]
- 20:03 そういえば健康診断で、尿に血が混じっていたらしい。振り絞りすぎたか?[mb]
- 20:11 [photo] キョロペッツ http://tinyurl.com/235zvk
- 24:12 お客様の検索に関連する最近の上位キーワード ランキング「リクナビ」「sparknotes」「浜崎あゆみ」「spark notes」「xerox」「punyu」「ハローワーク」「アスクル」「痛い」「確定申告」
- 24:18 [B!] twitteriapp http://ti.eath.jp/
- 24:41 @k12u リファクタリングには単体テストが必要。
- 15:20 健康診断 (2008-03-18)
- 16:00 健康診断 (2006-02-27)
- 健康診断 (2004-02-02)
- 16:00 健康診断 (2005-02-21)
- 15:30 健康診断 (2007-03-16)
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日
@ 2008年05月16日
- 09:31 聴く CD を換えようとケースを出した電車の中の前の人、中身ほとんど CD-R だった。[mb]
- 19:48 PRADA Phone のモック見てきた。どのあたりが PRADA なのか不明。LG 端末以上の何があるのだ?[mb]
@ 2008年05月17日
@ 2008年05月18日
- 01:45 PC2M の「セッションの復元機能」設定した。これは便利。
- 12:46 NEW MEGALOPOLIS のゴムが伸びてだらしなかったので、ハーネスの中で結び直した。そのうち交換したい。
- 14:11 妻に「ぱふぱふ」について説明した。
- CD-R ドライブが使えない (2006-07-27)
- 今日のさえずり - ダッフルコートを着ていた時期がぼくにもありました (2009-12-04)
- (FMV -> PORTEGE300CT -> PC) -> ThinkP... (2003-12-20)
- 今日のさえずり - Twitter 日本語表示みた (2008-04-23)
- 今日のさえずり - ファミリーマートにクリスマスケーキ4号・5号 (2008-12-24)
2009年9月10日 (木)
■ 今日のさえずり - バーコードって床屋でどのように頼むんだろう

@ 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日
- 05:41 起床。 *P3
- 06:01 bit.ly アカウント作った。 *P3
- 06:03 bit.ly previewbit.ly preview インストール。 *P3
- 06:22 twitterfeed の設定を TinyURL から bit.ly に変更。 *P3
- 06:32 P3 でフッタをつけるオプションを外した。
- 09:50 ヨドバシカメラの店頭では iPod のブース準備中。 #Akihabara L:秋葉原 [mb]
- 09:55 ミキサー車にキュータが描いてある。 [mb]
- 11:28 MIME::Base32::decode した結果を Encode::decode する必要があるのに気がつくまでちょっとかかった。 #Perl
- 12:14 会社の子と月見バーガー買いにきた。 [mb]
- 12:28 今年初月見バーガー。 http://movapic.com/...
- 15:37 去年 C# で書いた CSV リーダを C++ に移植した。単体テストも含めて移植したので短時間でスムーズにできた。
- 15:39 Visual Studio 2005 の [ツール]-[外部ツール] から Uncrustify を登録。開発がさらにちょっぴり楽しくなった。
- 17:50 wingdi.h で #define ERROR 0 とかやめてほしい。
- 19:07 あれ、フォーシーズンズ・マツダのシャッター閉まってるや。 L:東京都千代田区神田佐久間町2-1 [mb]
- 19:14 金封買おうと思ったけど、どれにすればいいかわからず出直し。 [mb]
- 今日のさえずり - 停電って近隣にいる Twitter-ers あぶりだしに最適 (2010-01-21)
- 今日のさえずり - フロスティ食べたい (2009-12-10)
- 今日のさえずり - ホームレスグーチョコランタン (2008-10-27)
- 今日のさえずり - 隣の人がギャンのトートバッグ持ってる (2010-01-13)
- 今日のさえずり - 5:30 起床でもまだ時間が足りない (2009-09-12)
2010年1月6日 (水)
■ 今日のさえずり - 毎年今ごろになると注連飾りをいつ外すかググる

@ 2010年01月06日
- 09:47 今日今年最初の燃やすごみの日だったが、寝袋捨てるの忘れてた。
- 11:58 Visual Studio 2005 の単体テストを使ってみようかと思ったけれど、対象が C++ アンマネージコードでもテストプロジェクトはマネージコードになるのか。いばらの道になりそうなので今まで通り CppUnit にしよう。 #cpp #cplusplus
- 12:15 なか卯でテイクアウトしようと思ったが今年も店頭のオバチャンの要領がよくないので、店内で食べてきちゃった。
- 12:27 MovaTwitter にリストのユーザ登録/削除機能がついた。これ嬉しいな。移動中に「後で PC で……」と先送りしなくてすむ。 #movatwi
- 15:21 がんすけ2、サブ項目20までとな。
- 15:49 PowerPoint の画面をローカルとリモートで共有したい(操作はローカルのみで良い)というリクエストをもらったんだけれど、良いソリューションあるかな。使ったことないけど Skype の画面共有がお手軽?
- 16:12 @bash0C7 情報ありがとうございます。PowerPoint の機能確認してみます。
- 16:39 PowerPoint 2000 の[オンライン グループ作業]は NetMeeting を使うのでディレクトリサーバが必要。[オンライン ブロードキャスト] は共有フォルダにおいて定時に Web ブラウザでアクセスしてもらう。Outlook の会議出席依頼がどうの。
- 16:40 PowerPoint 2007 ではどちらも無くなっているっぽい。
- 16:40 PowerPoint の機能だとちょっと気軽にはリモートと画面共有できなさそげ。
- 17:02 Skype の画面共有してみた。画面更新速度はそこそこだけれどやっぱりこれが手軽か。それぞれ全画面表示にしてもモニタの解像度を気にしなくていいし。音声通話も必ず開始されるのでチャット + 画面共有には向かないけれど、今回は音声通話も必要みたいだからちょうどいいな。
- 17:03 @yamakiyo 社内会議だから Ustream.TV はマズイっす。
- 17:34 腹減ったので肉まん。
- 20:41 Google ドキュメントでフォーム作ってみた。楽しい。
- 21:08 RT @kaorisasaki: 私という人が、一番いい状態で、周囲に(家庭や仕事など)に貢献できる状態って、どういう状態?を考えて、それを実現させるために自分を動かす。いい状態になっている、ということは、私の存在や行動、発言で、周囲もハッピーということです。ウィンウィン。
- 21:20 あ、一瞬いま年末に思えた。
- 21:26 もやしが売り切れで泣ける。
- 21:27 バナナも売り切れで泣ける。
- 21:33 鉛筆削りはあったよ。
- 21:53 今年も善寳寺から御札が届いたようだ。頼んでくれている妻の両親に感謝。
- 22:53 毎年今ごろになると注連飾りをいつ外すかググる。
- 22:57 注連飾りは1月7日に外すということにしておく(1月7日に外すか、1月7日の終わった次の8日に外すかで、毎年忘れて悩む)。
- 23:08 ミクコレ設定をメタリックにした。 http://bit.ly/6Q1RTX
- 23:18 あいかわらず HootSuite は OAuth 対応してないのか。
- 24:42 メールけいしちょう登録してみようと思ったけれど空メール送るタイプなのか。ちょっと面倒。
- 24:44 そして待てどもメールけいしちょうからの自動返信メールがこないと思ったら Gmail で spam 扱いされていたという。
- 24:54 メールけいしちょう登録完了。様子を見てケータイに転送するように設定する。
- 今日のさえずり - 得意技「くちからあついカレーをふきだす」 (2009-01-14)
- 今日のさえずり - 隣の人がギャンのトートバッグ持ってる (2010-01-13)
- 今日のさえずり - オールラインレッド! (2009-10-08)
- 今日のさえずり - VIP リスト作った (2009-11-01)
- 今日のさえずり - ガッツフィーリング (2009-02-28)
2010年1月13日 (水)
■ 今日のさえずり - 隣の人がギャンのトートバッグ持ってる

@ 2010年01月13日
- 09:45 ちょっとヨドバシカメラ。 L:秋葉原
- 09:48 NTTドコモの携帯電話カタログを1部。
- 10:28 Task Coach 0.78.0 にアップデート。 http://bit.ly/4u8dGm
- 11:34 C++ の std::cout って一時的に退避して std::stringstream オブジェクトを割り当てたりできないのかな。 #cpp #cplusplus
- 12:19 ドコモショップでマルチナンバー解約。 http://movapic.com/...
- 12:21 隣の人がギャンのトートバッグ持ってる。
- 12:23 Twitter タイムライン API 遅延か。
- 12:34 ドコモショップで壁掛けディズニーカレンダーもらった。卓上のは年末にもらって使っているので @nyafuru にあげる。
- 12:47 nanaco 2010年3月末失効が 98 ポイント。
- 12:59 Google カレンダーの To Do リストを tickler file にしようかと検討中(今はほぼ日手帳で tickler file している)。 #GTD
- 13:13 昨年12月中旬から1つの Task Coach ファイルに作業記録を追加してきたけれどだんだん処理が重くなってきた。コピーして先月分を削除したらだいぶ軽くなった。がんばれ Task Coach。
- 13:26 Visual Studio 2005 のソリューション エクスプローラ上でソリューション フォルダを作ってプロジェクトを整理できるなんで知らなかった。単体テストプロジェクトなどを整理。
- 14:33 C# から C++ に戻ってくると this-> のところをつい this. とタイプしてしまって怒られる。
- 17:44 帰宅。
- 24:22 ケータイのマルチナンバー設定を解除。
- 24:39 ドコモショップでマルチナンバー解約。 [Flickr] http://goo.gl/fb/XQnH
- 25:08 ほぼ日手帳に書いていた tickler file を Google カレンダーの To Do リストに転記。
- 今日のさえずり - Twitterご利用明細書きた。1年分請求額 12,3... (2009-12-14)
- 今日のさえずり - 毎年今ごろになると注連飾りをいつ外すかググる (2010-01-06)
- 今日のさえずり - 許されるのは嘘ではなくドワーフのような沈黙 (2010-02-23)
- 今日のさえずり - 待受画面が巨大仏像写真なのでビビった (2009-11-06)
- 2008年夏の GTD 運用ツール (2008-07-23)
2010年1月27日 (水)
■ 今日のさえずり - Linux 版 Evernote があればもっと遊んでみたい

@ 2010年01月27日
- 10:47 久しぶりに VQ1005 用に電池充電しておく。
- 12:13 ヨドバシカメラ(今週3回目)
- 12:22 週刊アスキーの Xperia 記事読んだ。たいしたこと書かれてなかった。
- 12:32 なか卯 牛丼 350円。
- 14:30 三角関数と回転行列の再確認をしたところ。
- 16:48 単体テストして逆の座標変換間違えていたことに気がついて式を見直し。
- 18:11 RT @kumatch: howm のデータを全て Evernote に移そうかなと思ったけども、調べたらやっぱり howm の方がいいぜみたいなエントリもあったりして迷う。 http://www.naney.org/...
- 18:12 Linux 版 Evernote があればもっと遊んでみたいんだけれど。
- 18:45 ちょっとためていた出勤簿そろそろつけておく。
- 19:11 息切れしないように今日は定時あがり。
- 今日のさえずり - これ Emacs なのよね (2010-01-26)
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり - 得意技「くちからあついカレーをふきだす」 (2009-01-14)
- 今日のさえずり - Amazon.co.jp でママレモン売ってる (2008-10-16)
- 今日のさえずり - まだ帰ってきちゃ駄目メールを受信 (2009-10-29)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.215834s / load averages: 0.13, 0.09, 0.09
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)






◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。