Web API設計実践入門──API仕様ファーストによるテスト駆動開発 [単行本]
    • Web API設計実践入門──API仕様ファーストによるテスト駆動開発 [単行本]

    • ¥2,86086ポイント(3%還元)
    • ただいま予約受付中!発売日以降のお届け日本全国配達料金無料
100000009003853843

Web API設計実践入門──API仕様ファーストによるテスト駆動開発 [単行本]

柴田 芳樹(著・文・その他)


ゴールドポイントカード・プラスのクレジット決済で「書籍」を購入すると合計10%ポイント還元!書籍の購入はゴールドポイントカード・プラスのクレジット決済がお得です。
通常3%ポイント還元のところ、後日付与されるクレジット決済ポイント(1%)と特典ポイント(6%)で合計10%ポイント還元!詳しくはこちら

価格:¥2,860(税込)
ポイント:86ポイント(3%還元)(¥86相当)
お届け日:ただいま予約受付中!発売日以降のお届け
日本全国配達料金無料
出版社:技術評論社
販売開始日: 2024/07/25
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可

カテゴリランキング

Web API設計実践入門──API仕様ファーストによるテスト駆動開発 の 商品概要

  • 目次

    はじめに

    ■第1章 ソフトウェアテストの変遷

    1.1 1990年代までと2000年代のソフトウェアテスト
    目視確認が普通だった
    自動テストの普及
    手動によるテストでは、ソフトウェアが腐る
    1.2 フィードバックループを短くする
    テストとフィードバックループ
    テストファースト開発
    1.3 ビッグバンインテグレーションから継続的インテグレーションへ
    ビッグバンインテグレーション
    夜間ビルド
    継続的インテグレーション
    1.4 まとめ

    ■第2章 API仕様

    2.1 APIとは
    フレームワークや標準ライブラリのAPI仕様
    企業内でのAPI仕様
    2.2 優れたAPI仕様とは
    理解が容易
    変更が容易
    テストが容易
    2.3 API仕様でよくある問題点
    API仕様が記述されていない
    エラーの説明が記述されていない
    API仕様に基づく自動テストコードが存在しない
    2.4 API仕様に書くべきこと
    サービスの概要の説明
    個々のエンドポイントの説明
    エラーの説明
    2.5 API仕様とE2Eテスト
    2.6 まとめ

    ■第3章 gRPCにおけるAPI仕様の書き方

    3.1 gRPCとは
    3.2 API仕様をどこに書くか
    3.3 サービスの概要の説明
    3.4 個々のエンドポイント(RPC)の説明
    3.5 エラーの説明
    パラメータの不正
    誤った順序での呼び出し
    認証や認可のエラー
    サービスの概要に書くべきそのほかのエラー
    個々のエンドポイントに書くべきそのほかのエラー
    書く必要がないエラー
    3.6 リストオプションの説明
    3.7 まとめ

    ■第4章 API仕様ファースト開発

    4.1 開発順序
    API仕様の記述
    E2Eテストフレームワークの検討と実装
    テストコードの作成と機能の実装
    リファクタリングとカバレッジの確認
    Pull Requestのレビュー
    4.2 不具合の修正順序
    再現テストの作成と実装の修正
    リファクタリングとカバレッジの確認
    4.3 既存のエンドポイントの修正と新たなエンドポイントの追加
    4.4 API仕様のエンドポイントを呼び出すE2Eテストの利点
    4.5 まとめ

    ■第5章 E2Eテストフレームワークの構築

    5.1 テストフレームワークの基本的な考え方
    本番環境と同じバイナリ
    カバレッジの取得
    5.2 マイクロサービス構成でのテストフレームワーク
    書きたいテスト
    E2Eテストフレームワークのプロセス
    依存サービスが外部サービスの場合の解決方法
    エラーのテストは簡単
    5.3 非マイクロサービス構成でのテストフレームワーク
    5.4 E2Eテストフレームワークの骨格
    Test Suiteプロセスの骨格
    テスト対象マイクロサービスの骨格
    フェイクマイクロサービスの骨格
    テストコードの骨格
    そのほかの考慮項目
    5.5 まとめ

    ■第6章 API仕様の技術的負債の返済

    6.1 APIの技術的負債とは
    E2Eテストフレームワークの構築が重要
    ソフトウェアエンジニアとしても重要
    ソフトウェア開発組織としての強い目標
    6.2 API仕様の負債の返済
    既存のエンドポイントを修正するケース
    新たなエンドポイントを追加するケース
    既存のエンドポイントの不具合を修正するケース
    6.3 返済順序のまとめ
    6.4 E2Eテストのもう1つの利点:リファクタリング
    6.5 E2Eテストと単体テスト
    E2Eテストは必須
    テストデータの準備
    データの準備でつまずく
    6.6 API仕様ファースト開発が定着した組織
    6.7 まとめ

    ■第7章 Go言語によるE2Eテストフレームワークの実装

    7.1 E2Eテストの基本的な流れ
    Test Suiteプロセスの流れ
    7.2 courierライブラリの構成とインストール
    インストールと動作確認
    7.3 サンプルサービスの構成と定義
    サンプルサービスの構成
    Shopサービスの.protoファイル
    .protoファイルのコンパイル
    サンプルサービスで実現したいテスト
    7.4 E2Eテストコードの例
    InvalidArgumentエラーのテストコード
    newShopClient()関数の実装
    テストの実行
    7.5 E2Eテストフレームワークの流れ
    フェイクサービスの実行
    テスト対象サービスの起動
    テスト対象サービスの準備待ち
    テストの実行
    テスト対象サービスの終了
    7.6 フェイクサービスの構築
    フェイクサービスの自動生成
    自動生成されたフェイクサービスのコード
    7.7 テスト実行までの流れとテストコードの実装
    TestMain関数
    テスト対象サービスが依存する環境変数
    テスト対象サービスの呼び出しとテストの実行
    Makefile
    テスト関数の実行
    テスト終了の通知
    カバレッジの表示
    7.8 テストの並列化サポート
    TIDの伝搬
    7.9 ほかのテスト関数の例
    DeadlineExceededエラー/Canceledエラー
    正常ケース
    SetListProductInventoriesResponseCreator
    7.10 テスト関数に合格するサーバ実装
    7.11 外部サービスのフェイクサービス
    Google PubSubのPublisherサービス
    REST APIのサービス
    7.12 E2Eテストでのデータの準備
    エンドポイント経由でのデータ準備の利点
    7.13 ステージング環境や本番環境に対するE2Eテスト
    7.14 まとめ

    ■付録A Goのテストの並列化
    複数パッケージのテストを並列に実行する
    t.Parallel()メソッド
    並列化での注意点
    まとめ

    ■付録B:長時間夜間ランニングテスト
    過去の経験
    長時間ランニングテスト
    まとめ

    ■ 付録C 防御的プログラミング
    防御的プログラミングとは
    防御的プログラミングとAPI仕様
  • 内容紹介

    本書は、著者が1993年から約30年間経験してきたAPI仕様の作成、2003年から20年間経験してきたテストファースト開発/テスト駆動開発の知見をまとめたものであり、一般的なソフトウェア開発者が習得することが容易ではない事柄を、本書を通して学び、実践してもらうことを目的としています。
    本書が提唱する「API仕様ファースト開発」はWebサービスにおける大域的なテスト駆動開発の実現に必要なものであり、また、API仕様ファースト開発を実現するにはテスト駆動開発が必要です。API仕様ファースト開発とテスト駆動開発は、いわば車の両輪のような関係にあります。
    本書では、ソフトウェアテストの変遷とWebサービスにおけるAPI仕様の関連を説明したうえで、API仕様とはどうあるべきか、API仕様に何を書くべきかについて説明します。具体例としてはgRPCを取り上げます。第4章で紹介するAPI仕様ファースト開発という開発プロセスは、筆者が日々実践していることですが、多くのソフトウェアエンジニアが実践できていないことです。そのために必要なE2Eテストフレームワーク、さらには、API仕様がきちんと書かれていないために生まれる技術負債の返済方法なども紹介します。
  • 著者について

    柴田 芳樹 (シバタ ヨシキ)
    1959年生。九州工業大学および大学院で情報工学を専攻。1984年4月に富士ゼロックスに就職し、その後さまざまな会社でソフトウェア開発に従事。2024年4月より個人事業主として活動。2018年6月にメルペイ(メルカリ子会社)でWebサービスのバックエンドサービス開発に従事してからは、「API仕様ファースト開発」によるGoおよびTypeScriptを用いたバックエンドサービス開発に従事している。著書に『プログラマー“まだまだ”現役続行』(2010年技術評論社)、『ソフトウェア開発の名著を読む【第二版】』(2009年技術評論社)など、訳書に『Effective Java 第3版』(2018年丸善出版)、『プログラミング言語Go』(2016年丸善出版)、『ベタープログラマ』(2017年オライリー・ジャパン)『スーパーユーザーなら知っておくべきLinuxシステムの仕組み』(2022年インプレス)、『Go言語100Tips』(2023年8月インプレス)ほか。ブログ:https://yshibata.blog.ss-blog.jpTwitter:@yoshiki_shibata

Web API設計実践入門──API仕様ファーストによるテスト駆動開発 の商品スペック

商品仕様
出版社名:技術評論社
著者名:柴田 芳樹(著・文・その他)
発行年月日:2024/07/25
ISBN-13:9784297142933
判型:A5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:208ページ
他の技術評論社の書籍を探す

    技術評論社 Web API設計実践入門──API仕様ファーストによるテスト駆動開発 [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!