Veresiye Satan Yazılımcı

Eyl 17th, 2012 | Yazar: Özcan Acar | Kategori: Yazılım Hakkında Genel Düşünceler

Editörü açtınız, public class yazarak yeni bir sınıf oluşturdunuz. Bu sınıfa yeni bir metot eklediniz. Başka bir şey yapan yeni bir metot daha eklediniz. Sınıf yavaş yavaş şismeye başladı. Birkaç refactoring yaptınız. Buradan yeni bir sınıf dünyaya gözlerini açtı. Bir sınıf, bir sınıf daha derken sınıf sayısı onlara ulaştı. Her sınıfın metot küfesi iyice ağırlaşmaya başladı. Göz açıp, kapayana kadar birkaç bin satır kod oluştu. Program istediğiniz şekilde çalışıyor sanırım. Yaptığınız işten memnunsunuz, ama içinizden bir ses bir şeylerin doğru gitmediğini söylüyor. Eksik olan ne? Testler!

Yazılımcı neden test yazmaz? Sıralayalım:

  • Uygulamayı test etme konseptlerinden bihaberdir.
  • Test etmeyi gerekli ve işinin bir parçası olarak görmez.
  • Test etmeyi angarya ya da zaman kaybı olarak görür.
  • Geliştirdiği uygulamanın test edilemez olduğunu düşünür.
  • Test etmek için zamanı yoktur.
  • Daha sonra test yazarım diyerek kendini avutur.
  • Testlerin yazılımcı olmayan şahıslar tarafından yazılmasını sağlamak için lobi çalışması yapar.
  • Testlerin devamlı bakıma ihtiyacı olduğunu ve bu yüzden verimli olmanın önünde engel olduklarını düşünür.

Bir yazılımcının görevi nedir? Sıralayalım:

  • Altına tereddüt etmeden ismini yazıp, imzalayacağı, çalışır, hatasız ve kaliteli bir sürüm ortaya koymak.
  • ve daha birçok başka şey.

Yazılımcı test yazmadığı zaman ne olur? Sıralayalım:

  • Devamlı oluşan hatalarla boğuşur.
  • Kodu yeniden yapılandırma cesaretine hiçbir zaman sahip olamaz.
  • Yeni müşteri gereksinimlerini kodlamakta zorlanır, çünkü yeniden yapılandırılamayan kodun değiştirilmesi güçtür.
  • Sürüm çıkardıktan sonra birkaç gece uyuyamaz.
  • Hataları gidermek için fazla mesai yapmak zorunda kalır.
  • Uygulamanın her yeni sürümü ile hata sayısı çoğalır, kod kalitesi düşer.
  • Yaptığı işten zevk almamaya başlar.
  • İşini tam olarak yapmadığını bildiği için vicdan azabı çeker.

Veresiye satan tüccar ile peşin satan tüccarın hikayesini bilirsiniz. Veresiye satanın sonu malumdur. İşi başından sıkı tutmadığı için batma aşamasına gelir. Test yazmayan programcının da durumu aynıdır. Projenin geleceğini veresiye dağıtır.

Siz veresiye mi satıyorsunuz, peşin mi?

EOF (End Of Fun)
Özcan Acar

Share Button

Özcan Acar

Bilgisayar mühendisi olan Özcan Acar 1997 yılından beri programcı olarak çalışıyor.

KurumsalJava.com, SmartHomeProgrammer.com ve Mikrodevre.com adresleri altında blog yazıyor. Kurduğu BTSoru.com'da ona yazılımla ile ilgili sorularınızı yöneltebilirsiniz. Pratik Programcı Yayınları bünyesinde Pratik Spring, Pratik Agile, Pratik Git ve Design Patterns ismini taşıyan kitapları bulunmaktadır. 21.12.2009 tarihinde Java Champion olarak seçildi.
  • Share/Bookmark
4 yorum | 4.231 kez okundu |

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (1 değerlendirme, ortalama: 5, toplam oy 5)
Loading ... Loading ...
Tags:

4 YORUM “Veresiye Satan Yazılımcı”

  1. Suat ATAN diyor ki:

    Merhabalar Üstadımız;
    Bu test yapma hakkında bugüne kadar okuduklarımı toplayınca şu sonuç çıkıyor:
    Test farzdır. Peki nasıl yapılacak? Nette gördüğümüz tutorialler kesmiyor.
    Öneriniz nedir?

  2. Özcan Acar diyor ki:

    Unit test konseptlerini iyi kavramak gerekiyor. Java’da bu JUnit ile uygulaniyor. Gercek anlamda unit testlerin nasil gelistirildigini kavradiktan sonra, entegrasyon ve onay/kabul testlerinin yazilmasi daha kolay.

  3. […] önemli yazılımcılardan biri olan Özcan Acar’ın yazdığı “Veresiye Satan Yazılımcı” isimli yazısında test yazan yazılımcı ile test yazmayan yazılımcı arasındaki farkların […]

  4. Uğur Aldanmaz diyor ki:

    Merhaba,
    Blogunuzu bir kaç haftadır arada ziyaret ediyorum. Google Reader listeme de ekledim.
    Gördüğüm kadarıyla test konusu üzerine deneyimlisiniz.
    Buna istinaden yalnızca bir bildiğiniz vardır diyerek sormak istiyorum ki, burada test yazması gerektiğini kast ettiğiniz yazılımcı kimdir?
    Ürünü geliştiren developer mı yoksa ürünün geliştirilmesinde rol almamış olan test developer mı?
    Çünkü kodu yazan, geliştiren kişinin gerçekleştirdiği test sağlıklı olmaz. kısaca kodu yazan kişi testi yapamaz diye biliyorum.

BU YAZI İÇİN BİR YORUM YAPABİLİRSİNİZ.