単体テストの考え方/使い方 | マイナビブックス

単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略

  • 著作者名:Vladimir Khorikov
  • 編集者名:須田智之
    • 書籍:4,488円
    • 電子版:4,488円
  • B5変:416ページ
  • ISBN:978-4-8399-8172-3
  • 発売日:2022年12月28日
  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

質の高いテストを行い、ソフトウェアに価値をもたらそう!

単体(unit)テストの原則・実践とそのパターン ― プロジェクトの持続可能な成長を実現するための戦略について解説。

優れたテストを実践すれば、ソフトウェアの品質改善とプロジェクトの成長に役立ちます。逆に間違ったテストを行えば、コードを壊し、バグを増やし、時間とコストだけが増えていきます。生産性とソフトウェアの品質を高めるため、優れた"単体テスト"の方法を学ぶことは、多くの開発者とソフトウェア・プロジェクトのために必須といえるでしょう。

本書“単体テストの考え方/使い方”では、単体テストと統合テストの定義を明確にします。そして、どのようなテストに価値があるのかを学び、どのテストをリファクタリング、もしくは削除するのか、ということについて考え、そのことがプロジェクトの成長にどう繋がるのかを見ていきます。
C#のコード例で解説しますが、どの言語にも適用できる内容です。

Manning Publishing: Unit Testing Principles, Practices, and Patterns の翻訳書。


目次
第1部: 単体(unit)テストとは?
第1章: なぜ、単体テストを行うのか?
第2章: 単体テストとは何か?
第3章: 単体テストの構造的解析

第2部: 単体テストとその価値
第4章: 良い単体テストを構成する4本の柱
第5章: モックの利用とテストの壊れやすさ
第6章: 単体テストの3つの手法
第7章: 単体テストの価値を高めるリファクタリング

第3部: 統合(integration)テスト
第8章: なぜ、統合(integration)テストを行うのか?
第9章: モックのベスト・プラクティス
第10章: データベースに対するテスト

第4部: 単体テストのアンチ・パターン
第11章: 単体テストのアンチ・パターン

電子版の購入は姉妹サイト「IT書籍ストア Manatee」がオススメ!
充実のラインナップに加え、割引セールも定期的に実施中!

商品を選択する

フォーマット 価格 備考
書籍 4,488
PDF 4,488 ※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

Vladimir Khorikov(ウラジーミル・コリコフ):ソフトウェア・エンジニア、Microsoft MVP受賞者、単体テストに関するブログの執筆や講座を受け持ったりしている。
須田智之:フリーランスエンジニア、IT分野の記事や書籍も執筆している。執筆した書籍に『RxJavaリアクティブプログラミング』、翻訳書に『セキュア・バイ・デザイン』がある。

関連ページ

目次

第1部 単体(unit)テストとは
第1章 なぜ、単体(unit)テストを行うのか?
1.1 単体テストの現状
1.2 なぜ、単体テストを行うのか?
1.3 網羅率(coverage)とテスト・スイートの質との関係
1.4 何がテスト・スイートの質を良くするのか?
1.5 本書から学べること

第2章 単体テストとは何か?
2.1 単体テストの定義
2.2 古典学派およびロンドン学派が考える単体テスト
2.3 単体テストにおける古典学派とロンドン学派の違い
2.4 古典学派およびロンドン学派における統合(integration)テスト

第3章 単体テストの構造的解析
3.1 単体テストの構造
3.2 単体テストのフレームワークについて
3.3 テスト・ケース間で共有するテスト・フィクスチャ(test fixture)
3.4 単体テストでの名前の付け方
3.5 パラメータ化テストへのリファクタリング
3.6 確認(Assert)フェーズの読みやすさの改善

第2部 単体テストとその価値
第4章 良い単体テストを構成する4本の柱
4.1 良い単体テストを構成する4本の柱
4.2 退行(regression)に対する保護とリファクタリングへの耐性との関係
4.3 迅速なフィードバックと保守のしやすさ
4.4 理想的なテストの探求
4.5 ソフトウェア・テストにおけるよく知られた概念

第5章 モックの利用とテストの壊れやすさ
5.1 モックとスタブの違い
5.2 観察可能な振る舞い(observable behavior)と実装の詳細(implementation detail)
5.3 モックの利用とテストの壊れやすさとの関係
5.4 振り返り: 単体テストの古典学派とロンドン学派の違い

第6章 単体テストの3つの手法
6.1 単体テストの3つの手法
6.2 単体テストの3つの手法の比較
6.3 関数型アーキテクチャについて
6.4 関数型アーキテクチャおよび出力値ベース・テストへの移行
6.5 関数型アーキテクチャの欠点

第7章 単体テストの価値を高めるリファクタリング
7.1 リファクタリングが必要なコードの識別
7.2 単体テストに価値を持たせるためのリファクタリング
7.3 プロダクション・コードの種類に基づく効果的な単体テストの作成
7.4 コントローラにおける条件付きロジックの扱い
7.5 結論

第3部 統合(integration)テスト
第8章 なぜ、統合(integration)テストを行うのか?
8.1 統合(integration)テストとは?
8.2 どのようなプロセス外依存をモックに置き換えるべきか?
8.3 どのように統合(integration)テストを行うのか?
8.4 インターフェイスを使った依存の抽象化
8.5 統合テストのベスト・プラクティス
8.6 ログ出力に対するテスト
8.7 結論

第9章 モックのベスト・プラクティス
9.1 モックの価値を最大限に引き出す方法
9.2 モックのベスト・プラクティス

第10章 データベースに対するテスト
10.1 データベースをテストするのに必要な事前準備
10.2 データベース・トランザクションの管理
10.3 テスト・データのライフ・サイクル
10.4 テスト・コードの再利用
10.5 データベースを使ったテストに関するよくある疑問
10.6 結論

第4部 単体テストのアンチ・パターン
第11章 単体テストのアンチ・パターン
11.1 プライベートなメソッドに対する単体テスト
11.2 プライベートな状態の公開
11.3 テストへのドメイン知識の漏洩
11.4 プロダクション・コードへの汚染
11.5 具象クラスに対するテスト・ダブル
11.6 単体テストにおける現在日時の扱い
11.7 結論

最近チェックした商品

Vポイント利用手続き

         Vポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてVポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてVポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにCCCMKホールディングス株式会社(以下、「MKHD」といいます)へ提供します。

  <提供目的>:MKHDの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためVポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Vポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、MKHDに提供された、以下の情報の利用については、MKHDの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるVポイント利用手続きの解除を実施していただく必要があります。
Vポイント利用手続きの解除、およびVポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(https://tsite.jp/contact/index.pl )

 なお、Vポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるVポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Vポイント利用手続きを行いますか?