SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
腐らないAPIドキュメントを作るテスト.pdf
Report
naoya takahashi
Follow
web engineer at AVA intelligence
Jul. 20, 2022
•
0 likes
•
24 views
1
of
18
腐らないAPIドキュメントを作るテスト.pdf
Jul. 20, 2022
•
0 likes
•
24 views
Download Now
Download to read offline
Report
Engineering
テストは実装とドキュメントの二人三脚を結ぶ紐
naoya takahashi
Follow
web engineer at AVA intelligence
Recommended
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
nishio
13.3K views
•
46 slides
議論を描く技術「ファシリテーショングラフィック」
nishikawa_makoto7
26K views
•
80 slides
アジャイルとは?
bj yan
1.9K views
•
37 slides
ヘルシープログラマ・翻訳と実践
Ryuji Tamagawa
2.4K views
•
21 slides
50代現役SEのつぶやき
Kenichi Yamada
1.6K views
•
11 slides
第72回名古屋アジャイル勉強会「『検査』、してますか?」
hiroyuki Yamamoto
527 views
•
23 slides
More Related Content
Similar to 腐らないAPIドキュメントを作るテスト.pdf
メンテナブルなJsってなんだろう
Daiki Matsumoto
31.6K views
•
123 slides
DevLove 甲子園2014 インクリメンタルに設計・テストする
Yasushi Hagai
180 views
•
48 slides
第1回 プログラマのための計算機科学
Shinya Hayakawa
2.1K views
•
52 slides
アジャイル開発を始めてみませんか?(思い出編)
Miho Nagase
1.3K views
•
73 slides
論文のいろは
Shu Sakamoto
2.1K views
•
33 slides
シー・ビブリオ(作成中)
genroku
148 views
•
43 slides
Similar to 腐らないAPIドキュメントを作るテスト.pdf
(20)
メンテナブルなJsってなんだろう
Daiki Matsumoto
•
31.6K views
DevLove 甲子園2014 インクリメンタルに設計・テストする
Yasushi Hagai
•
180 views
第1回 プログラマのための計算機科学
Shinya Hayakawa
•
2.1K views
アジャイル開発を始めてみませんか?(思い出編)
Miho Nagase
•
1.3K views
論文のいろは
Shu Sakamoto
•
2.1K views
シー・ビブリオ(作成中)
genroku
•
148 views
シー・ビブリオ
genroku
•
447 views
PFPファシグラ(2009/07/03)
nishikawa_makoto7
•
999 views
論文の書き方・読み方
Satoshi Miura
•
15.5K views
BPSttudy#84 アイデアをカタチにする方法
Haruo Sato
•
2.9K views
開発者のためのUIデザイン入門
Hiroyuki Mori
•
336 views
EPIU
Makoto Yonezawa
•
658 views
WikiWikiアジャイル
Fumio Kawakami
•
1K views
言語処理学会へ遊びに行ったよ
antibayesian 俺がS式だ
•
5.9K views
20120731 ALC Eijiro User Meeting
akikom0819
•
1.1K views
文章を企画・設計する
Professional University of Information and Management for Innovation (情報経営イノベーション専門職大学)
•
12K views
無題の添付ファイル 00060
Shigeru Kishikawa
•
1K views
我子を分析3
Minoru Uchida
•
263 views
「反転授業の研究」オンライン勉強会 Idに基づく学習目標の立て方の実際と反転授業への応用
Susumu Yamazaki
•
3.1K views
ペルソナシナリオとプロトタイプ2
Shuhei Iitsuka
•
1.3K views
Recently uploaded
onewedge_companyguide
ONEWEDGE1
66 views
•
22 slides
OSCのこれまでを振り返るとしたらこんな感じ?
VirtualTech Japan Inc./Begi.net Inc.
5 views
•
6 slides
ハッカソン秋の陣.pdf
ssuser1bc638
127 views
•
10 slides
限界ORM!BOOTHとギフトとライブラリ【PIXIV MEETUP 2023 LT】
RND cpp
0 views
•
35 slides
爆速!DBチューニング超入門 〜DB性能の基礎とGPU活用による高速化〜
VirtualTech Japan Inc./Begi.net Inc.
5 views
•
29 slides
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
6 views
•
47 slides
Recently uploaded
(6)
onewedge_companyguide
ONEWEDGE1
•
66 views
OSCのこれまでを振り返るとしたらこんな感じ?
VirtualTech Japan Inc./Begi.net Inc.
•
5 views
ハッカソン秋の陣.pdf
ssuser1bc638
•
127 views
限界ORM!BOOTHとギフトとライブラリ【PIXIV MEETUP 2023 LT】
RND cpp
•
0 views
爆速!DBチューニング超入門 〜DB性能の基礎とGPU活用による高速化〜
VirtualTech Japan Inc./Begi.net Inc.
•
5 views
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc./Begi.net Inc.
•
6 views
腐らないAPIドキュメントを作るテスト.pdf
1.
腐らないAPIドキュメントを作る テストは実装とドキュメントの二人三脚を結ぶ紐 George @uddger
2.
自己紹介 • 髙橋直也 (George)
@uddger • 好きな本「オブジェクト指向設計実践ガイド」 • 「オブジェクト指向設計の理解、優れたリファクタリングスキル、効果的 なテストを書く能力が、3本の柱となって、変更可能なコードを支える」 • 読書100冊/年チャレンジ中 • 今週はよくばりサッカー観戦ウィーク
3.
AVA inteligence所属 AVA travel開発 行きたい場所が見つかる旅行サイト
4.
APIドキュメント ある?
5.
APIドキュメント、 メンテされてる?
6.
よくある解決策 • ドキュメントを書く意識を高めましょう! • 周りも巻き込みましょう!
7.
続かなくない?仕組みで解決したい💪 • ドキュメントを書く意識を高めましょう?🤔 • 周りも巻き込みましょう?🤔
8.
今日紹介する内容 • 目的 • メンテされ続けるAPIドキュメントを作る •
手段 • 実装が変わったときに、仕様書も変更しないと落ちるような自動テストを作る • 利用技術 • RubyGem committee(APIはRails) • committeeを利用するための準備 • OpenAPI(旧称swagger)形式でAPI仕様書を書いた
9.
入社前、副業して感じた課題 • APIドキュメントはあったりなかったりする • あってもメンテされないので古くなっていく •
スプレッドシートで、書く人によって違う形式 • エンジニアが増え始めて、バックエンドとフロントエンドの分業体制 が確立しつつあり、調査コストが増えるなど問題が顕在化しつつあっ た
10.
作った当初は新鮮なドキュメント ズッ友だよね・・? 実装 ドキュメント
11.
疾走する実装、おいてけぼりのドキュメント 待って・・? 実装 ドキュメント
12.
足を結んでしまえ 実装 ドキュメント
13.
先行する実装に ドキュメントを食らいつかせろ 実装 ドキュメント
14.
繋ぎ止める紐は、テストだ 実装 ドキュメント テスト
15.
利用技術:RubyGem committee • committeeを使用(APIはRails) •
1行で「OpenAPI形式の仕様書と実装(APIレスポンス)が一致してい ること」をテストしてくれる。簡単 • 参考記事 • https://gift-tech.co.jp/articles/schema- fi rst-api-development/ • https://qiita.com/sakuraya/items/37e73581e90e137b6487 • https://tech.timee.co.jp/entry/2020/07/05/150312#:~:text=OpenAPI3%E3%81%AErequired%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%99%E3%82%8B • https://zenn.dev/offers/articles/20220411-open-api-schema
16.
準備:OpenAPI(旧称swagger)形式のAPI仕様書 • API schemaをYaml/JSONで管理する •
デファクトスタンダードになりつつある • 副次的なメリット • フォーマットの属人化を防げた • Git管理できて差分が追える • 手軽に高機能な仕様書が作れてめっちゃ便利 • スキーマ駆動になって、スタブAPIも作れるから、バックエンドとフロントエンドの開発順番の依存 関係が軽減される
17.
費用対効果の高いテストを目指したい • カバレッジ100%は目指さない(目指せない) • スタートアップということもあり、そのリソースがあれば機能開発 に使う •
導入2ヶ月目、体感でカバレッジは20%程度だけどこれでいい • 既存の重要機能/新機能から頑張る • かける時間を回収可能な、よく変更する機能を見極める
18.
ありがとうございました! @uddger