Test yazarak ömür mü geçer, yazılım mühendisliğinin en sıkıcı işlerinden birisi. Ürün üretmiyorsun, yaratıcılığa ihtiyacın yok, mimariler patternler yok...
Nasıl bir süreç olduğunu anlaman için bir örnek vereyim. Misal f(x)= x^2+3 fonksiyonuna test yazacaksın sırasıyla kontrol ediyorsun,
x=2 ise f(x)=7 midir?
x=3 ise f(x)=12 midir?
x=4 ise f(x)=19 mudur?
x=5 ise f(x)=28 midir?
x=6 ise f(x)=39 mudur?
x=7 ise f(x)=51 midir?
x=8 ise f(x)=67 midir?
x=9 ise f(x)=84 müdür?
Tabi bunu matematikle değil kod ile yapıyorsun. Tüm koşullar sağlanırsa testin geçer, sağlanmazsa hata bulmuş olursun. Atıyorum x'e 4 verdiğinde 19 yerine 9 çıktısını alıyorsanız bu bir hatadır.
Günün sonunda evet doğru düzgün algoritma kurmuyorsun çoğunluka 'eşittir' 'büyüktür' 'küçüktür' gibi kavramlarla kontrol yapıyorsun bu yüzden test yazmak basit ama test yazabilmek için test yazacağın kodun algoritmasını çok iyi anlamanız gerek bu yüzden de zor.
Kısaca yüzlerce şartı kontrol edecek ve 7/24 sürekli aynı senaryoları yapacaksın. Bunu yapmaya sabrın varsa test eng. olun. İngilizce problemin yoksa yazılım öğrenmekte test eng olmakta çok vaktini almayacaktır.