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
Koichi Nishide
March 07, 2017
Technology
1
8.5k
ドメインをスペックにしていく
Koichi Nishide
March 07, 2017
Tweet
Share
More Decks by Koichi Nishide
See All by Koichi Nishide
システムテスト自動化カンファレンス2018.pdf
knishide5
1
8.8k
Other Decks in Technology
See All in Technology
Language Update: Java
skrb
2
290
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
120
Obsidian応用活用術
onikun94
2
490
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
160
S3アクセス制御の設計ポイント
tommy0124
3
200
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
ガチな登山用デバイスからこんにちは
halka
1
240
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
170
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
100
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
380
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Faster Mobile Websites
deanohume
309
31k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Embracing the Ebb and Flow
colly
87
4.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Optimizing for Happiness
mojombo
379
70k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
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を読むだけでなく、話してみると気づきはある ◦ チームメンバもよくドメインスペシャリストに相談するようになった
まとめ • ドメインスペシャリストをテストに巻き込む仕組みを作るといいぞ ◦ 複雑なビジネスロジックを教えてもらえる ◦ さらに教えてもらったことが自動テストとして活きてくるので、いいエコサイクルになる ◦ チーム全体がドメインを知るきっかけになる
エンジニア募集中です