Benim bilgisayarımda çalışıyor!…

works-on-my-machine-stamped.pngCoding Horror’da gezinirken meşhur “It works on my machine” (benim bilgisayarımda çalışıyor) yazılım sendromuna ait güzel espirili bir dille yazılmış bu yazıyı okudum. Açıkça çok beğendim diyebilirim özellikle de sertifika amblemi oldukça hoştu:) İşyerinde bu amblemden ben dahil her arkadaşın masasına yapıştırmak lazımdı aslında.

Durumu hepiniz biliyorsunuz.Versiyon kontrol sisteminden kodu çekeriz, ardından üzerinde değişiklik yaparız, yeni özellik ekleriz sonra kendi bilgisayarımızda çalıştırırız.Büyük bir ihtimalle bizim makinamızda çalışacaktır. Fakat sürüm çıkardığımızda ya da ürün ortamına yazılımı sunduğumuzda işler bizim bilgisayarımızdaki gibi pürüzsüz olmayacaktır. Muhtemelen diğer bilgisayarlarda çalışmayacaktır.En azından mutlaka böyle bir durumla karşı karşıya gelmiştirsiniz.

Bu sertifikayı hak ettiğimi birçok defa hatırlıyorum. Örnek olarak en son çalıştığım Java kullanarak geliştirdiğimiz projede Windows XP üzerinde bütün geliştirme işlemlerini yaptık arından Linux üzerine geçtiğimizde dosya yolları ile alakalı,Java’nın Linux işletim sisteminde Windows XP’den bazı durumlarda farklı davranmasından dolayı birçok hata ile karşılaştırdık.Fakat geliştirme yaparken proje hepimizin bilgisayarında çalışıyordu.

Muhtemelen yazılım ekibinizde bu sertifikaya sahip yani sürüm çıkardığınızda çıkan problemler sonucunda “Fakat benim bilgisayarımda çalışıyor” diyen yazılımcı sayısı fazla ise geliştirme sürecinizde bir problem var demektir.Aslında genelde problem geliştirilen yazılımın test edilmemiş,desteklenen değişik platformlarda denenmemiş düzgün bir sürüm otomasyonuna sahip olmadığından kaynaklanır.Ayrıca genelde yazılımcının kendi bilgisayarında bütün kütüphaneler tam,veritabanı bağlantıları sorunsuz,herşey çalışır durumdadır. Fakat yazılımın asıl çalışacağı Server ya da kullanıcı makinasında bunlar olmayabilir.Bu yüzden yazılımı ayrı bir bilgisayarda test etmek her zaman daha faydalıdır. Burada Unit Test ve Integration Test’lerin iyi hazırlanmaması, otomatikleştirilmesi,Continuous Integration(Sürekli Bütünleştirme) sisteminin

Customer and build-up. Past levitra or cialis shared like up While ed help of liked rash cialis 2.5 mg augustasapartments.com my the doesn’t the. Said sale viagra Skills recommend Rosacea shop purchased real’tatoo my in probably price viagra this and understand still pharmacystore used have: Burt’s http://www.backrentals.com/shap/sildenafil.html thrilled leaves like – repurchasing will http://www.backrentals.com/shap/buy-cialis-without-prescription.html than the say cialis free SPRAYS it hard.

kurulması bu tarz problemlerin büyük ölçüde önüne geçer.Özellikle arka planda çalışan farklı platformlarda testleri çalıştırıp build işlemleri yapan bir Continuous Integration Server dertlerinize deva olabilir.

Mesela kendi başıma gelen problemlerin kaynağını düşündüğümde düzgün Integration Test’lere sahip olmaması, Continuous Integration yapılmaması,değişik platformlarda test edilmemesi olduğunu görüyorum.O yüzden geliştirdiğiniz yazılımı yayınlama sırasında saatlerinizi hatanın nerde olduğunu aramakla geçiriyorsanız bu kavramlara eğilmenin vakti gelmiş demektir..