Aynı zamanda rastgele fakat tanımlanmış bir minimum ve maksimum uzunluk arasında olmak üzere sınırlı bir uzunluktaki rasgele bir şifre oluşturması gereken bir sınıfa sahibim.
Birim testleri yapıyorum ve bu sınıfa ilginç küçük bir engelle girdim. Birim testinin arkasındaki bütün fikir, tekrarlanabilir olması gerektiğidir. Testi yüzlerce kez uygularsanız, aynı sonuçları yüzlerce kez vermelidir. Orada olabileceğiniz veya olamayacağınız ya da olamayacağınız ya da olamayacağınız bazı kaynaklara bağlıysanız, beklediğiniz başlangıç durumunda olabilir ya da olmayabilir, o zaman testinizin gerçekten tekrarlanabilir olmasını sağlamak için söz konusu kaynağı alay etmek zorundasınız.
Peki ya SUT'un belirsiz çıktılar üretmesi gereken durumlarda?
Min ve maksimum uzunluğu aynı değere sabitlerseniz, oluşturulan parolanın beklenen uzunlukta olup olmadığını kolayca kontrol edebilirim. Ancak, kabul edilebilir bir dizi uzunluk belirtirsem (15 - 20 karakter), o zaman şimdi testi yüzlerce defa çalıştırıp 100 geçiş elde etmekte sorun yaşarsınız;
Özünde oldukça basit olan bir şifre sınıfı söz konusu olduğunda, büyük bir problemi kanıtlamamalıdır. Ama bu beni genel dava hakkında düşündürdü. Tasarımla belirsiz çıktılar üreten SUT'larla uğraşırken genellikle alınması en iyi strateji olarak kabul edilen strateji nedir?