Teknoloji Pazarlama, Bloglarınızdan ve Gadget'larınızdan Para Kazanın

Kodunuzu Test Etmeye Yönelik İş Senaryosu

Kodunuzu Test Etmeye Yönelik İş Senaryosu

WordPress kodunuz için testler yazmaktan çok bahsettik, ancak henüz değinmediğimiz bir konu da bunları yazmak için neden fazladan zaman ve para harcamanız gerektiğidir. Bir yönetici veya işletme sahibiyseniz, test yazmak zaman aldığından geliştiricilerinizin özellikleri neden biraz daha yavaş sunması gerekiyor?

Yatırım Olarak Test Etme

Bugün bu yönetim sorusunu ele alacağız – kodunuzu test etmenin iş durumu nedir? Test uygulamalarını işletmenize bir masraf olarak değil, bir yatırım olarak görmeye başlamanızı istiyorum.

Regresyonları Azaltın

Sitenizin bozulmasından ne kadar hoşlanırsınız? Eğer benim gibiyseniz, bundan nefret edersiniz. Bahse girerim ki bir noktada geliştiricinizin siteyi nasıl bozabileceğini merak ediyorsunuzdur. Korkunç olmalılar… değil mi?

Yanlış.

Onlar da sizin gibi insandır ve hata yaparlar.

İyi test stratejileri projelerinizin bozulmasını engelleyebilir. Kod yazarken ve testler çalıştırırken, iyi bir test paketi size bir şeyin ne zaman bozulduğunu gösterecektir. Daha sonra iş kafanızda tazeyken hemen düzeltebilirsiniz.

İyi testler, siz sorunları çözerken hata ayıklamayı da azaltabilir. Kodun neresinde bir sorun olduğunu merak etmek yerine, başarısız olan bir test size tam olarak nereye bakmanız gerektiğini gösterebilir.

Bir şeyleri bozan eski hatalar bulduğunuzda, bu senaryoyu yakalamak için bir test yazmak, kodun gelecekte aynı şekilde bozulmayacağı anlamına gelir. Artık düzelttiğinizi düşünerek bir hatayı kovalamanıza gerek yok. İyi testler size hatanın giderildiğini söyleyecektir.

Dağıtımlar Daha Kolay

Hafta sonları çalışmak istemediğim için müşteri sitelerini Perşembe veya Cuma günleri dağıtmayı reddettiğim bir dönem vardı. Bu sorunu iki şey düzeltti. İlk olarak, tekrarlanabilir bir dağıtım süreci, bazı saçma FTP hatalarıyla işleri berbat edemeyeceğimi bana bildirdi. İkincisi, testler yazmak, kodumun müşteri sitelerimde çalışması gereken başka hiçbir şeyi etkilemediğini bilmemi sağladı.

Okumak:  Pazarlama Hunisi: Aşamaları ve Nasıl Uygulanacağı

Artık beni her gün, hatta Cuma öğleden sonraları bile birçok kez kod dağıtırken bulacaksınız.

Müşteriler açısından bu, eğer perşembe günü onaylanırsa, bir özelliğin yayınlanması için pazartesiye kadar beklemek zorunda kalmayacakları anlamına geliyor. Müşterilerim daha mutlu çünkü özellikleri kullanıma hazır olur olmaz gönderebiliyorum.

Değişiklikler Kolaylaşıyor

Kodun bir kısmının, bir kişinin bildiği ancak artık orada çalışmayan bir kara kutu olduğu bir proje üzerinde hiç çalıştınız mı? Bu koda dokunmayı aklınızdan bile geçirirseniz, Kraken'i uyandıracağınızdan ve mitolojik bir canavarla tekrar boyun eğdirmek için güreşirken hayatınızın bir ayını kaybedeceğinizden korkuyorsunuz.

İyi testler bunun olmasını engeller.

İyi bir test kapsamına sahip olduğunuzda, herkes sisteminizin bir bölümünü değiştirebilir ve üzerinde çalışabilir. Herkes projenizdeki kod üzerinde çalışabildiğinde, Kraken'i yönetebilecek tek bir geliştiriciye bağımlı olmadığınız için işletmenizin riskini azaltmış olursunuz.

Bu aynı zamanda kullanmayı seçtiğiniz veritabanı gibi sisteminizin büyük bölümlerini değiştirmeyi de kapsar. İyi bir test paketiniz varsa, uygulamanızın katmanlarını bağımsız olarak değiştirebilir ve testleriniz başarılı olduğu için katmanların düzgün şekilde etkileşime gireceğini bilirsiniz.

Daha Sıkı Geliştirici Geri Bildirim Döngüleri

Yeni oluşturulan sorunları düzeltmek çok daha kolaydır. 6 ay önceki Curtis'in ne yaptığına dair hiçbir fikri yoktu herhalde çünkü o kodu gördüm ve neler olduğu hakkında hiçbir fikrim yoktu. Düzgün testler yazmak bunun olmasını engelleyebilir çünkü bu hataları aylar sonra rastlamak yerine kod yazarken bulursunuz. Aylar önce bulunduğunuz aynı zihin alanını bulmaya çalışmak yerine, kodun içinde oturuyorsunuz, onu tamamen anlıyorsunuz ve ortaya çıkan sorunları düzeltmeye hazırsınız.

Geliştiricilerin Daha Az Yazdığı Tek Şey Belgelemedir

Kariyerim boyunca pek çok koda baktım ve üzerinde çalıştığım bazı web sitelerinde neler olup bittiğini anlamaya çalışmak için çok zaman harcadım. Geliştiricilerin testlerden daha az yazdığı bir şey varsa, bu iyi bir dokümantasyon olacaktır. Elbette birçok kişi bunun önemli olduğunu söylüyor, ancak çok azı herhangi bir belge yazıyor.

Okumak:  E-Dönüşüm Uyumsoft: Türkçe Yazılmış En İyi E-Dönüşüm Sistemleri Üzerine Detaylı İnceleme ve Karşılaştırma

Hem testleri hem de dokümantasyonu yazmanız gerektiğini söylemek hoşuma gitse de, testlerle yetiniyorum çünkü bunlar dokümantasyon görevi görüyor.

Testlerle bir projeyi devraldığımda, ne olduğunu anlamaya çalışmakla saatler harcamadan kolayca projeye atlayabilir ve kod yazmaya başlayabilirim. Bir şeyi kırdığımda testlerin bana bir şeyi kırdığımı söylemesi gerektiğini biliyorum. Daha sonra bir sorun bulursam bunu testlere ekliyorum, böylece kodun nasıl çalışması gerektiğine dair belgelere ekliyorum.

Testler, herhangi bir geliştiricinin projenizi, başından beri üzerinde çalışanlar olmadığı için her şeyin bozulacağından endişelenmenize gerek kalmadan teslim almasını kolaylaştırır.

Geliştirilmiş İtibar

İşletmenizin itibarı her şeydir. İyi işleri zamanında teslim etme konusunda bozulmayan bir itibarınız varsa, o zaman daha fazla iş alacaksınız. Test yapmak bu itibarı kazanmanıza yardımcı olabilir.

Bir şeyleri “düzeltirken” kodu kırmak yerine, başarısız bir test göreceksiniz ve müşteri bir sorun olduğunu anlamadan önce onu düzelteceksiniz. Mutlu müşteriler, daha sonra mutlu müşterilere dönüşebilecek yeni müşteriler anlamına gelir.

Geri çekilip düşündüğünüzde, işiniz sadece müşteriler için kod yazmak değildir. İşiniz müşterilerin ihtiyaçlarını karşılayacak kod yazmaktır. İş akışınıza test uygulamalarını eklediğinizde bunu daha iyi gerçekleştirebileceksiniz.

Kodunuz daha az bozulacaktır. Çalışan özellikleri daha sık gönderebileceksiniz.

Müşterileriniz onlara daha iyi hizmet verdikçe daha mutlu olacaklardır.

Bahane üretmeyi bırakın ve müşterilerinize daha iyi hizmet sunmak için test uygulamalarını kullanın.