Pazar, Aralık 09, 2007

java, php, perl, python, ruby, lisp ve javascript için birim test örnekleri

2 yorum:

  1. Nedir bu birim test mevzusu?

    Son 3-5 yildir duyuyorum ve anlamaya calisiyorum fakat bir turlukafama almiyor. Nedir bu isin espirisi?

    YanıtlaSil
  2. birden fazla insanin ayni kod tabani uzerinde ayni anda gelistirme yaptigi projelerde birim test yazmak bir olmazsa olmaz bence. ozellikle acik kaynak projelerde bu "birden fazla insan" binli rakamlarla ifade edilebiliyor. ve genelde bu tarz buyuk projelerde gelistiriciler projenin bir kismina hakim oluyor, at gozluguyle yaptiklari gelistirmeler de bir tarafi duzeltirken bir tarafi bozabiliyor. iste birim testler burada yaptiginiz gelistirmenin sigortasi rolunu ustleniyor. bir gelistirici kod tabanini indirir, gelistirmeye baslamadan once varolan testleri calistirir, gelistirmesi esnasinda kendi testlerini ekler, ve tum testlerin calistigini gordukten sonra teslimini yaparsa bu tarz sikintilar en aza indirgenmis olur.

    bu sikintilar sadece buyuk proje sikintilari degil tabi ki, 2 kisiyken bile benzer sikintilara maruz kalabilirsiniz. aksam bir kod teslim edersiniz akillara zarar, dunyayi kurtarmanin verdigi gururla yataginiza gidersiniz, sabah ise gelirsiniz, ortamda gelistirmeciler arasi bir meydan muhaberesine sahit olursunuz, "dun kod tabanini kim calismaz hale getirdi" uzerine, siz de dun bir tesliminiz oldugundan, kendinizi olagan supheliler arasinda bulursunuz.

    bir de birim test yazmak kodu da temiz kilar, cunku test edilebilir kod yazmak tasarim ister, kafa yormak ister, bodoz kod yazmanizin onunu keser. birim test mevzuunda "kapsam" ("code coverage") diye bir husus vardir ki yazdiginiz testlerin kod tabanindaki hangi satirlari calistirdigi ve bu satirlarin % kaca tekabul ettigi gibi bilgileri icerir. tabi ki her birim test mucadelesinde amac %100 kapsami yakalamaktir ki bu da kod tabaninda hicbir zaman calismayacak kodlarin tespitini saglar. bircok proje herkesin silmeye korktugu cop kodlarla doludur.

    acikcasi 5 dk. dusundum bu kadar yazdim, muhtemelen bir yarim saat daha dusunsem mevzunun cilde olan faydalarina kadar inen 40 sayfalik bir rapor dahi cikabilirim.

    YanıtlaSil