こんにちは、ヒューマンクレストの磯部です。 今回はランダム文字列の衝突確率について考察します。 自動テストを運用する際に、意外に何度も実務で使ったことがあるので書いてみました。 なぜこのテーマか 自動テストのスクリプトを書いている時に、テスト対象の仕様として Uniq制約があったら、みなさんはどう対応されているでしょうか。 たとえば、アカウント名を自由入力で登録できるけれども、アカウント名の重複は許さないというような仕様があったとします。 アカウント登録は回帰テストとして、テスト実行毎に行いたいという想定です。 1つの答えはテスト実行毎にデータベースをクリアすることですが、様々な技術的・政治的事情でそれが出来ないことも多いです。 連番をつけるという手もありますが、自動テストの停止・再実行や、並列実行などの際に、悲しいことが色々起こります。 こういった場合、私はテスト実行毎にランダム文字列を