Тестирование приложения для работы с биржей с использованием FIX
Цель: Проведение комплексного тестирования приложения, которое использует FIX протокол. Тестирование должно охватить валидацию полей, бизнес-логику обработки заявок, правила округления, пограничные случаи, связанные с некорректной обработкой сообщений, а также сессионные аспекты.
Необходимые знания и понимание:
1. Основы FIX протокола.
2. Понимание структуры заявок и торговых приказов (ордеров).
3. Знание терминологии и функциональности биржевого стакана (Order Book).
Задачи тестирования:
1. Валидация полей сообщений:
- Проверить корректность обязательных полей в FIX сообщениях (например, MsgType, ClOrdID, Side, Symbol, Price, Quantity).
- Проверить, что необязательные поля обрабатываются корректно и не влияют на бизнес-логику при их отсутствии.
- Проверить валидацию форматов полей (например, дата, числовые значения, строки фиксированной длины).
2. Тестирование бизнес-логики обработки заявок:
3. Проверка правил округления:
- Проверить, что цены и количества заявок округляются согласно установленным правилам (например, до двух знаков после запятой).
- Проверить обработку некорректных значений округления (например, когда цена или количество имеет больше допустимого числа знаков).
4. Тестирование пограничных случаев:
- Проверить поведение системы при отправке заявок с минимально и максимально допустимыми значениями цен и количеств.
- Проверить обработку дублирующихся приказов.
- Проверить корректность обработки сообщений с неправильным форматом или некорректным содержимым.
5. Тестирование сессионного уровня:
- Проверить установление и завершение сессии (Logon/Logout).
- Проверить восстановление сессии c ResendRequesdt после разрыва соединения.
- Проверить корректность обработки Heartbeat и Test Request, Sequence Reset сообщений.
6. Дополнительные аспекты тестирования:
- Проверить корректность ведения журнала сообщений.
- Проверить, что все сообщения логируются с правильными временными метками.
- Проверить обработку различных сценариев использования приложений (например, высокая нагрузка, работа в течение длительного времени без перезапуска).
- Проверить интеграцию с различными торговыми площадками и брокерами, чтобы убедиться в совместимости.
В качестве результата ожидается
- Документ с результатами тестирования, содержащий описание найденных ошибок, рекомендации по их устранению и оценку стабильности и корректности работы приложения в различных сценариях использования.
- Набор автоматизированных тестовых сценариев которые можно использовать при выпуске новых версию ПО