129.43K
Category: softwaresoftware

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

1.

Автоматизация тестирования для HR
www.andersenlab.com

2.

План лекции
Что такое автоматизация тестирования
Цели автоматизации тестирования
Какие задачи решает автоматизация тестирования
Преимущества автоматизации
Недостатки автоматизации
Что нужно автоматизировать
Что не нужно автоматизировать
Стеки
Что стоит ожидать от Junior специалиста
Что стоит ожидать от Middle специалиста
Что стоит ожидать от Senior специалиста
Какие вопросы можно задать

3.

Что такое автоматизация тестирования
Организация и независимость тестирования
Автоматизация тестирования (test automation) – это набор техник,
подходов и инструментальных средств, позволяющий исключить
человека из выполнения НЕКОТОРЫХ задач в процессе тестирования.
Test automation tool – это программа (или набор программ),
позволяющая создавать, редактировать, отслеживать и выполнять
автоматизированные тесты, а также собирать статистику их

4.

Цели автоматизации тестирования
Сократить стоимость и время тестирования;
Чтобы уменьшить избыточность;
Для ускорения процесса тестирования;
Помочь улучшить качество продукта;
Улучшить тестовое покрытие;
Сократить ручное вмешательство;
Написание и запуск различных тестов;
Оперативно предоставлять заказчику информацию о состоянии продукта.

5.

Какие задачи рашает автоматизация тестирования
Проверка ссылок
Проверка работоспособности стандартного, типичного для множества проектов
функционала.
Проверка стандартных элементов управления.
Базовая проверка безопасности.
Тестирование производительности и нагрузочное тестирование.
Смоук-тест для крупных систем.
Регрессионное тестирование.
Конфигурационное тестирование (проверка работоспособности приложения при
разных настройках).
Часто повторяющиеся тесты, простые для автоматизации.
Длительные утомительные для человека тесты.

6.

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

7.

Недостатки АТ
Недостатки автоматизации тестирования
Необходим квалифицированный персонал;
Необходимы специальные инструментальные средства (зачастую – ОЧЕНЬ дорогие);
На автоматизацию часто возлагают неоправданные надежды, что ведёт к срывам сроков и
прочим проблемам;
Все области применения/продукта не могут быть автоматизированы. Там будут
определенные ограничения в определенных областях.
Необходима грамотная стратегия разработки и управления тестами, тестовыми данными и
т.п.;
В случае серьёзных изменений в приложении многие автоматизированные тесты становятся
бесполезными и/или требуют серьёзной переработки;

8.

Уровни
тестирования
Что автоматизируем
Что нужно автоматизировать
Бизнес-критические пути: фичи или пользовательские сценарии, при падении которых будет нанесен
существенный урон бизнесу.
Тесты, которые должны прогоняться на каждом билде/релизе приложения – например, smoke, sanity,
регресс.
Тесты, которые нужно прогонять на разных конфигурациях – разных операционных системах и браузерах.
Тесты, которые используют один и тот же сценарий, но разные данные для каждого прогона (тесты,
управляемые данными).
Тесты, которые завязаны на большие объемы данных (заполнение очень больших форм).
Тесты, которые могут быть использованы для тестирования производительности (стресс, нагрузочное
тестирование).
Тесты, которые занимают много времени на выполнение и могут быть запущены во время перерывов или
ночью.
Тесты, во время которых необходим захват изображения, чтобы доказать, что приложение ведет себя
верно, или проверка того, что веб-страницы одинаково выглядит в разных браузерах.

9.

Что не автоматизируем
Что не нужно автоматизировать
Тесты, которые прогоняются только один раз. Единственное исключение – если этот тест запускается с
большим объемом данных. Даже если вы запустите его всего один раз, может, имеет смысл
автоматизировать его.
Тесты пользовательского опыта и удобства использования, требующие реакции пользователя на простоту
использования приложения.
Тесты, которые нужно запустить очень срочно. Обычно новая, только что разработанная фича требует
быстрой обратной связи, и ее тестируют вручную.
Тесты, которые требуют доменного знания и опыта – исследовательское тестирование.
Прерывающиеся тесты. Тесты с предсказуемыми результатами не особенно ценны. Чтобы получить
наилучший выхлоп от автоматизации, тесты должны давать предсказуемые и надежные результаты, чтобы
проходить pass/fail условия.
Тесты, требующие визуального подтверждения. Однако мы можем делать скриншоты страниц во время
автотестов, а затем вручную проверять их.
Тесты, которые не могут быть на 100% автоматизированы, не должны быть автоматизированы вообще,
если только их автоматизация не сэкономит значительное время.

10.

Стеки
Selenium Webdriver - популярный инструмент для управления реальным браузером, который можно
использовать как для автоматизации тестирования веб приложений, так и для
выполнения других рутинных задач, связанных с работой в вебе.
Java - TestNG, JUNit, JBehave, Serenity, Kotlin, Selenide
JS - Protractor, Jasmine, Typescript, Mocha, Chai
C# - NUnit, MStest, Specflow
Python - PyTest, PyUnit

11.

Junior специалист
Junior знает
Что такое автоматизация тестирования.
Какие задачи решает автоматизация тестирования, зачем нужна автоматизация тестирования.
Цели автоматизации тестирования.
Ко всем ли проектам применима автоматизация?
Минимальный опыт работы с инструментом.
Знать набор базовых аннотаций (атрибутов), запуск тестов.
Знать что такое CI.
Слышал об инструментах CI (Jenkins, TeamCity, TFS).

12.

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

13.

Senior специалист
Senior умеет и знает
Расширение или переопределение возможностей инструмента.
Опыт работы и настройка CI на проекте с микросервисной или сервисной архитектурой,
может рассказать pipeline.
Изменение порядка выполнения тестов.
Интеграция с тест кейс менеджмент системами.
Тестовая стратегия и этапы(порядок) внедрения автоматизации на проекте.
Фигура тестирования для frontend проекта (много тестов для веб части и совсем немного unit)
Фигура тестирования для backend проекта (много unit тестов и немного для веба)
Интеграция с инструментами CI (интеграция тестов с Jira )
Формат вывода результатов – предоставить отчет в том виде, в котором хочет заказчик
видеть.

14.

Что спросить?
Какие вопросы можно задать
Работал ли кандидат с готовым решением на проекте или сам писал с 0 фреймворк,
возможно дорабатывал что-то
Репортеры(отчеты по прохождению тестов) - подключал ли он сам допустим allure (один из
основных)
Параллельный запуск тестов - есть ли у кандидата такой опыт и каким образом он это делал.
REST\SOAP работал ли с ними
Делал ли интеграцию своих тестов с Jira (например), чтобы там смотреть последние
результаты прохождения тестов
Делал ли Code Review

15.

Спасибо за внимание!
www.andersenlab.com
English     Русский Rules