25 Eylül 2017 Pazartesi

Denklik Sınıfı Testi - Equivalance Class Partitioning

Giriş
Denklik Sınıfı Testi (Equivalance Class Partitioning) Kara Kutu (Black Box) test tekniklerinden bir tanesi. Kara Kutu Testleri şöyle
1. Equivalance Partitions
2. Boundary Value Analysis
3. Decision Tables
4. State transition
5. Use cases

Sonsuz sayıda ya da çok ayrıntılı (exhaustive) test yapamayacağımız için test sayısını azaltarak tüm işlevi test etmeyi hedefler.
Denklik için açıklama şöyle
A portion of an input or output domain for which the behavior of a component or system is assumed to be the same, based on the specification
Test için açıklama şöyle
Equivalance partitioning is a simple technique, applicable for any and all variables present in the software, whether input or output values, alphabetical, numerical or other. It is based on the principal that all values from a same equivalance partition will be processed the same way by the same instructions.
Nasıl Yapılır
Test için kullanılacak girdi kümelere ayrılır ve her kümeden birer örnek denenir. Böylece azami test kapsaması sağlanır.

Eğer girdi aralık ise ve aralığın dışında değerler yoksa
Elimizde ASCII aralığını büyük karaktere çeviren bir kod olsun. Test etmek için bir tablo hazırlanır. Bu tablo ASCII karakterleri 3 aralığa böler ve aralıkların dışında değer olmadığı varsayılır. Bu durumda 4 tane test yapmak yeterli.
| # |  Equivalence class    | Input        | Output       | # test cases |
+------------------------------------------------------------------------+
| 1 | Lowercase letter      | a - z        | A - Z        | 26           |
| 2 | Uppercase letter      | A - Z        | A - Z        | 26           |
| 3 | Non-alphabetic chars  | 0-9!@#,/"... | 0-9!@#,/"... | 42           |
| 4 | Non-printable chars   | ^C,^S,TAB... | ^C,^S,TAB... | 34           |
Eğer girdi aralık ise (range) ve aralığın dışında değerler de varsa
Aralık sürekli (continuous) veya kesikli (discrete) olabilir. Aralığa dahil olan bir, dahil olmayan kümeden de birer örnek denenir.

Eğer girdi nokta ise
Noktanın sabit değeri ve nokta dışındaki kümeden bir değer denenir. Boolean değerler de nokta gibi düşünülebilir. Yani bir true bir de false girdi denenmelidir.

Eğer girdi küme ise
Kümenin içindeki bir girdi, ve kümenin dışındaki bir girdi denenir.



Hiç yorum yok:

Yorum Gönder