Какво е техниката за анализ на класовете на еквивалентност и как се прилага при тестване на софтуер?
sobes.tech AI
Отговор от AI
Техниката за анализ на еквивалентните класове (Equivalence Partitioning) е метод за проектиране на тестови случаи, основан на разделянето на входните данни (или изходните условия) на класове, чиито представители ще бъдат обработвани по подобен начин от програмата. Тестът на един представител от всеки клас се счита за достатъчен за покриване на целия клас.
Основна идея: Ако тестът на един представител от класа открие грешка, вероятно и тестът на другите представители от същия клас ще я открие. Ако тестът на един представител не открие грешка, вероятно и тестът на другите представители също няма да я открие.
Приложение:
- Идентифициране на еквивалентните класове:
- Определят се допустимите и недопустимите класове за всяко входно поле (числов диапазон, набор от низове, булеви стойности и т.н.).
- За числовите диапазони:
- Допустим диапазон.
- Числа по-малки от долната граница (недопустим клас).
- Числа по-големи от горната граница (недопустим клас).
- За наборите от стойности:
- Допустими стойности.
- Недопустими стойности (например, низове в поле за числа).
- Например, за полето "Възраст" от 18 до 65 години:
- Допустим клас: 18-65 (например, 25, 40, 60)
- Недопустим клас: < 18 (например, 17, 0)
- Недопустим клас: > 65 (например, 66, 100)
- Създаване на тестови случаи:
- Избира се по един представител от всеки идентифициран клас (допустим и недопустим).
- Създават се тестови случаи с избраните представители като входни данни.
Пример:
Форма за поръчка, поле "Количество стока", допустима стойност от 1 до 99.
| Еквивалентен клас | Тип | Представители за тестиране |
|---|---|---|
| По-малко от 1 | Недоп. | 0, -5 |
| От 1 до 99 | Доп. | 1, 50, 99 |
| Повече от 99 | Недоп. | 100, 1000 |
| Нечислови стойности | Недоп. | "abc", " " |
От всеки клас се избира поне един представител за създаване на тестов случай. Например, за това поле ще има минимум 4-6 тестови случая, покриващи всички идентифицирани класове.
Предимства:
- Намалява излишъка от тестови случаи.
- Помага за систематизирането на процеса на тестване.
- Осигурява добро тестово покритие с по-малко тестове в сравнение с тестването на всяка възможна входна стойност.
Недостатъци:
- Може да не открие грешки при граничните стойности (често се използва в комбинация с анализ на граничните стойности).
- Ефективността зависи от правилността на идентифицирането на еквивалентните класове.