Konuyu Açan
#1
Yapay zekâya bir fonksiyon yazdırıp ardından “bunun testlerini de üret” dediğimde, testler çoğu zaman ilk bakışta gayet ikna edici görünüyor. Ama aynı varsayım hatasını hem kodun hem testin paylaşması mümkün. Örneğin indirim hesabında kod yanlışlıkla yüzdeyi iki kez uyguluyorsa, üretilen test de beklenen sonucu aynı yanlış mantıkla hesaplayabilir.
Ben testleri gözden geçirirken şu üç şeye özellikle bakıyorum:
Yeni başlayanlar için iyi bir yöntem, önce fonksiyonun davranışını birkaç örnekle Türkçe tarif etmek, sonra kodu ve testleri ayrı ayrı istemek. Siz yapay zekânın ürettiği testlerde en sık hangi açığı görüyorsunuz? Kullandığınız pratik bir kontrol yöntemi var mı?
Ben testleri gözden geçirirken şu üç şeye özellikle bakıyorum:
- Beklenen sonucu bağımsız belirleyin. Testte beklenen değeri, fonksiyonun içindeki formülü kopyalayarak üretmeyin. Küçük örneklerde sonucu elle hesaplayıp sabit değer olarak yazmak daha güvenli.
- Sınır durumlarını sorun. Boş girdi, sıfır, negatif değer, çok büyük sayı veya eksik alan gibi durumlarda davranışın ne olması gerektiğini önce siz belirleyin; sonra modele bu beklentiye göre test ekletin.
- Bir testi bilerek bozup deneyin. Örneğin karşılaştırmadaki “küçüktür” işaretini “küçük veya eşittir” yapınca ilgili test başarısız oluyor mu? Olmuyorsa test kümesi önemli bir ayrımı yakalamıyor olabilir.
Yeni başlayanlar için iyi bir yöntem, önce fonksiyonun davranışını birkaç örnekle Türkçe tarif etmek, sonra kodu ve testleri ayrı ayrı istemek. Siz yapay zekânın ürettiği testlerde en sık hangi açığı görüyorsunuz? Kullandığınız pratik bir kontrol yöntemi var mı?