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
7.9k
ドメインをスペックにしていく
Koichi Nishide
March 07, 2017
Tweet
Share
More Decks by Koichi Nishide
See All by Koichi Nishide
システムテスト自動化カンファレンス2018.pdf
knishide5
1
8.2k
Other Decks in Technology
See All in Technology
SSMエージェントはIAMロールの夢を見るか/ Do SSM Agents Dream Of IAM Roles?
yukihirochiba
0
1.4k
We Fear Change, for DevOpsDays LA 2024
cote
PRO
0
130
実録_マルチテナント環境でのGmailガイドライン対応
ryuichi1208
7
1.5k
人工衛星管制システムにおけるCICD / CICD in satellite control systems
iselegant
5
910
5分で理解するWebAssemblyのWebの外の話 PHPはマイコンの夢を見るか?
usuyuki
3
200
進化する事業とデータ構造 ~Cloudbaseの場合~
tockn
2
230
【OpsJAWS】EC2 のセキュリティの運用と監視について考えてみた件
hssh2_bin
4
600
Azure AI サービス全体像と Prompt flow 紹介 - Forkwell Library
shohei1029
1
600
AIエージェントが変えるソフトウェアのパラダイム
masahiro_nishimi
0
200
サイボウズのQAエンジニア育成
cybozuinsideout
PRO
3
570
The Twelve-Factor App とクラウドアプリケーションのコスト
ny7760
3
260
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
14
5.3k
Featured
See All Featured
Statistics for Hackers
jakevdp
789
220k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
11
1.4k
A designer walks into a library…
pauljervisheath
199
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
Designing for humans not robots
tammielis
247
25k
How to train your dragon (web standard)
notwaldorf
71
5k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
RailsConf 2023
tenderlove
0
500
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
Making the Leap to Tech Lead
cromwellryan
122
8.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
4
1.4k
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を読むだけでなく、話してみると気づきはある ◦ チームメンバもよくドメインスペシャリストに相談するようになった
まとめ • ドメインスペシャリストをテストに巻き込む仕組みを作るといいぞ ◦ 複雑なビジネスロジックを教えてもらえる ◦ さらに教えてもらったことが自動テストとして活きてくるので、いいエコサイクルになる ◦ チーム全体がドメインを知るきっかけになる
エンジニア募集中です