Yazılımda Yol Testi ve Temel Yol Testi (Örneklerle)
⚡ Akıllı Özet
Temel Yol Testi, bir programdaki mantıksal yollardan test senaryoları türeten, kontrol akış grafiği ve döngüsel karmaşıklığı kullanarak minimum bağımsız yol kümesini bulan, beyaz kutu bir tekniktir.

Yazılım Testinde Yol Testi Nedir?
Yol testi, olası tüm yürütülebilir yolları bulmak için bir programın kaynak kodunu kullanmayı içeren yapısal bir test yöntemidir. Bir kod parçasındaki tüm hataların belirlenmesine yardımcı olur. Bu yöntem, bir bilgisayar programı aracılığıyla tüm veya seçilen yolu yürütmek için tasarlanmıştır.
Herhangi bir karmaşık program, birçok olası yürütme yoluna sahiptir. Bunların her birini test etmek hem zor hem de zaman alıcıdır ve çoğu birbiriyle örtüşür. Temel yol testi, her ifadeyi ve her dalı en az bir kez çalıştıran en küçük yol kümesini belirleyerek bu gereksizliği azaltır.
Yazılım Mühendisliğinde Temel Yol Testi
Temel Yol Testi yazılım mühendisliğinde bir Beyaz Box Test yapmak Test senaryolarının program boyunca izlenebilecek akışlara veya mantıksal yollara göre tanımlandığı yöntem. Temel yol testinin amacı, bağımsız yolların sayısını tanımlamaktır; böylece test kapsamını en üst düzeye çıkarmak için gereken test senaryolarının sayısı açıkça tanımlanabilir.
In yazılım MühendisliğiTemel yol testi, bir programdaki tüm olası blokların yürütülmesini içerir ve en az sayıda test senaryosu ile maksimum yol kapsamına ulaşır. Dal testi ve yol testi yöntemlerinin hibrit bir yöntemidir.
Basit bir örnek, fikri somutlaştırır.
Yukarıdaki akış şeması koşullu ifadeler içerdiğinden, kontrol birden fazla yoldan çıkışa ulaşabilir. Bunu sağlamak için üç bağımsız yola ihtiyaç vardır:
- Yol 1: 1,2,3,5,6, 7
- Yol 2: 1,2,4,5,6, 7
- Yol 3: 1, 6, 7
Kontrol Akış Grafiği Nasıl Çizilir?
Temel yol testinin her adımı kontrol akış grafiğine bağlıdır, bu nedenle grafiğin nasıl oluşturulduğu konusunda hassas olmak önemlidir.
- Düğüm: Hep birlikte yürütülen ve daire şeklinde çizilen bir dizi ifade. Dallanma içermeyen bir dizi ifade tek bir düğümde birleşir.
- Kenar: Bir düğümden diğerine kontrolün aktarılması, ok şeklinde gösterilir. Kontrolün hareket etmesinin tek yolu kenarlardır.
- Yüklem düğümü: İki veya daha fazla kenarı olan ve bir koşul içeren bir düğüm. Bunlar karmaşıklık sayısını belirler.
- Bölge: Kenarlar ve düğümlerle sınırlanmış bir alan. Bölge sayısı artı bir, döngüsel karmaşıklığa eşittir.
İki karar içeren kısa bir modülü ele alalım:
if (a > b) { // node 1, predicate max = a; // node 2 } else { max = b; // node 3 } if (max > limit) { // node 4, predicate alert(); // node 5 } return max; // node 6
Grafikte 6 düğüm ve 6 kenar vardır, bu da kenar formülüne göre V(G) = 6 – 6 + 2 = 2 sonucunu verir. Yüklem sayımı aynı cevabı daha hızlı verir: 2 karar artı 1, birlikte ele alınan iki daldan geçen 3 bağımsız yola eşittir. Hangisini güvenilir bir şekilde hesaplayabiliyorsanız onu kullanın ve diğeriyle karşılaştırın.
Çoğu hatayı önleyen iki kural. İlk olarak, bileşik bir durum şöyle olabilir: eğer (x > 0 && y > 0) Kısa devre ikinci bir karar oluşturduğu için bir değil, iki yüklem düğümü olarak sayılır. İkincisi, bir döngü kaç kez tekrarlanırsa tekrarlansın bir yüklem düğümü katkısı sağlar.
Temel Yol Testi İçin Adımlar
Temel yol testinde yer alan temel adımlar şunları içerir:
- Bir kontrol grafiği çizin (farklı program yollarını belirlemek için)
- Hesaplanmış Siklomatik karmaşıklık (bağımsız yolların sayısını belirleyen ölçümler)
- Temel bir yol kümesi bulun
- Oluşturmak test senaryoları her yolu uygulamak
Temel Yol Testinin Avantajları ve Sınırlamaları
Temel Yol Testinin Avantajları
- Gereksiz testleri azaltmaya yardımcı olur
- Dikkati program mantığına odaklar
- Keyfi test senaryosu seçimini analitik bir temelle değiştirir.
- Bir programdaki her ifadeyi en az bir kez çalıştıracak temel seti çalıştıran test senaryoları
Temel Yol Testinin Sınırlamaları
- Eksik kodu bulamıyor. Hiç uygulanmamış bir gereksinimin yolu yoktur, bu nedenle onun için hiçbir test oluşturulmaz. Temel yol testi, gereksinim tabanlı testle birlikte yapılmalıdır.
- Yol sayısı hızla artıyor. İç içe döngüler ve bileşik koşullar karmaşıklığı hızla artırır ve V(G) değeri 20'nin üzerinde olan bir modülü bu şekilde kapsamak pratik olmaktan çıkar.
- Kapsam, doğruluk anlamına gelmez. Bir yolun yürütülmesi, kodun çalıştığını kanıtlar, ancak doğru cevabı ürettiğini değil. Her testin yine de anlamlı bir doğrulama içermesi gerekir.
- Veriye bağımlı yollar. Bazı yollara yalnızca belirli girdi kombinasyonlarıyla ulaşılabilir ve bu kombinasyonların oluşturulması zor veya imkansız olabilir.

