Какво е мутационен тест? (Пример)
Какво е мутационен тест?
Тестване на мутации е вид софтуерно тестване, при което определени изрази на изходния код се променят/мутират, за да се провери дали тестовите случаи могат да намерят грешки в изходния код. Целта на тестването на мутации е да се гарантира качеството на тестовите случаи по отношение на устойчивостта, че трябва да се провали с мутиралия изходен код.
Промените, направени в програмата за мутанти, трябва да бъдат изключително малки, за да не повлияят на общата цел на програмата. Тестването на мутации се нарича още стратегия за тестване, базирано на грешки, тъй като включва създаване на грешка в програмата и е вид Бял Box Тестване който се използва главно за Единично тестване.
Мутацията първоначално беше предложена през 1971 г., но загуби плам поради високите разходи. Сега, отново, той избра пара и се използва широко за езици като Java и XML.
Как да изпълним мутационен тест?
Следват стъпките за извършване на мутационен тест (анализ на мутации):
Стъпка : Грешките се въвеждат в изходния код на програмата чрез създаване на много версии, наречени мутанти. Всеки мутант трябва да съдържа една грешка и целта е да се накара версията на мутанта да се провали, което демонстрира ефективността на тестовите случаи.
Стъпка : Тестовите случаи се прилагат към оригиналната програма, а също и към програмата-мутант. А Тестов случай трябва да е адекватен и е променен, за да открива грешки в програмата.
Стъпка : Сравнете резултатите от оригинална и мутантна програма.
Стъпка : Ако оригиналната програма и мутантните програми генерират различен резултат, тогава мутантът е убит от тестовия случай. Следователно тестът е достатъчно добър, за да открие промяната между оригиналната и мутантната програма.
Стъпка : Ако оригиналната програма и мутантната програма генерират еднакъв резултат, Мутантът остава жив. В такива случаи трябва да се създадат по-ефективни тестови случаи, които да убиват всички мутанти.
Как да създадете мутантни програми?
Мутацията не е нищо друго освен единична синтактична промяна, която се прави в програмния оператор. Всяка мутантна програма трябва да се различава от оригиналната програма с една мутация.
| Оригинална програма | Програма Мутант |
|---|---|
| Ако (x>y)
Отпечатайте „Здравей“ Още Отпечатайте „Здравей“ |
ако(x<y)
Отпечатайте „Здравей“ Още Отпечатайте „Здравей“ |
Какво да промените в програмата Mutant?
Има няколко техники, които могат да се използват за генериране на мутантни програми. Нека да ги разгледаме
| Operand заместващи оператори | Модификация на израза Operaтори | Модификация на изявление Operaтори |
|---|---|---|
| Заменете операнда с друг операнд (x с y или y с x) или с постоянната стойност. | Замяна на оператор или вмъкване на нови оператори в програмен оператор. | Програмните изрази са модифицирани, за да създадат мутантни програми. |
| Example-
If(x>y) замества x и y стойностите If(5>y) замени x с константа 5 |
Example-
Ако (x==y) Можем да заменим == в >= и да имаме мутантна програма като If(x>=y) и вмъкване на ++ в оператора Ако (x==++y) |
Example-
Изтрийте частта else в оператор if-else Изтрийте целия оператор if-else, за да проверите как се държи програмата Някои от примерните оператори за мутация:
|
Автоматизиране на мутационния тест
Тестването на мутациите отнема много време и е сложно за ръчно изпълнение. За да ускорите процеса, препоръчително е да използвате инструменти за автоматизация. Инструментите за автоматизация намаляват и разходите за тестване.
Списък с налични инструменти-
Видове тестове за мутации
In Софтуерно инженерство, Тестването на мутациите може да бъде основно категоризирано в 3 типа – мутация на изявление, мутация на решение и мутация на стойност.
- Мутация на изявление – програмистът изрязва и поставя част от код, резултатът от който може да бъде премахване на някои редове
- Мутация на стойността– стойностите на първичните параметри се променят
- Мутация на решението– контролните отчети трябва да бъдат променени
Мутационен резултат
Резултатът на мутацията се определя като процент на убитите мутанти спрямо общия брой мутанти.
- Резултат на мутация = (Убити мутанти / Общ брой мутанти) * 100
Тестовите случаи са подходящи за мутация, ако резултатът е 100%. Експерименталните резултати показват, че мутационният тест е ефективен подход за измерване на адекватността на тестовите случаи. Но основният недостатък е високата цена за генериране на мутанти и изпълнение на всеки тестов случай срещу тази програма за мутанти.
Предимства на мутационния тест
Следват предимствата на мутационния тест:
- Това е мощен подход за постигане на високо покритие на изходната програма.
- Това тестване е в състояние да тества цялостно програмата за мутанти.
- Тестването на мутации осигурява добро ниво на откриване на грешки на разработчика на софтуер.
- Този метод разкрива неясноти в изходния код и има капацитета да открие всички грешки в програмата.
- Клиентите се възползват от това тестване, като получават най-надеждната и стабилна система.
Недостатъци на мутационния тест
От друга страна, следните са недостатъците на мутантното тестване:
- Тестването на мутации е изключително скъпо и отнема много време, тъй като има много мутантни програми, които трябва да бъдат генерирани.
- Тъй като отнема време, справедливо е да се каже, че това тестване не може да се направи без инструмент за автоматизация.
- Всяка мутация ще има същия брой тестови случаи от този на оригиналната програма. Така че може да се наложи голям брой мутантни програми да бъдат тествани спрямо оригиналния тестов пакет.
- Тъй като този метод включва промени в изходния код, той изобщо не е приложим за черно Box Тестване.
Заключение
Искате ли изчерпателно тестване на вашето приложение? Отговорът е мутационен тест. Това е най-изчерпателната техника за тестване на програма. Това е методът, който проверява ефективността и точността на програмата за тестване за откриване на неизправности или грешки в системата.



