はじめに LITALICO プロダクトエンジニアリング(PE)部の片桐英人(かたぎり えいと)です。LITALICO EngineersAdvent Calendar 2023 に参加するのは2回目です。前回は、Rails アプリケーションでパスキー認証を実装してみる という記事を書きました。 テストを書いていて悩むことがあります。例えば、「文字列を入力として受け取り、その文字列が4文字以上8文字以下で、全ての文字が半角の英数字で、大文字、子文字、そして、数字をそれぞれ1文字以上含む場合に true を返す。それ以外は、false を返す。」というメソッドのテストを書く場合にどのようなテストケースを準備すれば良いのかということについてです。 0aAB とか 0000aaAA とかの正常なケースと、空文字とか、000、0000aaAA1、そして、0000 などの異常なケースを境界値付近を意識