matsutakegohan1's blog

matsutakegohan1(きゅーぞう)による、釣り、狩猟、技術?、セキュリティ?、その他の話

未分類

諸君私は.tが好きだ

投稿日:

Vox、久しぶり、元気にしてた?

諸君、私はテストが好きだ。
諸君、私は.tが好きだ。
(以下略)

普段テストは3つに分けて考えている。
そしてそれぞれは求められる.tの粒度が異なる。

  • 一連のビジネスの流れを流す.t
  • 何らかの機能に依存したクラスの.t
  • とてもシンプルなたった一つのことをなすクラスの.t

一連のビジネスの流れを流す.t
どんなアプリにも流れがある。
ブログなら記事を投稿して、編集して、検索して、削除する流れがある。
不動産の掲載サイトなら、物件を投稿して、検索して、資料請求して、掲載終了してという流れがある。
この流れが正しいことを表現するビジネスフローとしての.tがある。

この.tに書き込むことはそのままWeb用のフレームワークに乗せればそのまま動くし
もちろんバッチに乗せても良い、そんなレイアのクラスのこと。

求められる要件は「大体動いていること」
このレイアで異常系を考えたときそれは無限にちかくケースが存在する。

変な値が入ってきたとき、とかはその上のWebなりバッチのフレームワークのお仕事。
接続断があったら、はそれより低いレイアできちんと捕まえるお仕事を任す。

ややこしいことは置いといて、大体サービスが正常に維持できる。
お客様は今日もニコニコサービスを使うことができる。
それがこのテストの目的。

何らかの機能に依存したクラスの.t
いくつかのシンプルなクラスをuseしてビジネスの一端を担うクラス。
良くこのクラスは量産されるのではないかと思う。
このレイアのクラスをひとつまたはいくつかを集めて、ひとつのケースを達成する。

求められる要件は「カチッと動いていること」
異常があればキチンとエラーを出す。
期待する値が期待通り出てくる。
サービスが正常に維持できること。
それを試験する。

十分にビジネスロジックに依存するため、処理の順番などもテスト項目に入るだろう。
厳密にやりすぎるとスピードを失う。
期待する正常系、期待する異常系が動くことを確認する。

とてもシンプルなたった一つのことをなすクラスの.t
Util.pm DB/XXX.pm API/XXX.pm
たった一つの目的に対して純粋なクラスたち。

これらに求められる要件は「厳密さ」

これらのクラスはひとつのところで使って終わりではない。
さまざまなところで再利用される。
作成者のあずかり知らぬところで想定外の使われ方をするかもしれない。

すべての境界値、中央値の試験。異常系の試験。
それが想定するなら異なるOSでの試験。
本気を出してしまうと間違いなく書いたコードよりテストコードのほうが多くなる。

社内のみだからという場合は自分の使うケースについて
発生するパターンすべては最低書いておく必要がある。
再利用する際は再利用する人がそのケースを追加すればそれなりに守れる。

最近若い子にテスト書けとよく言うのだけど
そういってもいきなりじゃかけない人が多いよねと思い
ちょっと自分の脳みそを整理してみた。

正直上記に納得がいってない。

ていうか並み以下ミトコンドリア以下のエンジニアの僕が
曲りなりにサービスにコードのせるのだからテストぐらいしないと。
それより若い子がテストコードも書かないでサービスとか
それは乱暴すぎると思ったり思わなかったり。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

CDドライブ募集!

次々に壊れていきますね。もう寿命なのかもしれません。 というわけで「くれるかな」シリーズ第二段!CD-ROMドライブ募集! 先日久々に、今度Mixiにいつの間にかJoinしていた元Y!の方とお会いする …

no image

日本ふるさと沈没

日本ふるさと沈没 鶴田 謙二 他 これはすごい 執筆陣の頭悪さが最高だ。 【北海道】吾妻ひでお、あさりよしとお、唐沢なをき 【東北】遠藤浩輝 【関東】西島大介、伊藤伸平 【北陸/甲信越】米村孝一郎 【 …

no image

ボウモア12年 3

ロック最高。ボウモア12年はロックだね。 ブラックブッシュはロックにすると味が分かれる。何でだろう。悪くは無いのだけど・・・ REDはだめだ。消毒液臭さが出る。やはりストレート。 余市はロックにしても …

no image

ウィスキーの耐久力

ほかの人は知らないですけど、私は酒が弱い。700mlを飲みきるのに一月では足りないだろう。 だから、ほかの方には無い要素が重要になる。 耐久力。 封を開けてから、何日ぐらい持つのか。このテストのために …

no image

Friday night fishing

このシーズンは毎年がんばります。 とはいえ体力も厳しいので、近場に子一時間。風や海の期限は絶好。船橋の航路とシャローと船と明暗。船橋でも一二を争う鉄板ポイントに。 しかし到着してみると二つついているは …

第一精工の高速リサイクラーはすべての釣り人の必需品だと思っています。糸の巻き替え、巻き直しにこれが在るのと無いのでは天地の差があります!

シマノの防水クッションは、すべての時期で船釣りのオトモ。一番小さいサイズで大抵大丈夫です。冷えから守ってくれたり、エンジンの振動から守ってくれたり、寝るときに枕になります。

%d人のブロガーが「いいね」をつけました。