最初に申し上げておきますが、あくまで戯言ですよ、戯言。
開発者なら誰しも悩むことと思いますが、テストケースに合わせたテスト環境をいかに準備して管理/運用していくかは、ソフトやシステムの品質維持に欠かせない重要な要素です。
それなりの予算を取ってテストチームでも持っている開発現場ならともかく、私も含めてフリーソフト作者の方々はかなり苦労しながら、コードを書くのと同じだけの労力を割いていることと推察します(多分・・(w)。
特に問題になりがちなのが、ネットワーク関連のテストではないかと思います。
かく言う旅行びと日記も例外ではなく、単体としてのテストは十分に可能なのですが、問題はBlogサーバーと絡めた時のテストとなります。
Movable Typeとか他のBlogサービスにしてもリファレンス足りえるサーバー環境もいっぱいあるのに、何が?と思うでしょうか。
そもそもテストというのは正常に動作している場合だけではありません。一番注意しないといけないのはエラーケースなのです。
Movable Typeとかで正常なケースの動作をチェックするのは簡単です。でも、もしサーバーが本来あり得ない返信をしてきたら?アプリケーションとしては本来そこまでチェックしてハンドリングできないと原因不明エラーで落ちまくることになってしまいます。
先の例のような立派な開発現場ならそうしたケース向けに仮想サーバーを組み立ててシミュレーション環境をわざわざ構築したりします。時にはパケットをエミュレーションして(改竄とも言いますが)テストしないといけない場合もあります。
実は作者の本業はB2B構築とかに関係しているんですが、本当に気が遠くなる作業をすることもあるんですよ。どんな実装がされているか分からないインターネットの世界では、どうしても必要なステップ(というかメイン作業)となるんです。
でも個人で作っているようなソフトではなかなか難しいのが実情です。Movable Typeみたいなリファレンス環境がそんな馬鹿な動作をしてくれるようにするのはなかなか大変な作業になってしまいます。
ではどうするか?
「実装」タグアーカイブ
2004-08
04
00:00:00
旅行びと日記 R1.5b をリリースしました
R1.5aでの制限回避に見通しが立ちましたので、これをFIXしたR1.5bをリリースしました。
これでR1.5としての全機能は全て実装されました。
ご迷惑をお掛けしましたが、アップデートをお願いします。
2004-07
18
00:00:00
Seesaaブログ XML-RPC機能における問題点
Seesaaは、利用者としては意外にいいブログだなーと思ってたんですが、XML-RPC機能の実装については、かなりがたがたみたいですね。商用版も販売していたと思いましたが。。
MTみたいに素直には使えそうにはありません。
現時点で気づいている点を一応メモで残しておきます。
1. 存在しないPostIDでmetaWeblog.editPostとかすると、InvalidなFaultレスポンスが返ってくる。
以下がその抜粋ですが、
<member><name>faultCode</name><value><string>Server</string></value></member>
うーん、faultCodeはintのはずなんだけど、しかもServerですか・・。
多分Faultな時は全部こうなのかも。
2. mt.supportedTextFilters でプラグインを返してくれない。
Webサイトでも制限として述べている通りです。
でもConvert Line Breaks(1)はPost時に指定してしまえば使えるんだな、これが。
3. dateTime.iso8601型の形式がYYYY-MM-DDTHH:MM:SSとなる
例えばmt.getRecentPostTitlesした時など。
単にISO8601と言えばこっちの方がポピュラーなので間違えやすいと言えばそうなのですが、XML-RPC仕様ではYYYYMMDDTHH:MM:SS形式でないといけません。
XML-RPC.NETだと形式に厳密でハンドリングしてくれない・・・
他にも気づいたら、また追加しておきます。
他のBlogサービスでも多分色々あるんでしょうね。
さて、実装はどうしよう・・・少し考えます。
PS. ちと、とりあえずお知らせページにトラックバックしておこう。