Eşdeğerlik Bölümleme Testi
Equivalence Class Partitioning and Boundary Value Testing · Ayrıca şöyle bilinir: equivalence partitioning, BVA, boundary value analysis
Eşdeğerlik bölümleme, girdi alanlarını eşdeğerlik sınıflarına—davranışlarının aynı olması beklenen girdi kümeleri—bölerek ve ardından her sınıftan test durumları seçerek girdi alanlarını ayırır. Myers (1979) tarafından tanıtılan bu teknik, etkililiği korurken test durumlarını azaltır. Sınır Değeri Analizi (BVA), hataların sıklıkla meydana geldiği bölümleme sınırlarında değerleri test ederek bölümlemeye tamamlayıcıdır.
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
Ne zaman kullanılır
Girdi alanı büyük veya sürekli olduğunda (tam sayı aralıkları, kayan nokta sayıları) eşdeğerlik bölümlemesini uygulayın. Özellikle net girdi aralıklarına sahip işlevler için etkilidir: doğrulama işlevleri, matematiksel işlevler, protokol ayrıştırıcıları. Birer birer hataları ve kenar durumlarını yakalamak için sınır değeri analizi ile birleştirin. Karmaşık mantıksal koşullar için daha az değerlidir; karar tablosu analizi bunlar için daha uygundur.
Güçlü yönler & sınırlılıklar
- Kapsamı korurken test durumu sayısını önemli ölçüde azaltır; doğrusal test durumlarıyla sınıra yakın kapsama sağlar
- Bir sınıftaki girdilerin benzer davrandığı sezgisini yakalar; bölümler yazılım tasarım amacına uygundur
- Sınır değeri analizi yaygın hata kalıplarını (birer birer, sınır hataları) yakalar
- Anlaması ve uygulaması basittir; yazılım mühendisliği ekipleri için öğretilebilir bir tekniktir
- Etkililik, doğru bölüm tanımlamasına bağlıdır; yanlış bölümler hataları kaçırır
- Girdilerin bağımsız olduğunu varsayar; girdiler arasındaki birleşik etkileşimler tespit edilemeyebilir
- Tüm hata türlerini tespit etmez: mantık hataları, duruma bağlı hatalar, eşzamanlılık sorunları genellikle eşdeğer sınıflarda gizlenir
- Sınır değeri seçimi keyfi olabilir; kılavuzlar yardımcı olur ancak öznel yargı kalır
SSS
Karmaşık girdiler için eşdeğerlik sınıfları nasıl belirlenir?
Alan belirtimiyle başlayın: hangi değerler geçerli, hangi aralıklar var, hangi değerler hariç tutuluyor? Program davranışının aynı olması beklenen değerleri gruplandırın. Sayısal girdiler için tipik sınıflar: negatif sayılar, sıfır, pozitif sayılar, büyük değerler, taşmaya neden olan değerler. Dizeler için: boş, normal uzunluk, maksimum uzunluk, özel karakterler, ASCII olmayanlar. Amaç tabanlı bölümleri bulmak için gereksinimlere bakın.
Geçerli ve geçersiz eşdeğerlik sınıfları arasındaki fark nedir?
Geçerli eşdeğerlik sınıfları sistem gereksinimlerini karşılayan girdileri içerir; geçersiz sınıflar gereksinimleri ihlal eden girdileri içerir. Her ikisini de test edin: geçerli sınıflar doğru davranışı doğrular; geçersiz sınıflar hata işlemeyi doğrular. Örnek: yaş girdisi doğrulama: geçerli sınıf [0, 150], geçersiz sınıflar [<0] ve [>150]. Kabul ve reddetme mantığını doğrulamak için her ikisinden de test durumları ekleyin.
Her eşdeğerlik sınıfı başına kaç test durumu oluşturmalıyım?
Minimum: her eşdeğerlik sınıfı başına bir test durumu (temel kapsamı sağlar). Etkili: sınır test durumları ekleyin (sınırın hemen içi/tam üstü/hemen dışı). Kritik sistemler için sınıflar içinde ek testler ekleyin. Çok fazla oluşturmayın; azalan getiri geçerlidir. 5 eşdeğerlik sınıfı × sınıf başına 3 test durumu = 15 test tipiktir; 50 test aşırı test yapıldığını gösterir.
Eşdeğerlik bölümleme tüm hataları yakalayacağımı garanti edebilir mi?
Hayır. Eşdeğerlik bölümleme, girdi doğrulama ve aralık denetimindeki hataları mükemmel bir şekilde yakalar. Mantık hatalarını, duruma bağlı hataları ve eşzamanlılık sorunlarını kaçırır. Diğer tekniklerle birleştirin: sınır değeri analizi (burada ele alındı), karar tablosu analizi (karmaşık mantık için), duruma dayalı test (durum bilgisi olan sistemler için), keşifsel test (yaratıcı senaryolar).
Kaynaklar
- Myers, G. J. (1979). The Art of Software Testing. John Wiley & Sons. link ↗
- Beizer, B. (1990). Software Testing Techniques (2nd ed.). International Thomson Computer Press. link ↗
- Coppit, D., & Leavens, G. T. (2003). Practical implications of simpler, more scalable path-sensitive data flow analyses. ACM Transactions on Software Engineering and Methodology, 12(3), 261–306. link ↗
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Equivalence Class Partitioning and Boundary Value Testing. ScholarGate. https://scholargate.app/tr/software-engineering/software-testing-equivalence
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- Kod Kapsamı AnaliziYazılım mühendisliği↔ karşılaştır
- Hata Tahmin ModeliYazılım mühendisliği↔ karşılaştır
- Yazılım Karmaşıklık MetrikleriYazılım mühendisliği↔ karşılaştır
- Statik Kod AnaliziYazılım mühendisliği↔ karşılaştır