state transition testing technique
Научете какво е тестване на държавен преход и как да използвате диаграма на държавен преход:
В последната ни статия видяхме „ Графика за причините и последиците ’Техника на писане на тестови казуси. Днес нека преминем към следващия динамичен метод за писане на тестови случаи - техника за преход на държавата.
Този документ изследва разширяването на тази концепция за тестване до по-големи приложения, които не са FSM като цяло, но някои от техните компоненти са, така че да възприеме уникалната му характеристика на „да бъде държавен“ и правила за преход, което води до много предимства.
Тестване на държавния преход
Тестването на държавен преход е a Техника за тестване на черна кутия , който може да се приложи за изпитване на „Finite State Machines“.
„Машина с крайно състояние (FSM)“ е система, която ще бъде в различни дискретни състояния (като „готов“, „не готов“, „отворен“, „затворен“, ...) в зависимост от входовете или стимулите.
Дискретните състояния, при които системата завършва, зависи от правилата за преход на системата. Тоест, ако дадена система дава различен изход за един и същ вход, в зависимост от по-ранното си състояние, това е система с крайно състояние.
Освен това, ако всяка транзакция е тествана в системата, тя се нарича „0-switch“ покритие. Ако тестването обхваща 2 двойки валидни транзакции, това е покритие „1 превключвател“ и т.н.
Какво ще научите:
Какво представлява държавната техника за тестване на прехода?
Техниката за преход на състоянието е техника на динамично тестване, която се използва, когато системата е дефинирана по отношение на краен брой състояния и преходите между състоянията се уреждат от правилата на системата.
Или с други думи, тази техника се използва, когато характеристиките на системата са представени като състояния, които се трансформират едно в друго. Трансформациите се определят от правилата на софтуера. Изобразителното представяне може да бъде показано като:
И така, тук виждаме, че едно образувание преходи от държава 1 до държава 2 заради някои вход състояние, което води до събитие и води до действие и накрая дава изход .
За да го обясните с пример:
Посещавате банкомат и теглите $ 1000. Получавате парите си. Сега оставате без баланс и отправяте същата заявка за теглене на $ 1000. Този път банкоматът отказва да ви даде парите поради недостатъчен баланс. И така, тук преход , което предизвика промяна в състоянието е по-ранното оттегляне
Определение за тестване на държавен преход
След като разбрахме какво е държавен преход, вече можем да стигнем до по-смислено определение за тестване на държавен преход. Така че, това е вид тестване на черна кутия, при което тестерът трябва да изследва поведението на AUT (Application Under Test) спрямо различни входни условия, дадени в последователност.
Поведението на системата се записва както за положителни, така и за отрицателни стойности на теста.
Кога да се използва тестване на държавен преход?
Тестване на държавен преход може да се използва в следните ситуации:
най-добрият начин за отваряне на xml файл
- Когато тестваното приложение е система в реално време с обхванати различни състояния и преходи.
- Когато приложението зависи от събитието / стойностите / условията от миналото.
- Когато трябва да се тества последователността на събитията.
- Когато приложението трябва да бъде тествано спрямо краен набор от входни стойности.
Кога да не се използва държавно преходно тестване?
Не трябва да разчитате на тестване на държавен преход при следните ситуации:
- Когато не се изисква тестване за последователни комбинации на въвеждане.
- Когато се изискват различни функционалности на приложението (по-скоро като Изследователско тестване).
Пример за тестване на държавен преход при тестване на софтуер
В практическия сценарий тестерите обикновено получават диаграмите на държавния преход и ние трябва да ги интерпретираме.
Тези диаграми се дават или от бизнес анализатори, или от заинтересовани страни и ние ги използваме, за да определим нашите тестови случаи.
Нека разгледаме следната ситуация:
Име на софтуера - Manage_display_changes
Спецификации - Софтуерът отговаря на заявки за въвеждане за промяна на режима на показване за устройство за показване на времето.
Режимът на показване може да бъде зададен на една от четирите стойности:
- Две, съответстващи на показването на часа или датата.
- Останалите две при промяна на часа или датата.
Различните състояния са както следва:
- Промяна на режима (CM): Активирането на това ще доведе до преминаване на режима на показване между „време на показване (T)“ и „дата на показване (D)“.
- Нулиране (R): Ако режимът на показване е зададен на T или D, тогава „нулиране“ ще доведе до настройка на режима на дисплея на „промяна на времето (AT)“ или „промяна на датата (AD)“.
- Задаване на време (TS): Активирането на това ще доведе до връщане на режима на показване към Т от AT.
- Задаване на дата (DS): Активирането на това ще доведе до връщане на режима на показване към D от AD.
Диаграма на прехода на държавата
Сега да преминем към неговото тълкуване:
Тук:
# 1) Различни държави са:
- Време на показване (S1),
- Промяна на времето (S3),
- Показва дата (S2) и
- Промяна на датата (S4).
# 2) Различни входове са:
- Промяна на режима (CM),
- Нулиране (R),
- Задаване на време (TS),
- Задаване на дата (DS).
# 3) Различни резултати са:
- Промяна на времето (AT),
- Време на показване (T),
- Дата на показване (D),
- Промяна на датата (AD).
# 4) Променените държави са:
- Време на показване (S1),
- Промяна на времето (S3),
- Показване на дата (S2) и
- Промяна на датата (S4).
Етап 1: Напишете всички стартови състояния. За това вземете по едно състояние и вижте колко стрелки излизат от него.
- За State S1 от него излизат две стрелки. Една стрелка ще посочва S3, а друга стрелка ще посочва S2.
- За държава S2 - има 2 стрелки. Единият отива към държавата S1, а другият отива към S4
- За State S3 - от него излиза само 1 стрелка, която ще посочи S1
- За състояние S4 - от него излиза само 1 стрелка, която ще посочи S2
Нека поставим това на нашата маса:
Тъй като за състоянието S1 и S2 излизат две стрелки, ние го написахме два пъти.
Стъпка 2: За всяко състояние запишете окончателните им преходни състояния.
- За състояние S1 - крайните състояния са S2 и S3
- За държава S2 - крайните състояния са S1 и S4
- За състояние S3 - крайното състояние е S1
- За държава S4 - крайното състояние е S2
Поставете това на масата като състояние на изход / резултат.
Стъпка 3: За всяко начално състояние и съответстващото му финишно състояние запишете входните и изходните условия
- За състояние S1 да премине в състояние S2, входът е Change Mode (CM), а изходът е Display Date (D), показан по-долу:
По подобен начин запишете условията на въвеждане и изхода за всички състояния, както следва:
Стъпка 4:
Сега добавете ID на тестовия случай за всеки тест, показан по-долу:
Сега нека го превърнем във формални тестови случаи:
По този начин могат да бъдат изведени всички останали тестови случаи. Предполагам другото атрибути на тестовите случаи като предварителни условия, сериозност, приоритет, среда, компилация и т.н. също са включени в тестовия случай.
разлика между java и c ++
Обобщаване на стъпките още веднъж:
- Идентифицирайте началните състояния и крайното им състояние въз основа на линиите / стрелките, които излизат от първоначалното състояние.
- За всяко начално състояние открийте условието на входа и резултата от изхода
- Маркирайте всеки комплект като отделен тест.
Още примери за държавна преходна техника
Ето още един пример за държавната техника за преходен тест в по-големи софтуерни приложения.
Описание:
' Държавно функционално тестване “ подход може да се използва за тестване на конкретни части или компоненти на приложението, с характеристиката на машина с крайно състояние (FSM).
Стъпки в изпълнението:
# 1) Първата стъпка в прилагането на „Тестване на състоянието на функциите“ е да се идентифицират различни компоненти / части на приложението, които могат да бъдат категоризирани като FSM. Входовете, състоянията и изходите се проследяват внимателно за всеки от тези FSM.
# две) Следващата стъпка ще бъде разработването на тестови случаи за тези FSM въз основа на правила за преход, входове, изходи и състояния на преход.
# 3) Третата стъпка би била интегрирането на тестването на тези компоненти с други взаимосвързващи компоненти за валидиране на приложението от край до край.
Това може да бъде обяснено чрез пример на приложение, наречено „Проект на къща“, което проследява строителството на къща, с различни компоненти на приложението, като одобрение на архитектурата на къщата, регистрация на парцела и къщата, избор на строителния изпълнител , одобрение на жилищен кредит и др.
Например,
Ще разгледаме тестването на един компонент на FSM на заявлението „Проект на къща“: Одобряване на жилищния заем.
Заявление за одобрение на жилищен кредит (HLA)
Заявлението HLA ще се управлява от независим потребител за обработка на заеми, който обработва заявлението за заем. Различните стъпки при обработката на заявлението са подробно описани по-долу:
1.1.1 Стъпка 1: Събиране на документи
Първата стъпка е събирането на съответните документи за кандидатстване за заем, както е посочено в таблицата по-долу. Те са „условията“ за успешно кандидатстване. Кандидатът събира необходимите документи и ги прилага за жилищния заем.
Потребителят за обработка на заема потвърждава получаването на документите и прехвърля състоянието на Заявлението за заем (това е състоянието на компонента HLA Application) в състояние „Приложено“.
Таблица 1: Списък на документите
1.1.2 Стъпка 2: Оценка на кредита
На този етап заемодателят оценява заявлението за кредит, за да определи дали отговаря на неговите кредитни изисквания. Допълнителните документи се проверяват в момента.
Таблица 2: Критичност на документите
Документите, необходими за оценката, т.е. „условията“, които трябва да бъдат валидирани на този етап, са валидирани. Към всяко условие има свързана критичност (спомената като „Y“ в таблицата по-горе). След като всички необходими критични условия са изпълнени, приложението преминава в състояние „Потвърдено“ - т.е. компонентът на HLA приложението е в състояние „Потвърдено“.
Точка за отбелязване:
# 1) Този принцип внася структура и обективност на условията на теста и дефинициите на „състояние“ на системата .
Също така, не всички „условия“ за валидиране на системата са критични, за да достигне това „Потвърдено“ състояние. В таблицата по-горе 4 условия са отбелязани като „Не са критични“, за да може приложението да достигне състояние „Потвърдено“.
# две) Броят на проверките може да бъде оптимално намален в зависимост от риска или критичността на правилата, изисквани за всяка държава. Това значително ще намали времето, необходимо за изпълнение на теста, и в същото време няма да направи компромис с качеството на тестването.
# 3) Това е полезно не само за тестване на отделните компоненти, но и за тестване на системата от край до край.
# 4) Също така, много полезно при създаването на тестове за регресия.
И така, на този етап това е тип тестване с 0 превключватели. Но по-късните етапи на одобрение могат да бъдат типове валидации с 1 превключвател или 2 превключватели за този етап.
Например, „Свидетелство за брак“ може да не е прекалено подходящо на този етап, но на последните етапи на одобрение, когато се разглежда рискът кандидатът да плати EMI, свидетелството за брак може да стане релевантно - тоест, ако съпругът / съпругата също е нает , намалява риска и ако не се използва, увеличава риска.
# 5) Горният принцип може да се използва за разширяване на условията на изпитване в зависимост от изискванията на компонента на този етап.
1.1.3 Стъпка 3: Условно одобрение
Текущото състояние на приложението е „Потвърдено“. Кредиторът ще даде „условно одобрение“ за процеса на заем, за да продължи напред. Необходими са допълнителни проверки за преместване на приложението HLA в състояние „Одобрено“.
1.1.4 Стъпка 4: Одобрение
На този етап се провеждат критични проверки:
- Оценка от ипотечната застраховка на заемодателите (LMI): това ще включва валидиране с 2 превключвателя или повече за истинността на имота.
- Кредитодателят може да изиска информация, която не е била предоставена по време на етапа „Потвърждение“.
След като горните условия бъдат изпълнени, приложението преминава в състояние „Одобрено“. Окончателният орган на процеса на одобрение може да провери достоверността на кандидата за кредит, като поиска повече подробности или може да не попита дали другите документи на кандидата са убедителни. Тоест, за доказване на валидността ще са необходими повече данни от различни компоненти на основното приложение .
# 6) С други думи, може да са необходими (или намалени) повече проверки за преминаване в различно състояние в зависимост от условията на въвеждане на компонента от други компоненти на приложението.
Диаграмата по-долу изобразява процеса на одобрение.
Фигура 1: Процес на одобрение на заема
Рискове и предизвикателства
- За големите приложения задълбочените познания за приложенията са от съществено значение за разбиването на приложението на различни логически компоненти, за да се даде възможност за категоризация като FSM и редовни компоненти. Това може да изисква скъпо време от МСП.
- Не всички приложения биха имали възможността за този вид категоризация на FSM.
- Тъй като компонентите на FSM взаимодействат с обикновените компоненти в приложението, входовете към FSM от различни компоненти изискват внимателно планиране и изпълнение.
Предимства на тестовете за държавен преход
- При тази техника, използвайки изобразително или таблично представяне на поведението на системата, тестерът се запознава с дизайна на приложението и се чувства лесно да покрие и проектира тестовете ефективно и ефикасно.
- Непланираните или невалидни състояния на системата също се покриват с помощта на тази техника.
- С помощта на диаграмата на държавния преход е лесно да се провери дали всички условия са изпълнени.
Недостатъци на тестовете за държавен преход
- Тази техника не може да се използва за системи с неограничени състояния.
- Определянето на всички възможни състояния за големи и сложни системи е доста тромава задача.
Заключение
Изпитването на държавен преход е полезен подход, когато се изискват различни системни преходи за тестване на системи с крайно състояние.
Тестването на приложение с концепцията за „Държавно функционално тестване“ може да даде на тестващите организации уникален тестов подход за тестване на сложни приложения, който би увеличил производителността на изпълнението на теста, без да прави компромис с покритието на теста.
Тестването на държавен преход е уникален тестов подход за тестване на сложни приложения, който би увеличил производителността на изпълнението на теста, без да се компрометира покритието на теста.
Ограничението на тази техника е, че тя не може да се използва, докато и освен ако изпитваната система има само крайни състояния.
Препоръчително четене
- Какво представлява техниката за изпитване на базата на дефекти?
- Какво представлява техниката за тестване на ортогонален масив (OATS)?
- Функционално тестване срещу нефункционално тестване
- Какво е сравнително тестване (научете с примери)
- Какво е тестване на мутация: Урок с примери
- Какво е тестване за издръжливост при тестване на софтуер (примери)
- Какво е тестване от край до край: Рамка за тестване E2E с примери
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)