Otomatik Mühendis

Testivus'un Test Kapsamı Üzerine Düşünceleri

günü tarafından yayınlandı.

Testivus’un Yolu” yazısına istinaden gelen “Kod kapsamının yüzdesine ilişkin Testivus’un hikmeti nedir?” sorusuna cevap niteliğinde öykü;

Bir sabah erken saatlerde, bir programcı büyük ustaya sordu:

“Ben unit test yazmaya hazırım. Ne kadar kodu kapsamayı hedeflemeliyim?”

Büyük usta cevap verdi:

“Ne kadar kapsadığını düşünme, sadece iyi test yazmaya çalış.”

Programcı gülümsedi, saygıyla eğildi ve oradan ayrıldı.

Günün ilerleyen saatlerinde, ikinci bir programcı aynı soruyla çıkageldi.

Büyük usta kaynamakta olan su dolu tencereyi işaret etti ve sordu:

“Bu tencereye kaç tane pirinç koymalıyım?”

Programcı şaşkınlığını gizleyemeden cevapladı:

“Bunu nasıl söyleyebilirim ki? Kaç kişi besleyeceğinize, ne kadar aç olduklarına, yanında başka hangi yemekleri vereceğinize, ne kadar pirinciniz olduğuna ve daha bir çok şeye göre değişir.”

“Kesinlikle,” dedi büyük usta.

İkinci programcı da gülümsedi, saygıyla eğildi ve oradan ayrıldı.

Günün sonuna doğru, üçüncü bir programcı geldi ve kod kapsamı hakkında aynı soruyu sordu.

Büyük usta masaya yumruğunu vurarak cevapladı: “Yüzde seksen, daha azı değil!”

Üçüncü programcı da gülümsedi, saygıyla eğildi ve oradan ayrıldı.

Bu son cevaptan sonra, genç bir çırak büyük ustaya yaklaştı:

“Büyük usta, bugün kod kapsamı hakkında sorulan aynı soruya üç farklı cevap verdiğinizi duydum. Bunun sebebi nedir?”

Büyük usta sandalyesinden ayağa kalktı:

“Gelin biraz çay içerken bunun hakkında konuşalım.”

Bardaklarını taze yeşil çayla doldurduktan sonra büyük usta cevapladı:

“Birinci programcı yeniydi ve test yazmaya yeni başlıyordu. Şu an çok fazla kodu var ama hiç testi yok. Gideceği uzun bir yol var; şu anda kod kapsamına odaklanmak iç karartıcı ve oldukça faydasız olacaktır. Test yazmaya ve bunları çalıştırmaya alışması daha iyi olacaktır. Kapsam hakkında daha sonra endişelenmeye başlayabilir.”

“İkinci programcı ise programlama ve test konusunda tecrübeliydi. Ona kaynayan tencereye ne kadar pirinç koymalıyım diye sorarken, test miktarının bir çok faktöre bağımlılığı olduğunu anlamasında yardımcı olmaya çalıştım. O bu faktörleri benden daha iyi biliyor, sonuçta bu onun kodu. Tek ve basit bir cevabı bulunmuyor ve o bu gerçeği kabullenecek ve buna göre çalışacak kadar zeki biri.”

“Anlıyorum,” dedi genç çırak, “ama eğer tek ve basit bir cevabı yoksa, neden üçüncü programcıya ‘Yüzde seksen, daha azı değil!’ dediniz?”

Büyük usta, yeşil çaydan daha fazlasını içtiğini kanıtlar şekilde göbeğini aşağı yukarı sallayarak, yüksek sesle güldü.

“Üçüncü programcı sadece basit cevaplar peşindeydi, ortada basit cevap olmadığında bile… ve zaten onları dinlemiyordu.”

Genç çırak ve ak saçlı büyük usta düşünceli bir sessizlik içinde çaylarını bitirdiler.

Kaynak: How Much Unit Test Coverage Do You Need? - The Testivus Answer