Test Yazmaya Başlamak ve Kodlarımızı Test Etmenin Önemi

Test Yazmaya Başlamak ve Kodlarımızı Test Etmenin Önemi

Tolgahan Tolu

Tolgahan Tolu

-

Feb 04, 2023

Test yazmak adete bir ölüm gibi! Sizlere kısaca ilk test yazma sürecimden ve test yazmanın öneminden bahsetmeye çalışacağım.

Test Yazmaya Başlamak

Öncelikle şunu söylemeliyim ki; ben de test yazmakta henüz çok yeniyim. Üniversite yıllarımda da mezun olduktan sonra da kendini sürekli geliştirmeye çalışan her Jr. developer gibi ben de birçok makaleye denk geldim ve denk gelmeye devam ediyorum. Ancak daha yeni yeni dikkatimi çeken bir şey var, test yazmak.

Bu zamana kadar azda olsa test yazmanın önemini anlatan makalelere denk geldim ve tabii elimden geldiğince hepsini okumaya gayret ettim (en azından bir göz attım 😄). Ancak maalesef, neredeyse son yaptığım projeye kadar test yazmaya gerekli önemi göstermedim.

Son zamanlarda çeşitli firmaların iş ilanlarında da test yazma ile ilgili kriterlerle ve test-driven development (TDD), behavior-driven development (BDD) gibi kavramlarla karşılaşmaya başladım.

Bu kavramları araştırdıkça da farklı makalelere eriştim ve aslında test yazmanın çok önemli bir şey olduğunu, birçok firmanın (özellikle de yurtdışındaki birçok firmanın) test yazmaya gerçekten önem verdiğini gördüm.

Ve nihayet son projemde sonradan test yazmaya karar verdim. Projem bir fullstack projeydi, apollographql kullanıyordu ve test yazma aşamasında beni gerçekten zorladı. Ancak apollo component'lerin nasıl test edildiğini başka bir makalede anlatacağım. Şimdi test yazmanın neden önemli olduğunu sizlere madde madde açıklamaya çalışacağım.

Test Yazmanın Önemi | Developer'lar Neden Test Yazmalı

Başlamadan şunu söyleyeyim; test yazmayı kesinlikle zaman kaybı olarak görmemelisiniz. Her türlü durumu göz önünde bulundurarak test yazmak, bize, tümüyle test edilmiş temiz kodlar sağlar.

Testler Refactor Sürüceni Kolaylaştırır

Elinizdeki proje büyüdükçe kodlarda değişiklik yapmanız daha sıkıntılı bir süreç haline gelir. Bir yeri değiştirdiğinizde, bu, başka yerlerde de değişiklik olmasına sebep olabilir veya projeyi tamamen çalışamaz hale getirebilir. Testleri yazılmamış bir projede, bir yeri değiştirdiğinizde başka bir yerin etkilenmediğinden emin olmak imkansızdır. Testleri yazılmış bir projedeyse developer'ın tek yapması gereken şey, bir yeri değiştirdikten sonra tüm testleri çalıştırmaktır. Eğer başka bozulan bir yer varsa developer nerenin bozulduğunu anında görüp müdahale edebilecektir. Ayrıca bu size kodlarda değişiklik yaparken de güven sağlayacaktır.

Test Yazmak Ne Yapmak İstediğinizi Bildiğiniz Anlamına Gelir

Ortada herhangi bir kod yokken onun testini yazabiliyorsanız, bu;

- Ne yapacağınızı bildiğiniz,

- Belirsizlikleri ortadan kaldırdığınız ve

- Oluşabilicek sorunları açıkça tanımlayabildiğiniz

anlamına gelir. Bu sebeple kod yazmaya başlamadan önce yazacağınız koddan ne beklediğinizi en ince ayrıntısına kadar planlamalı, testlerini yazmalısınız. Böylece kodlarınız çok daha sağlam bir şekilde, belirli bir standart'da yazılmış olur.

Uzun Vadede Zaman Kazanıp Kârlı Çıkarsınız

Daha önce de bahsettiğim gibi; ilk başta test yazmak zaman kaybı gibi görünebilir, ancak uzun vadede debugging, maintenance, regression gibi konularda süreci kolaylaştırıp bizlere zaman kazandıracaktır.

Sonuç

Sonuç olarak; test yazmak şuan için ülkemizde pek tercih edilmesede, global markaların birçoğu tarafından, özellikle TDD metodolojisi çok tercih ediliyor. Şuan için ülkemizdeki firmalar test yazmayı zaman kaybı olarak görsede, bu anlayış zamanla bizim ülkemizede yerleşecektir diye düşünüyorum.

image: pixabay.com - Bru-nO