Какво е тестване, базирано на модел?
Какво е тестване, базирано на модел?
Базираното на модел тестване е техника за тестване на софтуер, при която поведението на тествания софтуер по време на изпълнение се проверява спрямо прогнози, направени от модел. Моделът е описание на поведението на системата. Поведението може да бъде описано от гледна точка на входни последователности, действия, условия, изход и поток от данни от вход към изход. Трябва да е практически разбираемо и да може да се използва многократно; shareable трябва да има точно описание на тестваната система.
Налични са множество модели и той описва различни аспекти на поведението на системата. Примери за модела са:
- Поток от данни
- Контролен поток
- Графики на зависимости
- Таблици за решения
- Машини за преход на състоянието
Базираното на модел тестване описва как системата се държи в отговор на действие (определено от модел). Доставете действие и вижте дали системата реагира според очакванията.
Това е лек формален метод за валидиране на система. Това тестване може да се приложи както за тестване на хардуер, така и за софтуер.
Пример за тестване, базирано на модел
Горният модел обяснява опростения подход за писане на поезия в бележник и възможните действия, свързани с всяка стъпка. За всяко действие (като стартиране, въвеждане на стихотворение, запазване), Тестов случай могат да бъдат генерирани и изходът може да бъде проверен.
Видове MBT
Има два типа рамки за тестване, базирани на модел -
- Офлайн / априори: Генериране на тестови пакети преди изпълнението му. Тестовият пакет не е нищо друго освен колекция от тестови случаи.
- Онлайн / в движение: Генериране на тестови пакети по време на изпълнение на теста
Различни модели в тестването
За да разберете MBT, е необходимо да разберете някои от моделите, обяснени по-долу. Нека да ги прегледаме един по един:
Крайни държавни машини
Този модел помага на тестерите да оценят резултата в зависимост от избрания вход. Различни комбинации от входове могат да доведат до съответно състояние на системата.
Системата ще има конкретно състояние и текущо състояние, което се управлява от набор от входове, дадени от тестерите.
Помислете за примера-
Има система, която позволява на служителите да влизат в приложението. Сега текущото състояние на служителя е „Излязъл“ и станало „Влязъл“, след като той влезе в системата. В състояние „в“ служител може да преглежда, отпечатва и сканира документи в системата.
Държавни диаграми
Това е разширение на крайната машина и може да се използва за сложни системи в реално време. Графиките на състоянието се използват за описание на различни поведения на системата. Има определен брой състояния. Поведението на системата се анализира и представя под формата на събития за всяко състояние.
Например -
Дефектите се повдигат в инструмента за управление на дефекти със статус Нов. След като бъде коригирано от разработчиците, то трябва да бъде променено на статус Фиксиран. Ако дефектът не е коригиран, променете състоянието на Повторно отваряне. Държавните диаграми трябва да бъдат проектирани по такъв начин, че да призовават за събитие за всеки щат.
Унифициран език за моделиране (UML)
Унифициран език за моделиране (UML) е стандартизиран език за моделиране с общо предназначение. UML включва набор от техники за графично означение за създаване на визуални модели, които могат да опишат много сложното поведение на системата.
UML има означения като:
- Дейности
- Актьори
- Бизнес процес
- Компоненти
- Програмен език
Предизвикателства на моделно базирано тестване
Внедряването на MBT във всяка организация очевидно изисква големи инвестиции и усилия. Следват недостатъците на MBT в Софтуерно инженерство.
- Необходими умения, изисквани от тестерите
- Времето за кривата на обучение ще бъде повече
- Труден за разбиране самия модел
Предимства на тестването на модели
Следните са предимствата на MBT:
- Лесна поддръжка на тестов случай/пакет
- Намаляване на разходите
- Подобрено тестово покритие
- Може да изпълнява различни тестове на n брой машини
- Ранно откриване на дефекти
- Увеличаване на броя на дефектите
- Спестяване на време
- Подобрено удовлетворение от работата на тестера
Заключение
Тестващите така или иначе изграждат ментални модели по време на тестването. Тези умствени модели могат да бъдат трансформирани в модели на хартия. Това помага на тестерите да постигнат четливост и повторна употреба.
Базираното на модел тестване е нов подход към тестване на софтуер. Еволюцията на софтуерното тестване е показана по-долу –