Upgrade to Pro — share decks privately, control downloads, hide ads and more …

意外とカンタン!?テストコードの改善から始めるシステム開発の効率化 / a little good way to improve software using readable test codes

意外とカンタン!?テストコードの改善から始めるシステム開発の効率化 / a little good way to improve software using readable test codes

ソフトウェアのテストって大変ですよね。生産性を崩さずに品質の高い状態を保つのが何よりも難しい。

そんな課題を、テストコードを改善するという観点から解決する取り組みをしてみました。DevOpsの実践として、よければ参考にしてみてください。

面川泰明

August 21, 2021
Tweet

More Decks by 面川泰明

Other Decks in Programming

Transcript

  1. 意外とカンタン!?
    テストコードの改善から
    始めるシステム開発の効率化
    開発×テスト LT会 #devtestlt | 2021/8/25 | @omokawa_yasu
    キーワードは「読みやすさ」
    1

    View full-size slide

  2. 自己紹介
    2

    View full-size slide

  3. 3
    副業でキャリアカウンセラーしてます。
    興味があればTwitterから連絡ください!

    View full-size slide

  4. こんなことありませんか?
    5

    View full-size slide

  5. テストやっててつらいこと
    6
    ● 考慮漏れしたテストケースで不具合を発見できない
    ● テスト用のドキュメントをいちいち作成/更新するのが面倒

    View full-size slide

  6. テスト精度もテスト効率も
    悪くなってテンションが下
    がりがち
    7
    この状態が続くと、

    View full-size slide

  7. 8
    読みやすいテストコードで
    改善を試みました!
    ※ 今回はRSpecを使いました

    View full-size slide

  8. 今回取り組んだ内容
    9
    ● テストコードは適切にケース分けする
    ● あえてDRYをやめ、ベタ書きする

    View full-size slide

  9. 適切にケース分けする
    10
    見やすくなり、気づきが増える
    ● 「Cの場合はどうなる?」
    ● 「Bのテスト数は適切か?」
    it 'Aのときは○○すること'
    it 'Aのときは△△しないこと'
    it 'Bのときは□□すること'
    context 'Aの場合' do
    it '○○すること'
    it '△△しないこと'
    end
    context 'Bの場合' do
    it '□□すること'
    end

    View full-size slide

  10. あえてDRYをやめ、ベタ書きする
    11
    関数定義を調べる必要がなくなり、テ
    ストコードだけ読めば意味がわかる
    expect(response.message).to eq t('errors.data_not_found')
    expect(response.message).to eq 'データが見つかりません'

    View full-size slide

  11. これらの取り組みを続けてよかったこと
    12
    ● エンジニア
    ○ テストケースの考慮漏れに気づきやすくなった
    ● テスター
    ○ テスト用のドキュメントを作成/更新する手間が削減された

    View full-size slide

  12. テスターがテストコードを書
    き、受け入れテストを実施
    する
    今回の取り組みを発展させたら出来るかもしれないと思ってること
    13

    View full-size slide

  13. ソフトウェアの品質を高め
    るために、読みやすいテス
    トコードから始めよう!
    14
    まとめ

    View full-size slide

  14. ご清聴ありがとうございました!
    15

    View full-size slide