〔電子〕Web API設計実践入門──API仕様ファーストによるテスト駆動開発

Web+DB PRESS plusシリーズ

柴田芳樹

2024年7月25日

技術評論社

2,860円(税込)

PC・システム開発

◆長年のソフトウェア開発経験が生み出した新提案◆ 本書は、著者が1993年から約30年間経験してきたAPI仕様の作成、2003年から20年間経験してきたテストファースト開発/テスト駆動開発の知見をまとめたものであり、一般的なソフトウェア開発者が習得することが容易ではない事柄を、本書を通して学び、実践してもらうことを目的としています。 本書が提唱する「API仕様ファースト開発」はWebサービスにおける大域的なテスト駆動開発の実現に必要なものであり、また、API仕様ファースト開発を実現するにはテスト駆動開発が必要です。API仕様ファースト開発とテスト駆動開発は、いわば車の両輪のような関係にあります。 本書では、ソフトウェアテストの変遷とWebサービスにおけるAPI仕様の関連を説明したうえで、API仕様とはどうあるべきか、API仕様に何を書くべきかについて説明します。具体例としてはgRPCを取り上げます。第4章で紹介するAPI仕様ファースト開発という開発プロセスは、筆者が日々実践していることですが、多くのソフトウェアエンジニアが実践できていないことです。そのために必要なE2Eテストフレームワーク、さらには、API仕様がきちんと書かれていないために生まれる技術負債の返済方法なども紹介します。 ■こんな方におすすめ ・Webサービス開発者 ・API設計を学びたい方 ・テスト駆動開発に取り組んでいる方 ・より良い開発手法を知りたい方 ■目次 第1章 ソフトウェアテストの変遷   1.1 1990年代までと2000年代のソフトウェアテスト   1.2 フィードバックループを短くする   1.3 ビッグバンインテグレーションから継続的インテグレーションへ   1.4 まとめ 第2章 API仕様   2.1 APIとは   2.2 優れたAPI仕様とは   2.3 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 開発順序   4.2 不具合の修正順序   4.3 既存のエンドポイントの修正と新たなエンドポイントの追加   4.4 API仕様のエンドポイントを呼び出すE2Eテストの利点   4.5 まとめ 第5章 E2Eテストフレームワークの構築   5.1 テストフレームワークの基本的な考え方   5.2 マイクロサービス構成でのテストフレームワーク   5.3 非マイクロサービス構成でのテストフレームワーク   5.4 E2Eテストフレームワークの骨格   5.5 まとめ 第6章 API仕様の技術的負債の返済   6.1 APIの技術的負債とは   6.2 API仕様の負債の返済   6.3 返済順序のまとめ   6.4 E2Eテストのもう1つの利点:リファクタリング   6.5 E2Eテストと単体テスト   6.6 API仕様ファースト開発が定着した組織   6.7 まとめ 第7章 Go言語によるE2Eテストフレームワークの実装   7.1 E2Eテストの基本的な流れ   7.2 courierライブラリの構成とインストール   7.3 サンプルサービスの構成と定義   7.4 E2Eテストコードの例   7.5 E2Eテストフレームワークの流れ   7.6 フェイクサービスの構築   7.7 テスト実行までの流れとテストコードの実装   7.8 テストの並列化サポート   7.9 ほかのテスト関数の例   7.10 テスト関数に合格するサーバ実装   7.11 外部サービスのフェイクサービス   7.12 E2Eテストでのデータの準備   7.13 ステージング環境や本番環境に対するE2Eテスト   7.14 まとめ 付録A:Goのテストの並列化 付録B:長時間夜間ランニングテスト 付録C:防御的プログラミング ■著者プロフィール 柴田芳樹:1959年生。九州工業大学および大学院で情報工学を専攻。1984年4月に富士ゼロックスに就職し、その後さまざまな会社でソフトウェア開発に従事。2024年4月より個人事業主として活動。2018年6月に、メルペイ(メルカリ子会社)でWebサービスのバックエンドサービス開発に従事してからは、「API仕様ファースト開発」によるGoおよびTypeScriptを用いたバックエンドサービス開発に従事している。著書に『プログラマー“まだまだ”現役続行』(2010年、技術評論社)、『ソフトウェア開発の名著を読む【第二版】』(2009年、技術評論社)、ほか多数。

本棚に登録&レビュー

みんなの評価(0

--

読みたい

0

未読

0

読書中

0

既読

0

未指定

1

書店員レビュー(0)
書店員レビュー一覧

みんなのレビュー

レビューはありません

Google Play で手に入れよう
Google Play で手に入れよう
キーワードは1文字以上で検索してください