1.29M
Category: programmingprogramming

01.02 Автоматизация тестирования (3)

1.

Автоматизация
тестирования

2.

Автоматизация тестирования
Автоматизация тестирования – использование специального ПО (помимо тестового ПО),
для выполнения и контроля выполнения тестов, а также сравнения ожидаемого и
фактического результатов работы ПО.
Автоматизация тестирования ПО позволяет осуществлять выполнение часто
повторяющихся рутинных и необходимых для максимизации тестового покрытия задач.

3.

Преимущества
1. Скорость и эффективность — автоматизированные тесты выполняются быстрее, чем
ручное тестирование, что позволяет проверить больше сценариев за короткий период
времени.
2. Повторяемость — автоматизированные тесты могут быть легко повторены и
использованы для регрессионного тестирования.
3. Уменьшение ошибок человеческого фактора — автоматизация устраняет вероятность
ошибок, связанных с человеческим фактором, таких как пропуск тест-кейсов или
невнимательное чтение результатов.
4. Снижение затрат — хотя первоначальные затраты на автоматизацию могут быть
высокими, в долгосрочной перспективе они окупаются за счет уменьшения времени на
тестирование и предотвращения дорогостоящих ошибок.

4.

Когда используют?
• Тестирование больших и сложных систем с множеством взаимосвязанных
компонентов.
• Регрессионное тестирование, когда нужно проверить работоспособность существующих
функций после внесения изменений в код.
• Тестирование производительности, нагрузки и стресса, где требуется симуляция
большого числа пользователей и запросов.
• Тестирование безопасности, где необходимо проверить систему на уязвимости и
потенциальные атаки.

5.

Основные виды автоматизированного
тестирования
• автоматизированное тестирование кода, т.е. тестирование на уровне программных
модулей, классов и библиотек;
• автоматизированное тестирование графического пользовательского интерфейса,
позволяющее генерировать пользовательские события, т.е. нажатия клавиш, события от
манипулятора графической информации ("мыши"), отслеживающие реакцию ПО и
соответствие этой реакции спецификации;
• автоматизированное тестирование программного интерфейса ПО, предназначенного
для взаимодействия с другим ПО.

6.

Структура инструментальной системы

7.

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

8.

9.

Инструменты

10.

Selenium
Selenium — это один из инструментов для
автоматизации веб-приложений. Он
поддерживает различные языки
программирования, такие как Java, C#,
Python и др. Selenium позволяет
автоматизировать браузерные действия и
тестировать веб-приложения на различных
платформах и браузерах. Selenium состоит
из нескольких компонентов.

11.

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

12.

Appium
Appium — это инструмент для
автоматизации мобильных приложений. Он
поддерживает автоматизацию для iOS и для
Android приложений. Appium использует
WebDriver протокол, что делает его
совместимым с Selenium.
Appium позволяет автоматизировать
тестирование мобильных приложений на
реальных устройствах и эмуляторах. Он
также поддерживает различные языки
программирования и фреймворки.
English     Русский Rules