Kodu yazdınız, birkaç kez elle denediniz, çalışıyor gibi. Peki üç ay sonra bir yeri değiştirdiğinizde başka bir yeri bozulursa? Test yazmak, tam da bu korkuyu ortadan kaldıran alışkanlıktır.
Test nedir, neden yazılır?
Test, kodunuzun beklendiği gibi çalıştığını otomatik olarak doğrulayan başka bir koddur. Bir kez yazarsınız, sonsuza kadar çalıştırırsınız. Böylece her değişiklikten sonra “acaba bir şey bozuldu mu?” sorusunu saniyeler içinde yanıtlarsınız.
Basit bir test
En temel test, bir fonksiyonu çağırıp sonucun beklediğiniz değer olduğunu iddia etmektir:
def topla(a, b):
return a + b
def test_topla():
assert topla(2, 3) == 5
assert topla(-1, 1) == 0pytest ile çalıştırmak
Python dünyasında en yaygın test aracı pytest’tir; bir kütüphane olarak kurulur. Test dosyalarınızı kendisi bulur ve tek komutla hepsini çalıştırıp hangi testin geçtiğini, hangisinin kaldığını raporlar.
Test yazmanın asıl faydası
Testler yalnızca hata bulmaz; kodu güvenle değiştirmenizi sağlar. Testleriniz varsa, bir şeyi bozduğunuzda anında öğrenirsiniz. Bu yüzden test, temiz kod ve hata ayıklama kadar temel bir alışkanlıktır. Kavram için birim testi sayfasına bakabilirsiniz.
İşin hocası ne yapar?
İşin hocası “nasılsa çalışıyor” demez; kritik fonksiyonlarına test yazar. Çünkü test edilmiş kod, korkusuzca geliştirilebilen koddur.
İlgili yazı: Jupyter Notebook
Sıkça Sorulan Sorular
Yazılım testi nedir?
Kodunuzun beklendiği gibi çalıştığını otomatik olarak doğrulayan başka bir koddur. Bir kez yazılır ve her değişiklikten sonra tekrar çalıştırılarak bir şeyin bozulup bozulmadığı anında görülür.
Python’da nasıl test yazılır?
En basit haliyle, bir fonksiyon çağrılır ve sonucun beklenen değere eşit olduğu assert ile iddia edilir. Yaygın olarak pytest aracı kullanılır; test dosyalarını bulur ve tek komutla çalıştırır.
Test yazmak neden önemlidir?
Çünkü testler yalnızca hata bulmakla kalmaz, kodu güvenle değiştirmenizi sağlar. Bir şeyi bozduğunuzda testler bunu anında haber verir.
