Kaigi on Rails 2022で発表してきました。
発表したスライド
こちらで動画も見れます。
伝えたかったこと
- テストコードってそもそもなんで書くんだっけ?となりがちなのでそれを改めて整理したい
- テストコードに書くべきケースの見極め方を紹介したかった
補遺編
今回のプロポーザルを作ろうと思った動機
昨年、割と初学者向けの発表が少なかったということで今年も「初学者向けになにか伝えたいことないかな」と思ったときに、ちょうどアジャイルテスティングのことを業務的に考えることがあったので、それを題材にしたくて取り上げました。
Railsを扱う人の間では、はRSpecをいかに運用しやすく書くか、ということには様々な人がとりあげていると思います。ただ、扱いやすいテストケースの書き方がわかっても、具体書くテストケースがちゃんとしているものでなければ意味がないものになってしまいます。
そのような「自動テストの文脈でちゃんとシステムに活きるテストコードとはなにか」という説明をする資料が意外とないのでそれを軸にプロポーザルを構成して応募しました。
資料を作成するに当たり参考になった資料
今回テストの考え方を調べるにあたり大変参考になったのが以下のnoteです。
ASTERセミナー標準テキスト|Kouichi Akiyama|note
ソフトウェアテスト技術振興協会(ASTER) の標準テキストに沿ってテストの考え方を紹介しているnoteの記事なので体系的なものをベースに噛み砕いた解説となっており非常に読みやすかったです。
もっと紹介したかったが時間におさまらなかった手法
テストケースの作成方法としては同値分割法と境界値分析をメインに紹介しました。これはこれで知らない初学者の人はもちろん、なんとなく体得してきた人たちも改めて学び直す事ができるような資料にまとめました。
が、本当はもっと異なる手法も紹介したかったのですが、どうしても15分には収まらなかったので今回は削りました。断片的ではありますがブログにはまとめたのでご興味のある方は以下の記事をどうぞ
- ホワイトボックステストにおける制御フローテストに関してざっくりまとめる - コード日進月歩
- カバレッジを追うことに関してこれを交えながら話をしたかったがお蔵入り
- Pairwise法に関してざっくりまとめる - コード日進月歩
- すべてを網羅するテストは不可能、というところに立ち向かうアプローチとして紹介したかったがお蔵入り
登壇後記
- 去年以上に時間がなく、2日目の登壇だったのでかなりギリギリまで修正をしていました。前半はかなりガラッと修正しました。
- 2日目の最後なので皆さん疲れているだろうということでライトな内容を心がけました。
- 反面やっぱり反応があんまりないので終わってしばらくは手応え無かったんですが、懇親会で良かった旨の感想をいただけたのでよかったです。
- Twitterにも書いたのですが、テストケースの考え方は諸派あるので、色々出典を取りまとめるのにすごいパワーがかかったというのがありました。
- 実は登壇資料のカラーはユニバーサルカラーデザインを参考にした
- t_wadaさんの発言をt_wadaさんスライド風に引用をしてみたがあんまり気づいてもらえなくて悲しかった