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

エンジニア募集中です