ソフトウェアのテストって大変ですよね。生産性を崩さずに品質の高い状態を保つのが何よりも難しい。
そんな課題を、テストコードを改善するという観点から解決する取り組みをしてみました。DevOpsの実践として、よければ参考にしてみてください。
意外とカンタン!?テストコードの改善から始めるシステム開発の効率化開発×テスト LT会 #devtestlt | 2021/8/25 | @omokawa_yasuキーワードは「読みやすさ」1
View Slide
自己紹介2
3副業でキャリアカウンセラーしてます。興味があればTwitterから連絡ください!
本題4
こんなことありませんか?5
テストやっててつらいこと6● 考慮漏れしたテストケースで不具合を発見できない● テスト用のドキュメントをいちいち作成/更新するのが面倒
テスト精度もテスト効率も悪くなってテンションが下がりがち7この状態が続くと、
8読みやすいテストコードで改善を試みました!※ 今回はRSpecを使いました
今回取り組んだ内容9● テストコードは適切にケース分けする● あえてDRYをやめ、ベタ書きする
適切にケース分けする10見やすくなり、気づきが増える● 「Cの場合はどうなる?」● 「Bのテスト数は適切か?」it 'Aのときは○○すること'it 'Aのときは△△しないこと'it 'Bのときは□□すること'context 'Aの場合' doit '○○すること'it '△△しないこと'endcontext 'Bの場合' doit '□□すること'end
あえてDRYをやめ、ベタ書きする11関数定義を調べる必要がなくなり、テストコードだけ読めば意味がわかるexpect(response.message).to eq t('errors.data_not_found')expect(response.message).to eq 'データが見つかりません'
これらの取り組みを続けてよかったこと12● エンジニア○ テストケースの考慮漏れに気づきやすくなった● テスター○ テスト用のドキュメントを作成/更新する手間が削減された
テスターがテストコードを書き、受け入れテストを実施する今回の取り組みを発展させたら出来るかもしれないと思ってること13
ソフトウェアの品質を高めるために、読みやすいテストコードから始めよう!14まとめ
ご清聴ありがとうございました!15