eXtreme Programming
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG実際実用的と思われるのはTesting, Refactoringの2つだと。
Cording Standardsは常識と考えればね。
XP全般について語ってもいいですが、
むしろTesting, Refactoringの二つをメインに語りましょう。
Testingのテクニックなんざをね。
参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
0320Delフサギコ
NGNGミ,,゚Д゚彡 < ありがとございます。
,;゙ ミ \_____________
ミ. ミ
/゛゛゛゛
もひとつシツモソ
オンサイト顧客のオンサイトってどういう意味ですか?
0321Error401
NGNGお、そのFAQの下の方を見ると、
白XP本(既刊)
ピンクXP本(既刊)
緑XP本(既刊)
の後に、
オレンジXP本
水色XP本
黄緑XP本
紫XP本
の4冊が翻訳中ですね。
誰が翻訳してるんだろう?(あの人はヤだな)
0323Error401
NGNGToppageがいやにスッキリしてた。
で、面白そうなもの発見(今まで気づいてなかっただけか?)。
XP Magazine
http://www.xprogramming.com/xpmag/index.htm
翻訳するのめんどいから、誰か訳してくれないかなぁ(ヘタレ)。
0324Delフサギコ
NGNG∧,,∧ /
ミ;゚Д゚彡< いまさら、超ガイシュツかもしれませんが
ミつ つ \ 白本の誤訳みたいのを
〜ミ ,, ミ. 修正している所ってどこでしたっけ
∪∪ ピンクはリンク先にあるようですが。
改めて白本を読みましたが
技術書籍の翻訳としては
叩かれるほど変でもないような気はしました。
むしろ、日本ジンが書いた日本語なのに読みにくい
技術解説の方がよっぽど嫌かも。
0325Error401
NGNGそれもリンクされてるよ。
Essential EC Kent Beck の Embrace Change 本関連
EC 本要約 essential-ec.html (by ホソカワ, 矢崎, 上手, 佃, やまの)
EC 本,邦訳(XP エクストリームプログラミング入門)へのコメントec-errata.txt (by 小野 剛)
ってとこ。
0326Delフサギコ
NGNG___ミ,,゚Д゚ミ< どーもー。>>325さん、サンクスコ
__ ミ ⊃ つ \______________
_〜ミ,, ,,〃
_ ∪ ∪
0327Delフサギコ
NGNG∧∧ ↓こいつは赤外線スコープ?
ミ,, ゚Д⊆0___,,
ミ⊃二O,---' ̄ ̄
ミ ミ
.∪∪
0328Delフサギコ
NGNGスコープ ー (そのスコープが顧客の問題を解決しているのであれば)控えめのスコー
プは質の向上に繋がります。それから、納期を前倒しすること、または、安く納品す
ることができます。
ソフトウェア開発で一番意識していなければならないのが、スコープです。スコープ
を積極的に管理できれば、マネージャーや顧客にコスト、質と時間を管理させられま
す。
スコープの凄いところは、しばしば変化するという点です。要件が最初から明確になっ
ていることなど一度もありません。顧客は何がほしいか一度も正確に言えたためしが
ありません。
∧,,∧ ゼンゼン ワカラン
ミ゚Д゚,,⊆0___,,
ミ⊃二O,---' ̄ ̄
ミ ミ
.∪∪ 赤外線スコープは夜でも見えるんだぞ(多分)
オサマもイチコロ。
0329Delフサギコ
NGNG> > の第 4 章で「スコープ」という用語が出てくるのですが、意味がわかりません。
> > scope を英和辞典で引いてみると「(知力・研究・活動などの及ぶ)範囲、視野」
> > とありますが、そういう意味でいいのでしょうか。
> これは,「XP エクストリーム・プログラミング入門」を読んでだ
> れもが疑問に思うことだと思います.私も最初分かりませんでし
> た.
> スコープ: リリースに盛り込む機能の範囲.何を今回のリリースに
> 含めて,何を後回しにするか,ということ.XP では,プロジェク
> トを管理する4つの変数として,コスト,時間,品質,スコープを
> 挙げており,中でもスコープをコントロールしてプロジェクトを「運
> 転(steer)」すべきだ,と言っています.
∧,,∧ /
ミ,,゚Д゚彡 < だってさ。参ったね。
U U \
〜ミ ミ
∪∪
0330デフォルトの名無しさん
NGNGどこまでやるかっていう範囲のことだよ。
0331デフォルトの名無しさん
NGNG何を実現しないか、っていうこと。
ほんとはこれが決まっていないと納期も金額も決められないはずなのだが、
いいかげんなまま見切り発車するプロジェクトが多い。
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG最初に正確に分かるはずがないから、
少しずつ修正しながら進めよう、ってのがXPでわ。
客が欲しいタスクをイハ°イ書く
→プログラマ達がそれぞれのタスク作成にかかる期間を見積もる
→客が、どのタスクから作るか決める
次のリリースまでに欲しいものが全部入らないとき、
どれを入れるかは客が決める。
最終期限までに入らないとき、機能を削るのか期間を
延ばす(もっと金をかける)のかは客が決める。
良くある「安くしろ、機能は削るな、納期は延ばすな」という
不毛なやり取りはなくなる…はずだが、こういう金の出し方
をできる客が日本にどのくらいいるかは不明。
0335Delフサギコ
NGNG∧∧ /どのくらいの企業が
〜''ミ ゚Д゚ミ < XP採用や採用検討しているのでしょうね。
"UU'UU" \
0336デフォルトの名無しさん
NGNGソフトハウスってSRAくらいしか思いつかん。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG日本じゃ何が何でも最初に金額と納期を決めようとするが、そのくせ要件定義で
出た話と金額が見合うかどうかなんて殆ど考慮されてない。
最近やった仕事でその辺を痛感したんで、その辺の問題意識をもってる営業さん
と共同戦線を張ろうと画策中。
0339デフォルトの名無しさん
NGNGOn-site customerと並んでネックだね。
まずは社内開発プロジェクトから始めてみるのかなあ。
0340Delフサギコ
NGNG@,,,ミ,,゚Д゚彡 < お客さんの実行する機能テストというのは
⊂,,,,,,,,,つつ. \どういうものをさすのですか?
0341デフォルトの名無しさん
NGNG例えば「この入力を与えたら、こういう帳票が出力されないと困る」
というのを顧客が(ワープロやエクセルで)数値まできちんと書いて、
それをチェックするテストはプログラマが書く。
0342Delフサギコ
NGNGなんかイメージ湧きませんが
客もテスト作って、すぐリリースされたものを使えや(゚Д゚)ゴルァ
ってところでしょうか。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ ベンキョウベンキョウ
ミ,, ゚Д゚彡
〃つl⌒|⌒l
〜ミ,,[ ̄ ̄ ̄.]
 ̄ ̄ ̄
もっとXPの話題でてこないかな。
0343デフォルトの名無しさん
NGNGテストケースを作るのはオンサイト・カスタマー
つまり、プログラマ・チームといつも一緒にいて
指示を出してる顧客だよ。ユーザはまた別。
0344Delフサギコ
NGNG゙ミ,,゚Д゚彡ノ < スラッシュドットage
ミ ミ \____________
ミ ,, ミ
ノ∪ ∪
http://slashdot.jp/article.pl?sid=01/10/29/1719222
0345デフォルトの名無しさん
NGNG日本語訳すると何?
0346デフォルトの名無しさん
NGNGオフィスレイアウト、座席配置ってことだと思う。
個人の席を隅、ペアプログラミング用の席を部屋の真中に置いて、
みんなで共同で使うと良いらしい。
うち会社、席が広いのは嬉しいんだけど、
パーティションで区切られてて、人がまばらに居る感じ。
孤独で寂しいし、ペアプログラミングしにくい…。
0349デフォルトの名無しさん
NGNG設備, 施設という訳が正解みたいだね。
ところで、
継続した結合のインフラが重要と本に書かれてあるのだけど
継続した結合の為のインフラというのはどういうものがありますか?
WinDiffやVSSを思い浮かべますがそういうもののことですか?
0350デフォルトの名無しさん
NGNG俺の意見。
・いつでもクリーンビルド出来るマシン(高速のものが良い)
・バージョン管理ソフト(CVSがおすすめ)
・自動インテグレーションの仕組み(オプション)
かな。
0351デフォルトの名無しさん
NGNG>・いつでもクリーンビルド出来るマシン(高速のものが良い)
クリーンビルドって何?
>・バージョン管理ソフト(CVSがおすすめ)
これはわかるが
>・自動インテグレーションの仕組み(オプション)
自動インテグレって?
0352デフォルトの名無しさん
NGNGすべてのソースをコンパイル、リンクすることでしょう。大規模な
システムでは高速なマシンでないとやってられませんな。
>自動インテグレって?
最新ソースを落として、ビルドを実行し、できればすべてのテストを
実行してその結果を報告するまでを行う。
0353デフォルトの名無しさん
NGNG喫煙所パターンXPとか言ってる輩は殺していいですか?
0354デフォルトの名無しさん
NGNG喫煙もエゴですが、嫌煙もまたエゴです。
殺すときはあなたももろともに。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG50歩100歩の50歩の方だな。目くそ鼻くその目くその方かな。
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG今度のプロジェクトはVC5.0を使うことになってしまった。
ちょっと試したんだけど、謎のRuntimeErrorが・・・(泣
使えてるとか、使えないよ、というレベルで良いので、情報が
あったらお願いします。
0360デフォルトの名無しさん
NGNG0361吾輩は名無しさんである
NGNG同志よ。吾輩も使えておらぬ。
いまさらVC6買うのもアレであるし、
気長にVS.NETとサービスパックを待とうぞ。
0362359
NGNGうう、そうですか。
VC6はあるんですが(仕事なんで)、今回はVC5.0指定なんです。
今まで、JUnit, RubyUnit, PHPUnit, JSUnitを使ってきて、
VCもそのときインストールしていたVC6でcppunit(CppUnitじゃ
ないほう)を試して、「今回のプロジェクトもxUnitは楽勝でしょう」
なんて言っちゃったんですよ。
CUIのほうだったら使えるのかな。来週試してみよう。
エピス氏に聞いてみようかな・・・。
0363デフォルトの名無しさん
NGNGクライスラーC三のシステムが、ああでこうでこうなっているよ
と度々おっしゃっていらっしゃいますが
そのクライスラーというのは
どの程度の規模の会社で
C3というのは
どのくらい重要度の高いシステムなのでしょうか。
XPを上司に紹介する時に、
クライスラというネームバリューがあったら
XPの実践を説得しやすいかと思いますので
具体的にどのくらいでかいんだぞ。と
枝葉末端に至るまで偉大さを分からせてくださるような
情報キボンヌ。
0364中身を読まずにカキコ
NGNGhttp://www.xprogramming.com/publications/dc9810cs.pdf
0365デフォルトの名無しさん
NGNGサイト見てみると従業員は 416,501人(2000年末時点) か。でかい…
0366推測
NGNGVC5.0 は template をまともに使えません。
CppUnit は template を使います。たぶん
VC5.0 では CppUnit をコンパイルするだけ
でエラーになると推測します。
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG継承した解凍/圧縮ストリームの
ユニットテスト書きたいんですけど
ExpandInputStream(InputStream in) extends InputStream {
read() で解凍された1byte読み出し
}
CompressOutputStream(OutputStream out) extends OutputStream {
write() で1byteを圧縮して書き込み
}
みたいなストリームって
どうやってテストしたら良いんでしょ…
0369デフォルトの名無しさん
NGNGまず圧縮して解凍して問題なければもんぢあなし
0370デフォルトの名無しさん
NGNGやっぱ そーゆーテストの方法しかないっすよね…
0371デフォルトの名無しさん
NGNG0372368
NGNG手動で圧縮済みデータ作るの大変そうだなぁ…
はっ 良く考えたら手動で作った圧縮済みデータの
正当性検査はどーしたら?
それは良いとして、 それ以外のチェックって
ストリームの補助機能のチェック
ぐらいしか思いつかんのですけど、
read(int data) で data が 256以上でもちゃんと処理されるとか
mark() / reset() のサポート/非サポートが 仕様どうりかとか
available() の戻り値はOKかとか
それ以外ってチェック項目ありますかねぇ…
0373デフォルトの名無しさん
NGNGJavaは知らんが、圧縮をどうやってやるのかによる。
自前のロジックを組むなら、圧縮されたデータの正当性の検査は出来ると思う。
既存のライブラリを使うなら、圧縮済みデータを作ることは容易だと思うけど。
0374デフォルトの名無しさん
NGNG>それ以外ってチェック項目ありますかねぇ…
自分が実装しようとする(あるいはしたもの)についてテストすれば良い。
異常データのときに、ちゃんと異常処理されるか、
期待した例外がちゃんとthrowされるか、とか。
0375Delフサギコ
NGNG∧,,∧ /
ミ;゚Д゚彡< 解凍ツールで解凍したら・・・
ミつ つ \
〜ミ ,, ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪∪ って独自の圧縮形式だったらダメだけど...
圧縮/解凍して元のデータとの整合性を
チェックすればいいだけでは?
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGデータを食わせてきちんと復元できることを確認しないといかんね…
同じバイトばっかり並んだやつや、欧文、日本語文テキスト、exeファイル、
乱数列、とか。
元が小さい場合、ヘッダ付加の分サイズが膨らむこともよくあるから
常に小さいかどうかってのはアレだが。
0378デフォルトの名無しさん
NGNGというのはブラックボックステストであって
ユニットテストではない。
ExpandInputStream/CompressOutputStream内部で呼んでいる
メソッドについてテストを書くことを検討してみたら。
テストを書くのが簡単になってその上デバッグが楽になるよ。
0379デフォルトの名無しさん
NGNG誰が翻訳者としてダメなわけですか?
ピンク色の本は翻訳はよくても冗長で分厚くなってしまっているのでは?
0380デフォルトの名無しさん
NGNG>圧縮プログラムなんて、圧縮後のサイズが元より小さくて、圧縮したデータを正しく復元
> できれば、多少間違ってても要件を満たしてると思うなり。。。
圧縮済ファイルをもう一度圧縮するとサイズがでかくなるよ
0381デフォルトの名無しさん
NGNGたとえば、lhaとかは圧縮結果をまた圧縮して
これ以上小さくならないところまで圧縮を繰り返す
なんて聞いたことがあるんだけど、ホント?
そういうアルゴリズムなら再圧縮しても大きくならない
ような気もするけど、圧縮ロジックの中での再試じゃないから
やっぱりヘッダなりなんなりが付加されて大きくなるかな?
元ファイルがこれからしようとしてる圧縮形式と同じもので
かつ圧縮後もやっぱりちいさくならないようなら
圧縮しない(もしくはしたフリ)でファイルに手を加えない
ってロジックは欲しいかもね
0382名無しさん@Emacs
NGNGおなじアルゴリズムで2回圧縮したらどうしたって1回目より大きくなっちゃうんじゃないの?
0383359
NGNGcppunit-xという奴です。
http://member.nifty.ne.jp/glad/cpp/test/
ただし、USE_LEAK_CHECKERを有効にすると、コンパイルできません。
(oeprator deleteの引数の数が違うと怒られる)
「eXtreme Programming テスト技法」
http://www.shoeisha.com/book/detail.asp?bid=1304
という本が発売されていて、その中でcppunit-xも紹介されているそうです。
(でも、この本、長瀬氏監修なんだよな・・・)
この本は、まだ買ってないので、評価は出来ません。
0384368
NGNG立した検査方法」とかあるのかな?とか思って質問したんです
けど、やっぱり正攻法でやるしかないみたいですね…
Base64OutputStream とか作ってる人いるみたいだし、
そーゆのあるのかなぁ…とか思ったんですけど。
>>381
>>これ以上小さくならないところまで圧縮を繰り返す
ってのは違います。LHAは名前のとうり LZ77 圧縮した結果を
Huffmanで圧縮して終わりです。
個人的な経験では圧縮2回目は圧縮率9?%で圧縮できます。
でもこの圧縮率はヘッダの大きさ含んでないので書庫サイズ全
体としては1回目の圧縮後より大きくなってる可能性もありま
す。もちろん圧縮失敗する可能性もあり、その場合は「圧縮前
より大きくなる」のでなく無圧縮で格納しなおします。その場
合は確実にヘッダ分だけ書庫サイズは増加します。
普通は解凍に手間と時間がかかるだけで、意味が無いので二重
圧縮は嫌われます。たしか bzip2 だったかは二重圧縮に比較
的強いと聞きましたが自分は試したことが無いので、どの程度
「強い」のかは知りません。
0385デフォルトの名無しさん
NGNGhttp://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview06.html
この二人のどっちがいいのかな。
0386Delフサギコ
NGNGミ,,゚Д゚彡 < そもそも、Unitテストの使い方がサパリわからないですー
U ミ 猫でもわかるUnitテストを教えてキボーン
@ミ ミ
∪ ∪
DUnitは二つあるみたいです...
DUNIT Am Xtreme testing framework for Delphi programs
http://dunit.sourceforge.net/
DUnit - Delphi Testing Framework
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/index.htm
0387デフォルトの名無しさん
NGNGそれ読め
0388デフォルトの名無しさん
NGNG>>383 の本を読んでみたら?
0389Delphiを知らずにカキコ
NGNGその二つのHPをちらっと見たところ、前者がxUnitのDelphiバージョン、
後者はUnitTestingの精神にのっとった、独自バージョンつー感じがした。
(ダウンロードして試したわけじゃ無いので違うかも。つーか、Delphi知らんし(藁)
まずやるなら、前者の方がいいかも。xprogramming.comでもpreferredに
なってるし。
いちおう、こんなページも見つけた。
http://www.toymap.net/fightingpg/fighting.htm
しかし、GoogleでDelphi&DUnitで<b>約17件</b>とは・・・。
0390Delフサギコ
NGNG>>388さん
[XP-jp:02767]でさりげなく無視されてたり
>>389さん
xUnitもよくわかなのですが、なんとかやってみます。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ サンクスコ
ミ,, ゚Д゚彡
〃 つ旦~~
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0391デフォルトの名無しさん
NGNG無いので除外)
・TestCaseがクラスになっている
・それぞれのTestCaseの前後で、setUp(), tearDown()というメソッドを
呼び出すことになっていて、そこで、準備、クリーンアップが出来る。
なので、それぞれのTestCaseが独立している。
・TestCaseをまとめる、TestSuite(テスト一式)という概念がある
・オブジェクト(クラス)の情報がわかる言語では、Testメソッドを自動的に
順番に実行してくれる
・テスト実行(TestRunner)はGUIバージョンとCUIバージョンがある。
GUIのほうは必須ではない。
・テスト結果がオブジェクトである。
よって、結果に自由にアクセスできる。
つー感じ。
0392デフォルトの名無しさん
NGNGなるほど。XP-jp で無視されたら読む価値なしか。
0393Delフサギコ
NGNGうーん、いまチュートリアル読んでるけど
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/tutorial/writing_code.htm
なんか説明が難しい。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧
ミ,, ゚Д゚彡
〃つl⌒|⌒l
〜ミ,,[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0394Delフサギコ
NGNG>>386の下の方、どうやってもフサには理解できん..
∩,,,,,,,,,,,∩ ,,,_
〜⊂`'''''''''ミ。Д。ミ⊃
`'''''''''''∨ ∨ アボーン
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG無茶苦茶簡単ですが?
サンプルに以下のコード追加したら普通に動きましたよ
Del6Personalで確認
unit testDUnit;
interface
...
function Plus(a, b: Integer): Integer;
function Minus(a, b: Integer): Integer;
type
TMyTest = class(TTest)
published
procedure testPlus;
end;
implementation
...
function Plus(a, b: Integer): Integer;
begin
Result := a + b;
end;
function Minus(a, b: Integer): Integer;
begin
Result := a * b; // バグ有り
end;
procedure TMyTest.testPlus;
begin
Test(Plus(1,2), 3, 'Plus1');
Test(Plus(1,-2), -1, 'Plus2');
Test(Minus(4,2), 2, 'Minus'); // バグ有り
end;
initialization
TestSuite.Add(TTestTest, [TTestNone, TTestSuccess, TTestFailure, TTestError, TTestException, TTestProfile, TTestExecute
,TMyTest]); // <-追加
end.
エラーレポート
Test failed - Minus
TestName: TMyTest
Type: Integer
Actual: 8
Expected: 2
0397デフォルトの名無しさん
NGNGところでDUnitはテストコードとテスト対象コードを分離することは出来ないの?
0398Delフサギコ
NGNG↑ここまではわかるけど
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/tutorial/condition.htm
↑ここで
procedure TestとかTestNとか
fooとかTMyTestとか定義も説明も一切無いのになぜわかるのですか?
∧,,∧ / ̄
@,,,ミ,,゚Д゚彡 < うーん、>>396さんの説明とチュートリアルに一切接点がみられないのですが...
⊂,,,,,,,,,つつ. \_
unit testDUnit; じゃなくて
uses testDUnit??
0399デフォルトの名無しさん
NGNG一緒に合ったほうが分かりやすくない?
リリースコンパイル時には分離できるのだし。
0400デフォルトの名無しさん
NGNGprocedure TestN(msg: String=''); overload; // 無条件に失敗
右にあるコメント見れば一目瞭然な気が
0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNG俺はDelphiも知らない全くの外野ですけど(汗
一緒にあると、バージョン管理がヤじゃないですか?
テストコードを更新すると、テスト対象のバージョンも上がってしまう。
あと、ドキュメント自動生成をやろうとしたときに、両方一緒だと邪魔だとか。
いや、ただ、それだけなんですけど・・・。
0403Delフサギコ
NGNG沢山あるソースのどこにTestが定義されているのかもわからないし
そもそも、そのprocedureを自分で書くのか、利用するのか?
という事も伝わらないです。
procedure TTest.Test(Actual, Expected: Integer; msg: String);
begin
if Actual = Expected then Succeed
else Fail(IntToStr(Actual), IntToStr(Expected), 'Integer', msg);
end;
かろうじて、このソースを見てからなら意味はわかるのですが...
∧,,∧ ムズイ...
\,,,,ミ,,゚Д゚彡 五里霧中の中を突き進むような試行錯誤です。
⊂,,,,,,,,,つつ.
そもそもXPのユニットテストに精通している人間にしか
Test手続きが、評価する関数だって理解できないですよ。
procedure Testって、TTestのメソッドだってのも
どうやって、あのページから類推するのでしょう?
>>401さん、たぶん大丈夫(分かりにくいかもしれませんが)
>>402さん、選択できるといいですよね。
基本的にはテストコードはテスト対象コードと一緒にしておく方が
よいと俺は思っています。
0404デフォルトの名無しさん
NGNG名前同じで引数だけ違うものを複数書くときにoverloadと記述するんだけど
"大丈夫"って何が心配なの?
0405デフォルトの名無しさん
NGNGテストコードを含めてのコードじゃないかな。特に XP の test-first な視点では。
typo 一つでも commit するときはしなきゃいけないので
バージョンが上がるのは気にしない。
ドキュメントの自動生成は面倒だね。
これも気にしないことにしてるけど(w、
生成ツールにテストコードを omit するオプションつけてくれると嬉しいね。
0406Delphiを知らずにカキコ
NGNGそのDUnitがxUnitの精神を忠実に実装しているかどうか知らないけど、
xUnitは、
・テストケースを書く仕組み
・テストケースをハンドリングする仕組み
・各種チェックメソッド
・テストを実行する仕組み
・結果をハンドリングする仕組み
を含んでいる。
つーか、本買ってきて読め。
あるいは、Java, C++, VBを知ってるなら、JUnit, CppUnit, VBUnitのドキュメントを
Googleしてみろ。つーか、使ってみろ。
Ruby知ってるならRubyUnitだな。256倍本も出てるし。
xUnitの枠組みは、簡単で、誰にでも分かるもの(OOPLの場合)。
・提供されたチェックメソッドを使って、提供されたTestCaseクラスを継承したテストコードを書く。
・提供されたTestRunnerでテストを実行する。
・提供された結果表示機能を使って、結果を確認する。
ただそれだけだ。
0407デフォルトの名無しさん
NGNGxUnit が理に適った作りをしていることが分かる。
http://member.nifty.ne.jp/masarl/article/testing-framework.html
0408デフォルトの名無しさん
NGNGそういうもんかな。
今まで使ってきたxUnitが全部TestCaseは別ファイルだったから、
違和感を感じるだけかもしれない。
そもそも、コードとテストコードが同一ファイルにあるというのが、
古くからの伝統だったので、xUnitで分かれたのはそれなりの
理由があったのかもしれない。
単に最初の(ほんとか?)のJUnitがJavaであるがゆえにそうなった
というだけかもしれないけど。
0409デフォルトの名無しさん
NGNG自分のコードみたら言語によってまちまちかも。
分けた方が全体的な保守性はいいのは確かだね。
0410デフォルトの名無しさん
NGNGこのDUnitのクラス構造ちょっと変わってるね。
TComponent <- composite
+ TTest <- この時点でテストを階層化してる。こいつを継承してテストを書く
+ TTestSuite <- テストの(階層的な)実行、レポート、singleton
+ TMethodTest <- TTestの個々のメソッドをオブジェクト化、テストメソッドの呼び出しを担当。テストメソッド毎にもテスト結果を持てる。
あとプロファイラなんかの拡張機能もTTestに突っ込んである。
TComponentって事は登録してフォームに貼り付けてGUIテストもできるのかな?
# ソースではregisterしてないけど
0411デフォルトの名無しさん
NGNGつーか、同じ名前を付けんじゃねーぞ、ゴルァ。
>>386では”DUNIT"ってかいてるけど、ソースフォージの表記は"DUnit"だぞ、ゴルァ。
つーか、>>383の本買ったぞゴルァ。
まだ読んでねーぞ、ゴルァ。
0412デフォルトの名無しさん
NGNG使い勝手どうですか?
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNGmake testでエラーがでて困ってるんですけど
なんとかなりませんか?
あと使い勝手はどうですか?
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています