2023/03/03(金) Forkwell エンジニア文化祭 2023
この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には本当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出
技術詳細は外側へ寄せるポイントは、中心となる対象ドメインは何か?中心から排除したい要素は何か?を考慮して区分けすることです。中心のドメインから排除したい項目の代表例が、データベースアクセスや外部Webシステムやメッセージングといった詳細の技術要素です。ドメイン駆動設計の設計判断を取り入れている場合は、オブジェクトへのアクセスするためのRepositoryのインタフェースのみを中心ドメインに入れ込み、Repositoryの実装(特定のデータベース種類やSQLなど実装詳細)は外側に追いやります。同様に、インタフェースのみを中心にいれてメッセージングや他のWebシステムのアクセス等の実装の詳細は外部に追いやります。 うまく区分けできれば、中央に残った純粋なビジネスについてのルールや状態遷移についてをユニットテストやリファクタリングを継続することができます。リファクタリングによる設計改善を継続する
この記事は,TDDに見切りをつけたある大学教授の経験と,Uncle Bobの反論を要約したものだ。 ソフトウェア工学の大学教授を退官したIan Simmerville氏には,“Software Engineering, 10th edition”を含む数冊の著書がある。同書の第8章はすべてソフトウェアテストに関する内容であり,特に8.2章ではTDDを取り上げている。それらの章で紹介された考え方を何度も引き合いに出しながら,Sommerville氏は先日の記事に,“TDDはソフトウェア工学の大きな進歩です。いくつかのクラスのシステムにおいては,それが有効であることが明らかです。”と述べて,次のような“TDDフレンドリ”なシステムの一覧を紹介している。 階層化アーキテクチャ 合意された成功基準を持ち,それに準拠したテストに基づいて構築されるシステム。 自身のコントロールを越えてシステムと対話す
話題になりましたね、"TDD is dead"。 TDD is dead. Long live testing. (DHH) そしてやっとむさんが素晴らしい日本語訳を公開していただきました。 TDDは死んだ。テスティングよ栄えよ。 by DHH @やっとむでぽん 今回、内容の話はしません(ぉ。英語の話をします。*1 このタイトル、"TDD is dead. Long live testing."、なんか気になりません?と言うか日本人的には意味がちょいとわからない。。。 実は、これには元ネタがあります。 英辞郎をどうぞ。 the king is deadの意味・用例|英辞郎 on the WEB:アルク The king is dead; long live the king! 王様は亡くなった。王様万歳! 個々人としての王が死去しても、王制は継続するという意味。王が「死んだ」と言ったすぐあ
渡辺です。 最近はユニットテストの導入方法などに関するエントリーが多かったので、今回は実用的な小ネタとして、メソッドにおけるパラメータの正当性検査とユニットテストについて紹介したいと思います。 パラメータの正当性検査 はじめにパラメータの正当性検査について復習しましょう。Javaプログラマであれば読んでないことが許されないEffective Java(第2版P.175、ただし絶版)には次のように記述されています。 ほとんどのメソッドとコンストラクタは、パラメータとして渡される値に関して何らかの制約を持っています。たとえば、インデックス値が負であってはいけないとか、オブジェクト参照がnullであってはいけないというのが普通です。このような制約は明確に文書化すべきであり、メソッド本体の初めに検査することで制約を強制すべきです。これは、エラーが発生したらできるだけ速やかにエラーを検出するようにす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く