Системное тестирование означает тестирование всей системы в целом, оно выполняется после интеграционного тестирования, чтобы проверить, работает ли вся система целиком должным образом. В основном это тестирование типа «черный ящик», которое оценивает работу системы с точки зрения пользователя с помощью документа спецификации и оно не требует каких-либо внутренних знаний о системе, таких как дизайн или структура кода.
Основное внимание уделяется следующему:
- Внешние интерфейсы;
- Многопрограммность и сложный функционал;
- Безопасность;
- Восстановление;
- Производительность;
- Гладкое (smooth) взаимодействие оператора и пользователя с системой;
- Возможность установки;
- Документация;
- Удобство использование;
- Нагрузка / стресс;
Зачем нужно системное тестирование?
- Очень важно завершить полный цикл тестирования, и ST - это этап, на котором это делается;
- ST выполняется в среде, аналогичной production environment, и, следовательно, заинтересованные стороны могут получить хорошее представление о реакции пользователя;
- Это помогает свести к минимуму устранение неполадок после развертывания и количество обращений в службу поддержки;
- На этом этапе STLC тестируются архитектура приложения и бизнес-требования. Это тестирование очень важно, и оно играет важную роль в предоставлении клиенту качественного продукта;
Критерии начала системного тестирования:
- Система должна соответствовать критериям окончания интеграционного тестирования, то есть все test cases должны быть выполнены, и не должно быть открытых критических ошибок или ошибок с приоритетом P1, P2;
- System Test Plan должен быть одобрен и подписан;
- Test cases/scenarios/scripts должны быть готовы к выполнению;
- Все нефункциональные требования должны быть доступны, и для них должны быть созданы test cases;
- Среда тестирования должна быть готова;
Критерии окончания системного тестирования:
- Все test cases должны быть выполнены;
- В открытом состоянии не должно быть критических, приоритетных или связанных с безопасностью ошибок;
- Если какие-либо ошибки со средним или низким приоритетом находятся в открытом состоянии, они должны быть исправлены с согласия клиента;
- Отчет о выходе (Exit Report) должен быть отправлен;
Чем отличается системное тестирование от сквозного (E2E - end-to-end testing)?
Сквозное тестирование - это методология тестирования программного обеспечения для тестирования flow приложения от начала до конца. Целью сквозного тестирования является моделирование реального пользовательского сценария и проверка тестируемой системы и ее компонентов на предмет интеграции и целостности данных.
Системное тестирование - этап предпоследний этап STLC и уровень тестирования, а E2E - подход к тестам. Обычно сквозные тесты выполняют после системного тестирования и перед приемочным, а также после внесения изменений (smoke и regression). E2E выполняется от начала до конца в реальных сценариях, таких как взаимодействие приложения с оборудованием, сетью, базой данных и другими приложениями. Основная причина проведения этого тестирования - определение различных зависимостей приложения, а также обеспечение передачи точной информации между различными компонентами системы.
Источники:
- What Is System Testing - A Ultimate Beginner’s Guide
- What Is End To End Testing: E2E Testing Framework With Examples
Доп. материал:
- ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013 “D.10 Подпроцесс тестирования системы”
- What is End-to-End (E2E) Testing?
- Лекция 7: Разновидности тестирования: системное и регрессионное тестирование