Протестовать функционал банкомата с помощью техники State Transition Diagram.

Техника State Transition Diagram (диаграмма переходов состояний) предоставляет хороший инструмент для моделирования и тестирования систем с различными состояниями и переходами между ними.

State Transition Diagram для банкомата:

  1. Состояния:

    • Начальное состояние (Idle): Банкомат в ожидании пользователя.

    • Состояние ввода PIN (Enter PIN): Пользователь вводит PIN.

    • Состояние выбора операции (Select Transaction): Пользователь выбирает операцию (баланс, снятие наличных, перевод и т.д.).

    • Состояние выполнения операции (Perform Transaction): Выполнение выбранной операции.

    • Состояние завершения транзакции (Transaction Complete): Транзакция завершена успешно.

    • Состояние ошибки (Error): Произошла ошибка в процессе транзакции.

  2. Переходы:

    • 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: После возникновения ошибки возврат в начальное состояние.

  3. Дополнительные детали:

    • В каждом состоянии могут быть определены дополнительные переходы или подсостояния в зависимости от требований банкомата (например, ввод суммы для снятия наличных).

    • Может быть введено ограничение на количество попыток ввода PIN до блокировки карты.

Тест-кейсы на основе STD:

  1. Позитивные сценарии:

    • Успешный ввод PIN и выбор операции.

    • Успешное снятие наличных.

    • Успешный перевод средств.

  2. Тесты на обработку ошибок:

    • Неверный ввод PIN, проверка блокировки карты.

    • Ошибка при снятии наличных (недостаточно средств, лимит превышен).

    • Ошибка при переводе средств (неверные данные получателя и т.д.).

  3. Тесты безопасности:

    • Попытка использования банкомата без вставленной карты.

    • Попытка использования чужой карты.

    • Попытка взлома путем ввода неверного PIN многократно.

  4. Тестирование лимитов:

    • Проверка максимальной суммы, которую можно снять.

    • Проверка лимитов на количество операций в день.

  5. Тесты на восстановление:

    • После блокировки карты проверка разблокировки после определенного времени.

    • После ошибочной транзакции проверка возврата в начальное состояние для новой транзакции.

Last updated