Что такое тестирование?
•процесс проверки соответствия программы требованиям и выявления дефектов
Тестирование позитивных сценариев
Тестирование негативных сценариев
•Тестирование позитивных сценариев проверяет, как должна работать программа в нормальных условиях
•Тестирование негативных сценариев проверяет, как программа ведет себя в необычных или некорректных ситуациях
Альфа
Бета
Альфа-тестирование проводится внутри компании-разработчика.
Бета-тестирование проводится после успешного завершения альфа-тестирования. Продукт предоставляется ограниченной группе внешних пользователей (бета-тестерам) для тестирования в реальных условиях.
Тестирование по проверке корректности на уровне модулей, начала тест, потом код
TDD
Цели тестирования
Обнаружение ошибок
Подтверждение корректности
Повышение надежности
Статическое тестирование
Динамическое тестирование
•Статическое тестирование – это вид проверки ПО, который выполняется без запуска программы
•Динамическое тестирование – это вид проверки программного обеспечения, который выполняется во время работы программы
4 уровня тестирования
Модульное - отдельные методы, классы
Интеграционное - взаимодейтсиве между компонентами
Системное - единое целое
Приемочное - проверка заказчика
Тестирование по проверке бизнес-требований
Основные принципы тестирования, 2шт
•Тестирование не доказывает отсутствие ошибок
•Раннее тестирование экономит время и деньги
Ручное тестирование
Автоматизированное тестирование
•Ручное тестирование – это проверка программного обеспечения вручную, без использования автоматизированных инструментов
•Автоматизированное тестирование – это проверка ПО с использованием специальных программных инструментов, которые выполняют тесты автоматически, без участия человека
Интеграционное тестирование. Что проверяем?
•Работу с БД
•Взаимодействие микросервисов
•API
Модель AAA в модульном тестировании
Arrange-Act-Assert
Arrange (Подготовка)
•Инициализация объектов, настроек, входных данных
•Создание заглушек (mock-объектов)
Act (Действие)
•Вызов тестируемого метода с подготовленными данными
•Обычно одна строка кода
Assert (Проверка)
•Верификация результата (соответствие ожиданиям)
•Проверка состояния системы после выполнения
Этапы тестирования, 6шт
1.Проработка требований к продукту
2.Анализ требований
3.Разработка стратегии и плана тестирования
4.Создание тестовой документации
5.Тестирование
6.Эксплуатация и поддержка
Функциональное тестирование
Нефункциональное тестирование
•Функциональное тестирование проверяет соответствие программы или системы заранее определенным функциональным требованиям и ожиданиям
•Нефункциональное тестирование проверяет нефункциональные аспекты программы – производительность, безопасность, надежность, масштабируемость и совместимость
Системное тестирование бывает 3-х видов
•Функциональное тестирование
•Нагрузочное тестирование
•Тестирование безопасности
Тестирование «черного ящика»
Тестирование «белого ящика»
Тестирование «серого ящика»
•Тестирование «черного ящика» – это способ проверки программного обеспечения, когда тестировщик не знает внутренней структуры или деталей работы самой программы
•Тестирование «белого ящика», наоборот, предполагает, что тестировщик имеет доступ к внутренней структуре и коду программы
•Тестирование «серого ящика» – это комбинация тестирования «черного ящика» и «белого ящика». Тестировщик знает некоторые детали внутренней структуры программы, но не обладает полной информацией о них