Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ドメインをスペックにしていく
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Koichi Nishide
March 07, 2017
Technology
10k
1
Share
ドメインをスペックにしていく
Koichi Nishide
March 07, 2017
More Decks by Koichi Nishide
See All by Koichi Nishide
システムテスト自動化カンファレンス2018.pdf
knishide5
1
11k
Other Decks in Technology
See All in Technology
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
180
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
16
16k
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
270
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
190
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
970
Sony_KMP_Journey_KotlinConf2026
sony
0
180
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
400
React、まだ楽しくて草
uhyo
2
220
はじめてのDatadog
kairim0
0
240
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
260
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
400
Featured
See All Featured
Scaling GitHub
holman
464
140k
Navigating Team Friction
lara
192
16k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Unsuck your backbone
ammeep
672
58k
Producing Creativity
orderedlist
PRO
348
40k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Fireside Chat
paigeccino
42
3.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Practical Orchestrator
shlominoach
191
11k
Transcript
ドメインをスペックにしていく @ichikoich
@ichikoich • 2015年からfreeeでエンジニアしてます ◦ 入社から2年ほど、給与計算freeeのアプリエンジニア ◦ 2017年からQAチームへ • 前職は精密機器メーカーで働いてました
話すこと • 複雑なドメインへの立ち向かい方
freeeの紹介
給与計算freeeを2年間開発してました
給与ってどう計算されてるか知ってますか?
給与明細をみてみる
計算間違いはあってはならない • 従業員へ払う残業代が実際よりも少ない • 年末調整の還付額が少ない • 所得税を少なく計算してしまう etc..
そして、年々変わる料率・制度
散らばるスペック • 単体テストはたくさんあるが、 ◦ それが本当に正しいかはぱっとみわからない ▪ ドメインスペシャリストはコードを見れないし、エンジニアは複雑なドメイン 習得には難航するし、、 ◦ 散らばってるのでリファクタしようとしても、どのテストケースに影響あるかよく
わからない ▪ 制度の改正があるときも同じく テストはRSepcで書いてます
変更を恐れず、どんどんユーザに価値を届けたい
ここから自動化の話
ドメインスペシャリストによるテストが継続的に回る仕組み
フロー 社労士さん エンジニア テストケースの期待結果 テストケース csv - 会社A - 従業員X
- 2017年1月の 給与を計算す る 20,500円やで APIテスト - 従業員登録APIで事 前準備 - 給与明細取得API のレスポンスを確認 デプロイのたびにテ スト
ポイント1 • コードかけなくても自動テストデータを作成できる ◦ Googleスプレッドシート上で社労士さんとやりとりして、一緒にテストケースや データをつくる
ポイント2 • がんがん変更できるように、APIレベルで担保する • Request Specを採用
ドメインスペシャリストが APIテストを書いているイメージ 心強いでしょ?
さらなる効果 • 社労士さんと仲良くなれた • 開発の初期段階で要件漏れを防ぐ効果もでてきた ◦ こういうテストケースを考えてるんですが、他に例外系列やリスクがありそうなところ教えてください ◦ テストケースの結果が返ってき、自分の思ってるのと違うーってなる。よくよく聞いてみると、まだ理 解しきれていないところがあった
◦ 文献や国税庁のHPを読むだけでなく、話してみると気づきはある ◦ チームメンバもよくドメインスペシャリストに相談するようになった
まとめ • ドメインスペシャリストをテストに巻き込む仕組みを作るといいぞ ◦ 複雑なビジネスロジックを教えてもらえる ◦ さらに教えてもらったことが自動テストとして活きてくるので、いいエコサイクルになる ◦ チーム全体がドメインを知るきっかけになる
エンジニア募集中です