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

アンジェロ ヴィノ スプマンテ

甘っ!!!!!!!飲めないだろこんなの、常識的に考えて。デザートワインというヤツなのかな?? 香り:う~んマスカット? うまく表現できない香り、悪くは無いが単純味 :甘い、どこまでも甘い。    基本 …

no image

Auchentoshan オーヘントッシャン 10年

☆☆☆☆ Auchentoshan 単純なウマさ。と表現したくなるローランドのwhiskey。 香り :なんだか弱い、繊細さ?ベーシックな香り。それに加えライチ?柑橘?イチジク?そんな要素    基本 …

no image

Yo buddy, still alive? 戦場の絆8

戦場で戦友は選べない。会社の上長や同僚が選べないのと同じぐらい。 エースと組むこともある。地雷と組むこともある。 JUNKならさらに数的絶対不利のこともある。数的絶対有利のこともある。 それがすべて。 …

シーバスが何故釣れるのか

昨日初心者の方に、陸っぱりのシーバス釣りをお教えしました。 自分も陸っぱりのシーバスは数年ぶりで、大したことは出来てない中で何匹かの魚を出しました。 その時「何故シーバスが釣れたのか、どうしてそこでそ …

no image

花粉

とうとうやってきました悪魔の季節が!花粉!花粉! 普通の人は春に花粉症になります。ボクチンは秋です。イネ?ブタクサ?どくだみ?たぶんその辺。 うずたかいティッシュの山。ノーマルエリエール。 このままで …

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

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

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