Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

17 yazı bulundu
Unit Test'te "Unit" Ne Demek? Classical ve London School, İyi Testin Dört Özelliği
Test ve Kalite SERİ 01

Unit Test'te "Unit" Ne Demek? Classical ve London School, İyi Testin Dört Özelliği

Unit, bir method ya da class değil bir davranıştır; test double'ı yalnız sistem sınırında kullanan classical school, her collaborator'ı mock'layan London school'dan daha refactoring'e dayanıklı testler üretir. Solitary ve sociable test ayrımı, Khorikov'un iyi testin dört özelliği ve davranışı aynı bırakan bir değişikliğin mock'lu testi nasıl kırdığı gerçek çıktıyla.

8 Kas 2026 11 dk 2
Code Coverage Ne Söyler, Ne Söylemez: Line, Branch Coverage ve Mutation Testing
Test ve Kalite SERİ 04

Code Coverage Ne Söyler, Ne Söylemez: Line, Branch Coverage ve Mutation Testing

Code coverage yalnız hangi kodun çalıştığını söyler, testlerin bir şey doğrulayıp doğrulamadığını söylemez: hiç assertion içermeyen bir test yüzde 87,5 line ve yüzde 100 branch coverage verdi, Stryker.NET ile mutation score'u yüzde 6,67 çıktı. MTP coverage extension'ı, ReportGenerator ve Angular'da coverage, sınır değerlerini bulan survived mutant'lar, --since ile yalnız değişen koda mutation testing ve coverage eşiği tuzakları.

8 Kas 2026 11 dk 5
Neyi Hangi Seviyede Test Etmeli? Davranış, Sınırlar ve Mock'lanacak Bağımlılıklar
Test ve Kalite SERİ 03

Neyi Hangi Seviyede Test Etmeli? Davranış, Sınırlar ve Mock'lanacak Bağımlılıklar

Domain mantığı yoğun unit test, orchestration kodu az sayıda integration test alır; trivial kod test edilmez, aşırı karmaşık kod önce refactor edilir. Testte kendi veritabanın (managed) gerçek, ödeme ve e-posta gibi unmanaged bağımlılıklar mock olur. Davranışı değişmeyen bir refactoring'de kırılan mock'lu testin gerçek çıktısı, risk tabanlı önceliklendirme ve tek sayfalık test stratejisi dokümanı.

8 Kas 2026 10 dk 4
Test Pyramid, Testing Trophy ve Honeycomb: Hangi Şekil Hangi Sisteme Uyar?
Test ve Kalite SERİ 02

Test Pyramid, Testing Trophy ve Honeycomb: Hangi Şekil Hangi Sisteme Uyar?

Doğru şekil, sistemde güveni en ucuza hangi test seviyesinin verdiğine bağlıdır: domain mantığı yoğun bir API pyramid'e, ince bir CRUD API ile Angular SPA trophy'ye, microservice'ler contract testlerle honeycomb'a yakışır. InMemory provider'la yeşil yanıp gerçek SQLite'ta 500 dönen bir arama sorgusu, static katmanın 0,8 saniyede yakaladığı bir tip hatası ve ice-cream cone ile hourglass tuzakları.

8 Kas 2026 10 dk 5
Neden Test Yazarız? Unit, Integration, Contract, E2E, Smoke ve Diğer Test Türleri
Test ve Kalite SERİ 01

Neden Test Yazarız? Unit, Integration, Contract, E2E, Smoke ve Diğer Test Türleri

Test yazmanın asıl getirisi regression'a karşı güven, değişiklik hızı ve çalışan dokümantasyondur; bedeli yazma, bakım, süre ve flaky testtir. Test türlerini scope (unit, component, integration, contract, E2E) ve amaç (smoke, regression, acceptance, exploratory) eksenlerinde ayırıyor, Google'ın small/medium/large sınıflandırmasının scope'tan bağımsız olduğunu Bookstore'daki altı gerçek test ve ölçülen sürelerle gösteriyoruz.

8 Kas 2026 12 dk 4
Blog Haritası