ТЕСТИРОВАНИЕ презинтация

1.

ТЕСТИРОВАНИЕ
Выполнил: Слепцов Евгений КИСП-9-22(2)

2.

Определение тестирования
Тестирование — это неотъемлемая и критически
важная фаза в жизненном цикле разработки
программного обеспечения. Это
систематический и организованный процесс,
направленный на исследование программного
кода, приложения или системы с целью оценки
их качества, функциональности и соответствия
заданным требованиям.

3.

Цели тестирования
Убедиться, что продукт полностью соответствует техническим требованиям.
Найти ошибки на начальных этапах, чтобы снизить стоимость их исправления.
Проверить продукт с точки зрения конечного пользователя.
Обеспечить стабильную работу программы и сохранить доверие
пользователей.
Предоставить команде объективные данные о качестве продукта для
своевременного релиза.

4.

Тестировщик
Ключевые
Основные
Роль в команде:
задачи:
навыки:
Тестировщик
(QA-инженер) — это специалист,
Тестировщик
Анализ
Аналитическое
технических
выступает
мышление
требований
независимым
икачества
внимание
и проектной
экспертом
к
который обеспечивает
контроль
и "адвокатом
документации
деталям
пользователя",
на полноту
ивсех
тестируемость
программного
обеспечения
наобеспечивая
этапах
объективную оценку качества продукта. Он
разработки. Его главная задача — не просто найти
●работает
Проектирование
Понимание
в тесном
жизненного
взаимодействии
тестовых
цикла
сценариев
разработки
с
(тест-ПО
ошибки,
а
предотвратить
их
появление
и
разработчиками,
кейсов) и чек-листов
аналитиками и менеджерами
убедиться,
что
конечный
продукт который
полностью
●проекта,
Знание
чтобы
принципов
создатьтест-дизайна
продукт,
и
не
соответствует
ожиданиям
пользователей
и
●только
Выполнение
методологий
технически
функционального,
тестирования
исправен, но и удобен вбизнесиспользовании.
регрессионного и других видов тестирования
требованиям.
● Умение работать с системами отслеживания
● ошибок
Документирование дефектов с подробным
описанием шагов воспроизведения
● Коммуникативные навыки для эффективного
● взаимодействия
Подготовка отчетов
с командой
о качестве продукта и
рекомендаций по его улучшению

5.

Отличия тестирование между тестировщиком
и разработчиком
Критерий
Разработчик
Тестировщик
Основная цель
Проверка корректности реализации технических
требований и логики кода
Комплексная проверка соответствия продукта бизнес-требованиям и
пользовательским ожиданиям
Подход
"Белый ящик" - тестирование с полным
пониманием архитектуры и исходного кода системы
"Черный ящик" - тестирование функциональности без знания внутреннего
устройства системы
Фокус проверок
Проверка работы отдельных модулей, компонентов
и их интеграции между собой
Исследование работы системы в целом, включая пользовательские
сценарии и пограничные случаи
Типичные методы
Модульное тестирование отдельных функций,
интеграционное тестирование взаимодействия
компонентов
Функциональное, регрессионное, приемочное тестирование, тестирование
пользовательского интерфейса
Контекст работы
Глубокое понимание технической реализации и
ограничений выбранных технологий
Понимание бизнес-логики, пользовательских сценариев и требований к
качеству продукта

6.

Уровни тестирования
Уровни тестирования — это
этапы проверки программного
обеспечения, которые
организованы по степени
детализации и объему
тестируемых компонентов.
Каждый уровень фокусируется
на разных аспектах системы.
Основная цель уровней —
обеспечить поэтапную
проверку качества на всех
стадиях разработки, сокращая
риски и затраты.
Модульное тестирование (Unit Testing)
Проверка минимальных компонентов системы — функций, методов или классов. Основная задача —
убедиться в корректности работы отдельных единиц кода и отловить базовые ошибки реализации.
Интеграционное тестирование (Integration Testing)
Проверка взаимодействия между модулями, компонентами или системами. Фокусируется на
корректности передачи данных, работе API и интерфейсов. Выявляет проблемы совместимости и
нарушения контрактов между модулями.
Системное тестирование (System Testing)
Полная проверка всей интегрированной системы на соответствие техническим требованиям.
Тестирование выполняется в среде, максимально приближенной к рабочей, и включает проверку
всех функциональных и нефункциональных характеристик.
Приемочное тестирование (Acceptance Testing)
Финальная проверка системы на соответствие бизнес-требованиям и готовность к эксплуатации.
Выполняется на реальном окружении с участием заказчика или конечных пользователей. Результат
определяет возможность выпуска продукта.

7.

Этапы процесса тестирования
Планирование и анализ
Начальный этап, включающий изучение требований и создание тестовой стратегии. В ходе планирования определяются
ключевые параметры: объем тестирования, сроки выполнения работ, необходимые ресурсы и приоритеты для проверки
функциональности.
Проектирование тестов
Этап создания тестовой документации, где разрабатываются тест-кейсы и чек-листы. Параллельно подготавливается тестовое
окружение и данные, а также формируются сценарии для последующей автоматизации проверок.
Выполнение тестирования
Практическая реализация запланированных проверок, включающая запуск тест-кейсов и документирование результатов. Все
обнаруженные дефекты фиксируются в системе баг-трекинга, после исправлений проводится регрессионное тестирование.
Анализ и отчетность
Завершающая фаза процесса, в ходе которой анализируются результаты тестирования и формируются метрики качества. На
основе полученных данных подготавливаются итоговые отчеты и рекомендации для команды разработки.

8.

Виды тестирования: Функциональное
тестирование
Функциональное тестирование — это фундаментальный вид проверки программного обеспечения,
который направлен на верификацию того, что каждая функция системы работает в строгом соответствии
с техническими требованиями и спецификациями. Оно отвечает на ключевой вопрос: "Что делает
система?"
Задача — убедиться, что все функции приложения работают корректно и предсказуемо, обеспечивая
базовую работоспособность продукта.
Проверка осуществляется через пользовательский интерфейс или API-интерфейсы, имитируя реальные
сценарии взаимодействия пользователя с системой. Тестирование строится на основе детальных
функциональных требований и спецификаций, охватывая как позитивные сценарии работы, так и
обработку некорректных действий и данных.
Плюсы: Выявление критических ошибок в бизнес-логике, обеспечение базовой работоспособности.
Минусы: Требует четких требований, не оценивает производительность и надежность системы.

9.

Виды тестирования: Нефункциональное
тестирование
Нефункциональное тестирование — это комплексная проверка характеристик программного
обеспечения, которые не связаны с конкретными функциями, но определяют качество работы системы в
различных условиях эксплуатации.
Задача — оценить, насколько хорошо система выполняет свои функции, с точки зрения
производительности, надежности, удобства использования и других ключевых атрибутов качества.
Исследует такие аспекты как отзывчивость интерфейса под нагрузкой, устойчивость к пиковым
запросам, интуитивность навигации и совместимость с различными платформами. Проводится с
использованием специализированных инструментов и метрик.
Плюсы: Позволяет выявить проблемы производительности и удобства на ранних этапах, значительно
повышает пользовательское удовлетворение.
Минусы: Требует специальных знаний и инструментов, сложность автоматизации и измерения
результатов, более высокая стоимость проведения по сравнению с функциональным тестированием.

10.

Виды тестирования: Белый ящик
Тестирование белого ящика — это метод тестирования программного обеспечения, при котором
проверяющий имеет полный доступ к исходному коду и внутренней структуре системы. Тестировщик
анализирует внутреннюю логику программы, а не только ее внешнее поведение.
Цель — обеспечить максимальное покрытие кода тестами, выявить скрытые дефекты в логике
выполнения, оптимизировать внутреннюю структуру программы и проверить корректность всех путей
выполнения.
Для проведения тестирования требуются специальные навыки программирования и знания внутренней
архитектуры системы. Используются методы анализа потоков данных, покрытия операторов, ветвей и
условий. Часто применяется при модульном и интеграционном тестировании.
Плюсы: Возможность найти скрытые ошибки в логике, измерение точного покрытия кода, раннее
выявление дефектов в цикле разработки.
Минусы: Высокие требования к квалификации тестировщика, трудоемкость процесса, невозможность
выявления пропущенных требований.

11.

Виды тестирования: Черный ящик
Тестирование черного ящика — это метод тестирования программного обеспечения, при котором
проверка осуществляется без знания внутренней структуры и реализации системы. Тестировщик
анализирует только входные и выходные данные программы.
Цель — проверить соответствие функциональности системы заявленным требованиям и ожиданиям
пользователя, выявить ошибки в поведении программы и убедиться в корректности работы всех
функций.
Тестирование проводится через пользовательский интерфейс без доступа к исходному коду. Основные
методы включают эквивалентное разделение, анализ граничных значений, таблицы решений и
тестирование на основе сценариев использования.
Плюсы: Проверка с позиции конечного пользователя, не требует знаний программирования, выявление
расхождений с требованиями.
Минусы: Невозможность тестирования внутренних путей выполнения, ограниченное покрытие кода,
зависимость от полноты требований.

12.

Виды тестирования: Серый ящик
Тестирование серого ящика — это комбинированный метод тестирования, при котором проверяющий обладает
частичным знанием внутренней структуры системы. Тестировщик имеет доступ к архитектурной документации,
базам данных или API, но не к полному исходному коду.
Цель — объединить преимущества черного и белого ящика для более эффективного поиска дефектов, связанных с
неправильной реализацией требований и некорректным взаимодействием компонентов системы.
Тестирование проводится с использованием знаний о внутренней архитектуре для проектирования более точных
тестовых сценариев, но без глубокого погружения в реализацию. Особенно эффективно при интеграционном
тестировании и проверке сложных бизнес-процессов.
Плюсы: Более целенаправленное тестирование по сравнению с черным ящиком, высокая эффективность при
ограниченных ресурсах, возможность тестирования сложных сценариев взаимодействия.
Минусы: Требует базовых технических знаний, но не полного понимания кода, возможность пропуска
специфических внутренних ошибок, зависимость от качества документации.

13.

Виды тестирования: Дымовое тестирование
Дымовое тестирование — это предварительная проверка базовой функциональности системы после
сборки новой версии программного обеспечения. Основная задача — убедиться, что ключевые функции
работают и нет критических ошибок, блокирующих дальнейшее тестирование.
Цель — быстрая проверка стабильности сборки и определение возможности проведения более
глубокого тестирования. Позволяет избежать напрасной работы тестировщиков на нестабильных
версиях продукта.
Проверка ограниченного набора наиболее важных функций, занимает минимальное время.
Выполняется в первую очередь после получения новой сборки. Часто автоматизируется для ускорения
процесса.
Плюсы: Быстрое выявление критических проблем, экономия времени и ресурсов команды, раннее
обнаружение блокирующих ошибок.
Минусы: Поверхностная проверка, не заменяет полноценное тестирование, может пропустить
значительные, но не критические дефекты.

14.

Спасибо за внимание!
English     Русский Правила