ドメインをスペックにしていく
by
Koichi Nishide
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ドメインをスペックにしていく @ichikoich
Slide 2
Slide 2 text
@ichikoich ● 2015年からfreeeでエンジニアしてます ○ 入社から2年ほど、給与計算freeeのアプリエンジニア ○ 2017年からQAチームへ ● 前職は精密機器メーカーで働いてました
Slide 3
Slide 3 text
話すこと ● 複雑なドメインへの立ち向かい方
Slide 4
Slide 4 text
freeeの紹介
Slide 5
Slide 5 text
給与計算freeeを2年間開発してました
Slide 6
Slide 6 text
給与ってどう計算されてるか知ってますか?
Slide 7
Slide 7 text
給与明細をみてみる
Slide 8
Slide 8 text
計算間違いはあってはならない ● 従業員へ払う残業代が実際よりも少ない ● 年末調整の還付額が少ない ● 所得税を少なく計算してしまう etc..
Slide 9
Slide 9 text
そして、年々変わる料率・制度
Slide 10
Slide 10 text
散らばるスペック ● 単体テストはたくさんあるが、 ○ それが本当に正しいかはぱっとみわからない ■ ドメインスペシャリストはコードを見れないし、エンジニアは複雑なドメイン 習得には難航するし、、 ○ 散らばってるのでリファクタしようとしても、どのテストケースに影響あるかよく わからない ■ 制度の改正があるときも同じく テストはRSepcで書いてます
Slide 11
Slide 11 text
変更を恐れず、どんどんユーザに価値を届けたい
Slide 12
Slide 12 text
ここから自動化の話
Slide 13
Slide 13 text
ドメインスペシャリストによるテストが継続的に回る仕組み
Slide 14
Slide 14 text
フロー 社労士さん エンジニア テストケースの期待結果 テストケース csv - 会社A - 従業員X - 2017年1月の 給与を計算す る 20,500円やで APIテスト - 従業員登録APIで事 前準備 - 給与明細取得API のレスポンスを確認 デプロイのたびにテ スト
Slide 15
Slide 15 text
ポイント1 ● コードかけなくても自動テストデータを作成できる ○ Googleスプレッドシート上で社労士さんとやりとりして、一緒にテストケースや データをつくる
Slide 16
Slide 16 text
ポイント2 ● がんがん変更できるように、APIレベルで担保する ● Request Specを採用
Slide 17
Slide 17 text
ドメインスペシャリストが APIテストを書いているイメージ 心強いでしょ?
Slide 18
Slide 18 text
さらなる効果 ● 社労士さんと仲良くなれた ● 開発の初期段階で要件漏れを防ぐ効果もでてきた ○ こういうテストケースを考えてるんですが、他に例外系列やリスクがありそうなところ教えてください ○ テストケースの結果が返ってき、自分の思ってるのと違うーってなる。よくよく聞いてみると、まだ理 解しきれていないところがあった ○ 文献や国税庁のHPを読むだけでなく、話してみると気づきはある ○ チームメンバもよくドメインスペシャリストに相談するようになった
Slide 19
Slide 19 text
まとめ ● ドメインスペシャリストをテストに巻き込む仕組みを作るといいぞ ○ 複雑なビジネスロジックを教えてもらえる ○ さらに教えてもらったことが自動テストとして活きてくるので、いいエコサイクルになる ○ チーム全体がドメインを知るきっかけになる
Slide 20
Slide 20 text
エンジニア募集中です