Что такое тестирование перехода между состояниями?
Тестирование перехода состояний - это метод тестирования черного ящика, при котором изменения, внесенные во входные условия, вызывают изменения состояния или выходных изменений в Тестируемом приложении (AUT). Тестирование перехода между состояниями помогает анализировать поведение приложения для различных входных условий. Тестеры могут предоставлять положительные и отрицательные входные тестовые значения и записывать поведение системы.
Это модель, на которой основана система и тесты. Любая система, в которой вы получаете разные выходные данные для одного и того же входа, в зависимости от того, что произошло раньше, является системой с конечным числом состояний.
Техника тестирования перехода между состояниями полезна там, где вам нужно протестировать различные переходы системы.
В этом руководстве вы узнаете:
- Что такое переход состояния при тестировании?
- Когда использовать переход между состояниями?
- Когда не следует полагаться на смену состояния?
- Четыре части диаграммы перехода состояний
- Диаграмма переходов состояний и таблица переходов состояний
- Как сделать переход между состояниями (примеры перехода между состояниями)
- Преимущества и недостатки метода перехода между состояниями
Когда использовать переход между состояниями?
- Это можно использовать, когда тестировщик тестирует приложение для конечного набора входных значений.
- Когда тестировщик пытается проверить последовательность событий, происходящих в тестируемом приложении. Т.е. это позволит тестировщику протестировать поведение приложения для последовательности входных значений.
- Когда тестируемая система зависит от событий / значений в прошлом.
Когда не следует полагаться на смену состояния?
- Когда тестирование не проводится для последовательных входных комбинаций.
- Если тестирование должно проводиться для различных функций, таких как исследовательское тестирование
Четыре части диаграммы перехода состояний
Модель перехода между состояниями состоит из 4 основных компонентов, как показано ниже.
1) Указывает, что программное обеспечение может получить
2) Переход из одного состояния в другое
3) События , вызывающие переход, например закрытие файла или снятие денег.
4) Действия , возникающие в результате перехода (сообщение об ошибке или получение денег).
Диаграмма переходов состояний и таблица переходов состояний
Существует два основных способа представления или разработки перехода между состояниями: диаграмма переходов состояний и таблица переходов состояний.
На диаграмме перехода состояний состояния показаны текстами в рамке, а переход представлен стрелками. Его также называют диаграммой состояний или графиком. Это полезно для определения допустимых переходов.
В таблице переходов состояний все состояния перечислены слева, а события описаны вверху. Каждая ячейка в таблице представляет состояние системы после того, как событие произошло. Ее также называют таблицей состояний. Это полезно для определения недопустимых переходов.
Как сделать переход между состояниями (примеры перехода между состояниями)
Пример 1:
Рассмотрим функцию системы банкомата, в которой, если пользователь трижды введет неверный пароль, учетная запись будет заблокирована.
В этой системе, если пользователь вводит действительный пароль в любой из первых трех попыток, он будет успешно авторизован. Если пользователь вводит неверный пароль с первой или второй попытки, ему будет предложено повторно ввести пароль. И, наконец, если пользователь 3- й раз введет неверный пароль , учетная запись будет заблокирована.
Диаграмма перехода состояний
На диаграмме всякий раз, когда пользователь вводит правильный ПИН-код, он переводится в состояние Доступ предоставлен, а если он вводит неправильный пароль, он перемещается к следующей попытке, и если он делает то же самое в третий раз, достигается состояние блокировки учетной записи.
Таблица перехода состояний
Правильный PIN-код |
Неверный PIN-код |
|
---|---|---|
S1) Пуск |
S5 |
S2 |
S2) 1- я попытка |
S5 |
S3 |
S3) 2- я попытка |
S5 |
S4 |
S4) 3- я попытка |
S5 |
S6 |
S5) Доступ разрешен |
- |
- |
S6) Аккаунт заблокирован |
- |
- |
В таблице, когда пользователь вводит правильный PIN-код, состояние переходит в S5, который является Доступом. И если пользователь вводит неправильный пароль, он переходит в следующее состояние. Если он сделает то же самое в третий раз, он перейдет в состояние блокировки учетной записи.
Пример 2:
Посмотрите это видео, прежде чем обращаться к приведенному ниже примеру:
Нажмите здесь, если видео недоступно
Учтите, что на экране входа в систему для бронирования авиабилетов вам необходимо ввести правильное имя агента и пароль для доступа к приложению для бронирования авиабилетов.
Это дает вам доступ к приложению с правильным паролем и именем для входа, но что, если вы ввели неправильный пароль.
Приложение допускает три попытки, и если пользователи вводят неправильный пароль с 4-й попытки, система автоматически закрывает приложение.
Графики состояний помогают определить допустимые переходы для тестирования. В этом случае тестирование с правильным паролем и с неправильным паролем обязательно. Для тестовых сценариев, авторизуясь со 2- й , 3- й и 4- й попытки, любой желающий может быть протестирован.
Вы можете использовать таблицу состояний для определения недопустимых системных переходов.
В таблице состояний все допустимые состояния перечислены в левой части таблицы, а события, которые их вызывают, вверху.
Каждая ячейка представляет собой состояние, в которое система перейдет, когда произойдет соответствующее событие.
Например, в состоянии S1 вы вводите правильный пароль, вы переходите в состояние S6 (Доступ разрешен). Предположим, что если вы ввели неправильный пароль с первой попытки, вы перейдете в состояние S3 или 2nd Try.
Таким же образом вы можете определить все остальные состояния.
С помощью этого метода выделяются два недопустимых состояния. Предположим, вы находитесь в состоянии S6, то есть вы уже вошли в приложение, и вы открываете другой экземпляр бронирования рейса и вводите действительные или недействительные пароли для того же агента. Системный отклик на такой сценарий необходимо протестировать.
Преимущества и недостатки метода перехода между состояниями
Преимущества |
Недостатки |
---|---|
Этот метод тестирования обеспечит графическое или табличное представление поведения системы, что позволит тестировщику эффективно охватить и понять поведение системы. |
Главный недостаток этой методики тестирования заключается в том, что мы не можем полагаться на нее каждый раз. Например, если система не является конечной системой (не в последовательном порядке), этот метод нельзя использовать. |
Используя это тестирование, тестировщик техники может убедиться, что все условия выполнены, а результаты получены. |
Другой недостаток заключается в том, что вам нужно определить все возможные состояния системы. Хотя это нормально для небольших систем, вскоре он распадается на более крупные системы, так как количество состояний растет в геометрической прогрессии. |
Резюме:
- Тестирование перехода состояний определяется как метод тестирования, при котором изменения входных условий вызывают изменения состояния тестируемого приложения.
- В программной инженерии метод тестирования перехода между состояниями полезен там, где вам нужно протестировать различные переходы системы.
- Два основных способа представления или разработки перехода между состояниями: диаграмма переходов состояний и таблица переходов состояний.
- На диаграмме перехода состояний состояния показаны текстами в рамке, а переход представлен стрелками.
- В таблице переходов состояний все состояния перечислены слева, а события описаны вверху.
- Это главное преимущество этого метода тестирования заключается в том, что он обеспечивает графическое или табличное представление поведения системы, что позволит тестировщику эффективно охватить и понять поведение системы.
- Главный недостаток этой методики тестирования заключается в том, что мы не можем полагаться на нее каждый раз.