JUnit 4

Bir aralar, yüksek lisansa ilk başladığımda aldığım bir ders sonucu Test güdümlü yazılım geliştirme konusuna merak sarmıştım. Ders kapsamında da test güdümlü yazılım geliştirme yöntembilimi yardımıyla yaptığımız bir proje ödevimiz de vardı. Önce testleri yazıyorduk, sonra testleri doğrulayacak kodlarımızı. Oldukça hoş, naif ve kolay bir yöntembilimdi. Gerçi testleri yazarken testlerin nasıl yazılması gerektiği, neyin sınanıp sınanamayacağı konularını irdelemek bir tecrübe gerektiriyordu.

Testler için Java'ya yönelik olarak JUnit aracını kullandık. JUnit 3. sürümü kullanılıyordu. Üzerinden 2-3 yıl geçti. Ondan sonra arkadaşlarla yapmaya çalıştığımız bir kalıcı katman gerçekleştirimi esnasında da bu yöntembilimden yararlandık ve bazı arkadaşlara öğrettik, beraber kendimizi geliştirdik. Aradan geçen yıllarda önce test yaklaşımı alışkanlığımı kaybettim, artık Python'a kaymak gibi tercihlerim oldu ve Java geliştirmesinde büyük yazılımlarla uğraşmadığım için testleri yazmadan çalışan kod üretme yaklaşımını benimsedim. Uzun zamandır çok büyük bir projeyle uğraşmamamın da etkisi vardır. Ağırlığı teorik kısma verince sonuç bu oluyor :)

Yazmaya başlayınca iyice uzatıyorum. Aslında JUnit'in 4. sürümünde kolaylaşan test yazımlarından bahsedecektim. Ve herkese Test güdümlü geliştirmeyi araştırması, öğrenmesini önerecektim. Yazı geçmişten bahsetmeye başladı (yazı mı ben mi) :)

JUnit'in 4'ün en önemli getirisi "annotations" (Türkçesi: dipnot, not, açıklama teknik karşılığını bilmiyorum). Böylece çok kolay bir şekilde testleri yazabiliyorsunuz. Örnek verelim:

@Test public void simpleAdd() {
Money m12CHF= new Money(12, "CHF");
Money m14CHF= new Money(14, "CHF");
Money beklenen= new Money(26, "CHF");
Money sonuc= m12CHF.add(m14CHF);
assertTrue(beklenen.equals(sonuc));
}

@Test ifadesiyle bu metotun bir test metotu olduğunu belirtmiş oluyoruz, assertTrue ile de sınamamızı yapıyoruz.

Bu kadar kolay. Sınayacağınız sınıf içerisine de yazabileceğiniz gibi ayrı bir test sınıfı da kullanabilirsiniz.

Not: Python için unittest var
Kaynak: JUnit Cookbook,JUnit

IBM’de Sendikal Haklara Saygı İstiyoruz!

BASIN AÇIKLAMASI:

TARİH :21 EKİM 2009 ÇARŞAMBA

SAAT :12.30-13.00

      YER :BÜYÜKDERE CADDESİ YAPI KREDİ PLAZA ÖNÜ B BLOK LEVENT / İST.

2008 yılının Şubat ayından bu yana IBM işyerinde Sendikal mücadelemiz devam etmektedir. IBM işyerinde örgütlenip çoğunluğu almamıza rağmen işveren hem çoğunluğumuza hem de işkoluna itiraz ederek çalışanlarının Anayasal haklarını kullanmalarına engel olmak istemiştir. Diğer taraftan işyerinde sendikal örgütlenmeyi yürüten arkadaşlarımızı işten atarak, sendika düşmanı tutumunu devam ettirmiştir.

IBM işyerinde hem hukuksal hem de demokratik ve meşru mücadelemiz devam etmektedir.

Ancak bu sefer de işverenin yeni bir oyunu ile karşı karşıyayız. IBM işvereni notere sendikadan istifa formu bırakarak üyelerimizi istifaya zorlamakta ve işten atma ile tehdit etmektedir.

IBM’in bu tavrını kınamak, ve mahkemelerde yaşananları basına ve kamuoyuna duyurmak için 21.10.2009 ÇARŞAMBA günü IBM önünde basın açıklaması yapacağız.

Basın açıklamamız, tüm genel merkez yöneticilerimizin katılımıyla genel başkanımız Sn. Gürsel Doğru tarafından yapılacaktır.

TÜM EMEK DOSTLARINI BASIN AÇIKLAMAMIZA DESTEK VERMEYE ÇAĞIRIYORUZ.

TEZ-KOOP-İŞ SENDİKASI

İSTANBUL 5 NO’LU ŞUBE

İklim Değişimi

Dünyada sıcaklar, soğuklar, seller, felaketler artmış durumda. Neden olarak dünyanın insanın yarattığı çevre felaketinin ortaya çıkardığı iklim değişimi söyleniyor. Ne kadar doğrudur bilinmez, gerçekten bir iklim değişimi var mı yoksa yok mu. Bir şeylerin ters gittiği kesin. İnsanlık kapitalizmin barbarlığını daha açık bir şekilde görüyor. Bir taraftan aşırı üretim-tüketim çılgınlığı nedeniyle çevre felaketini ortaya çıkaran sistemin kendisi artık kendisini, dünyayı ve insanlığı tüketmiş durumda, tüketmeye devam ediyor. İnsanlar bir avuç zengin için çalışıyorlar, sömürülüyorlar ve ölüyorlar. Bir kadının (kadınlarla bir zorum yok, aklıma gelen ilk örnek olduğu için veriyorum) makyaj (hadi aşırı makyaj diyelim :) ) masraflarıyla binlerce insanın açlıktan ve hastalıklardan kurtulacağına inanıyorum. İnsanlar sistemin vardığı barbarlık düzeyinde kendilerinden başka hiçbirşeyi düşünmüyor, dünyayı sadece kendilerine ait sanarak sınırsız tüketiyorlar. Bu arada bu tüketim hırslarından dolayı kendi sonlarını, en azından insanlığın sonunu getirdiklerini de bilmiyorlar. Bu noktada Sinan'a sorsam, insanlık zaten öldü, bir avuç insan kaldık Aşık Veysel dinleyen diyecektir. Haklıdır, insanlık öldü, ölmeye devam ediyor. Can çekişiyor.

İklim değişiminden bahsedecektim ama insanlığa geldi söz. Bence insanlığın kurtulması için ciddi bir "iklim değişimine" ihtiyacımız var. Eyleme geçen, hakkını arayan, insanlığı için mücadele eden insanları ortaya çıkaracak olan "iklim değişimine". Yazıyı uzatmıyorum, "insanlık"a olan umudumu yitirmeden "iklim değişimi" için herkesi uyanmaya çağırıyorum.


Not: Bu yazı Blog Action Day kapsamında yazılmıştır.

Farklı bir spor

Bildiğimiz, yapabildiğimiz sporlardan ötede; biraz daha istekli olmayı, çalışmayı gerektirecek spor türlerini bir arada, festival haline gelmiş olarak düşünün. Norveç te her yıl yapılan EkstremSportVeko böyle bir etkinlik. Bilmeyenler, katılmak isteyenler için duyurulur.

Computer Programming using GNU Smalltalk

Canol Gökel tarafından yazılmış olan ve bedelsiz olarak dağıtılan (CCA 3.0 veya GNU FDL 1.3 lisansını tercih edebilirsiniz) e-kitap "GNU Smalltalk kullanarak Bilgisayar Programlama" kitabına şu adresten ulaşabilirsiniz.

Kaynak: Fazlamesai

Ubuntu Karmic Koala

Sabırsızlıkla beklediğim Ubuntu 9.10 sürümünün betası yayınlandı. Ekim sonunda geliştirme tamamlanmış olacak. Benim gibi yeni sürüm hastası birinin bu kadar sabretmesi bile bir mucize. Normalde beta çıkmadan, alfa 3-4 sürümlerinde bilgisayarımı güncelliyordum ama yaşadığım bir veri kaybı bu seferlik sabırla beklememi gerektirdi :)

Ayrıntılı bilgi: http://www.ubuntu.com/testing/karmic/beta