Upgrade to Pro — share decks privately, control downloads, hide ads and more …

変更につよいユニットテストの書き方.pdf

suzuki masayuki
September 28, 2024
51

 変更につよいユニットテストの書き方.pdf

このスライドは、鈴木がユニットテスト(デベロッパテスト)についての個人としての考えをもとに登壇をしたものです。

このプレゼンテーションでは、ユニットテストの書き方についてご紹介しています。主なトピックは以下の通りです:

ユニットテストの目的

開発者の支援
バグの予防
コードの信頼性向上
メンテナンスしやすいテスト設計

プロダクションコードとテストコードの依存関係を最小化
テストコードの量を最適化
プログラムの動作に基づいたテスト戦略

ユースケースをもとにしたテスト設計
レイヤーごとに適した粒度でのテスト実装
効果的なテスト階層の構築

Featureテスト
UseCaseテスト
複雑なクラスに対する個別テスト
テストコード作成の基本的な方針

ユースケースの実行を前提としたテスト
UseCaseテストによる振る舞いの確認
柔軟なテストコード設計
新しい仕様に対応する方法

既存の方針に基づいてテストを追加
複雑なロジックを分離してテスト
このアプローチを活用することで、変更に柔軟なユニットテストが可能になり、長期的に開発を効率化することが期待できます。メンテナンス性とテストカバレッジのバランスを取りながら、プロジェクトの品質を向上させるためのポイントについて解説しています。

suzuki masayuki

September 28, 2024
Tweet

More Decks by suzuki masayuki

Transcript

  1. 鈴木まー(suzuki_mar) RubyでDDDや モジュラーモノリスなど のソフトウェアアーキテクチャ の導入、定着を している PHP/Laravelで仕事をできるように 転職活動中&スキルアップ中 直近の仕事 最近していること

    オブジェクト指向カンファレンスの動画を30ぽんぐらい公開した LTやブログなどで設計などをアウトプット PHP Sessionless Conferenceのコアスタッフになったばかり コミュニティ活動 @suzuki_mar プログラマー以外にプロレス団体のプロモーター的な 活動をボランティでしている 名古屋で3000人の会場を埋めることを考えている
  2. メインフロー 支払い情報を入力するまA V1 システムは購入者がブラックリストに登録されていないことを確認すx %1 購入者がブラックリストに登録されている場合e 1 システムは購入者に購入できない旨を通知すx 1 ユースケースを終了すx

    1 購入者が住所を入力すx 1 システムは外部のアドレスチェックAPIに入力された住所が正しいことを問い合わせx %1 住所が間違っている場! 1 システムは購入者に住所が間違っていることを通知すx 1 購入者に正しい住所の再入力を促す プログラミングの振る舞い @suzuki_mar