Equivalence Partitioning, (Denklik Paylarına Ayırma), black box test tekniği olup, yazılım test mühendisliğinde kullanılır ve giriş değerlerini sınıflandırarak test durumlarını belirleme amacını taşır. Bu teknik, bir sistem veya programın farklı giriş değerlerine nasıl tepki vereceğini test etmek için kullanılır. Temel prensip, giriş değerlerini eşdeğer (equivalent) gruplara ayırmaktır. Yani her eşdeğer grup, aynı türdeki girişleri temsil eder ve bu grup içindeki bir değerin test edilmesi, diğerlerinin de doğru çalıştığını varsayar.
Equivalence Partitioning’in avantajlarından biri, geniş giriş alanlarını daha yönetilebilir ve etkili bir şekilde test etme yeteneğidir. Bu yöntem, test kapsamını azaltarak zaman ve kaynak maliyetlerini düşürebilir, çünkü bir eşdeğer grup içindeki bir değer için yapılan test, diğer eşdeğer grup değerleri üzerinde de geçerli olacaktır. Ayrıca, bu teknik, test durumlarını daha iyi organize etmeye yardımcı olur ve hataların belirli koşullar altında ortaya çıkma olasılığını azaltır. Ancak, sistemin karmaşıklığına bağlı olarak tüm eşdeğer grupları belirlemek ve tanımlamak bazen zor olabilir, bu nedenle dikkatlice planlanmalı ve uygulanmalıdır. Çünkü istenen her değer için bir aralık yaratılamayabilir.

ISTQB tarafından belirlenen kurallar ise şöyledir:
- Geçerli değerler, birim veya sistem kapsamına giren, yazılım tarafından kabul edilmesi beklenen değerlerdir. Geçerli değerler içeren bir denklik payına “geçerli denklik payı” denir.
- Geçersiz değerler, birim veya sistem kapsamı dışında olan, yazılım tarafından reddedilmesi beklenen değerlerdir. Geçersiz değerler içeren bir denklik payına “geçersiz denklik payı” denir.
- Girdiler, çıktılar, dâhili değerler, zamana bağlı değerler (örneğin, bir olaydan önce veya sonra) dâhil test nesnesiyle ilgili herhangi bir veri öğesi için ve arayüz parametreleri için (ör. entegrasyon testleri sırasında test edilen entegre birimler) denklik payları belirlenebilir.
- Gerekirse bir pay alt paylara ayrılabilir.
- Her değer yalnızca bir denklik payına ait olmalıdır, birden fazla payda yer almamalıdır.
- Test senaryolarında geçersiz denklik payları kullanıldığında arızaların maskelenmemesini sağlamak için bu paylar ayrı ayrı test edilmelidir, bir geçersiz denklik payı başka bir geçersiz denklik payıyla birleştirilmemelidir. Aynı anda birçok arıza oluştuğunda ancak yalnızca biri görünür olduğu için arızalar maskelenebilir ve diğer arızaların bulunmasına engel olur.
Bir kaç basit örnekle durumu inceleyelim;
- Formdaki alanlardan biri, 18 ila 25 aralığında sayısal değerleri kabul eden bir metin kutusu içerir. Geçersiz Eşdeğerlik sınıfını tanımlayın.
- 17
- 19
- 24
- 21
Cevap 17 olmalıdır. Çünkü soruya göre sınır değerimiz, sınırlar da dahil olmak üzere 18-25’tir. 17 sınır dışı kalmaktadır.
2. Formdaki alanlardan biri alfasayısal değerleri kabul eden bir metin kutusu içerir. Geçerli Eşdeğerlik sınıfını tanımlayın.
- BOOK
- Book
- Boo01k
- Book
Cevap Boo01k olmalıdır. çünkü alfanumerik, alfabe ve sayıların birleşimidir. Dolayısıyla her ikisine de sahip olan seçeneği seçmeliyiz. Geçerli bir denklik sınıfı hem harflerden hem de rakamlardan oluşacaktır.
3. Tamsayıları pozitif ve negatif olarak ayıran bir program düşünelim. Bu program -5 ile +5 arasında herhangi bir sayıyı kabul etsin.
Cevap:
- Giriş için tamsayıların aralığı aşağıdaki gibi ayırmalıyız:
- Negatif Tam Sayılar: Değerler < -5 (Geçersiz)
- Negatif Tam Sayılar: -5 ile -1 arasındaki değerler (Geçerli)
- Sıfır (ne pozitif ne negatif)
- Pozitif Tam Sayılar: 1 ile 5 arasındaki değerler (Geçerli)
Değerler > 5 (Geçersiz)
Invalid | x Valid | xValid | x Valid | Invalid |
<= -5 | > -5 | 0 | < 5 | >= 5 |
4. İlk 1000 $’lık tasarruf için yüzde 0,5, sonraki 1000 $ için yüzde 1 ve geri kalanı için yüzde 1,5 faiz sunan bir banka hesap programını düşünelim.
Cevap:
Çıktılar şu şekilde tanımlanır: %0,5, %1, %1,5.
Invalid | x Valid – 0.5% | x Valid – 1% | xValid 1.5% |
-0.01 $ | 0.00 1000.00 | 1000.01 2000.00 | 2000.01 |
Ancak program üç bölümden bahsetse de, biz 3’ü geçerli ve 1’i geçersiz olmak üzere dört koşul belirledik. Yani geçersiz bölüm, uygun hata mesajlarını (negatif case) test etmek için kullanılacaktır.
Bir sonraki Black Box: Boundary Value Analysis başlıklı yazımı forumda bulabilirsiniz. Sağlıklı testler!
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: Black Box