Протестовать функционал банкомата с помощью техники State Transition Diagram.
Техника State Transition Diagram (диаграмма переходов состояний) предоставляет хороший инструмент для моделирования и тестирования систем с различными состояниями и переходами между ними.
State Transition Diagram для банкомата:
Состояния:
Начальное состояние (Idle): Банкомат в ожидании пользователя.
Состояние ввода PIN (Enter PIN): Пользователь вводит PIN.
Состояние выбора операции (Select Transaction): Пользователь выбирает операцию (баланс, снятие наличных, перевод и т.д.).
Состояние выполнения операции (Perform Transaction): Выполнение выбранной операции.
Состояние завершения транзакции (Transaction Complete): Транзакция завершена успешно.
Состояние ошибки (Error): Произошла ошибка в процессе транзакции.
Переходы:
Idle -> Enter PIN: Пользователь вставляет карту, переход в состояние ввода PIN.
Enter PIN -> Select Transaction: Ввод PIN успешен, переход к выбору операции.
Select Transaction -> Perform Transaction: Пользователь выбирает операцию, переход к выполнению.
Perform Transaction -> Transaction Complete: Успешное выполнение операции, переход к завершению транзакции.
Perform Transaction -> Error: Произошла ошибка во время выполнения операции.
Transaction Complete -> Idle: Возврат в начальное состояние для следующей транзакции.
Error -> Idle: После возникновения ошибки возврат в начальное состояние.
Дополнительные детали:
В каждом состоянии могут быть определены дополнительные переходы или подсостояния в зависимости от требований банкомата (например, ввод суммы для снятия наличных).
Может быть введено ограничение на количество попыток ввода PIN до блокировки карты.
Тест-кейсы на основе STD:
Позитивные сценарии:
Успешный ввод PIN и выбор операции.
Успешное снятие наличных.
Успешный перевод средств.
Тесты на обработку ошибок:
Неверный ввод PIN, проверка блокировки карты.
Ошибка при снятии наличных (недостаточно средств, лимит превышен).
Ошибка при переводе средств (неверные данные получателя и т.д.).
Тесты безопасности:
Попытка использования банкомата без вставленной карты.
Попытка использования чужой карты.
Попытка взлома путем ввода неверного PIN многократно.
Тестирование лимитов:
Проверка максимальной суммы, которую можно снять.
Проверка лимитов на количество операций в день.
Тесты на восстановление:
После блокировки карты проверка разблокировки после определенного времени.
После ошибочной транзакции проверка возврата в начальное состояние для новой транзакции.
Last updated