Баннер мобильный (1) Пройти тест

Автоматизированное тестирование: что это?

Гайд по основам автотестирования с пояснениями от эксперта и подборкой инструментов

Разбор

16 апреля 2024

Поделиться

Скопировано
Автоматизированное тестирование: что это?

Содержание

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

    Рассказываем, что такое автотестирование, для чего оно подходит и какие инструменты нужны, чтобы освоить автоматизацию тестирования с нуля.

    Что такое автоматическое тестирование

    Автотестирование (autotesting) — это способ тестирования продукта с использованием специальных программ. QA-инженер на основе тестового сценария пишет автотест, который проверяет код на ошибки, прогоняет на продукте разные пользовательские сценарии, тестирует базовый функционал, собирает ошибки в итоговый отчет. Данные автоматизированного и ручного тестирования собирают вместе, чтобы передать их разработчикам и улучшить продукт.

    Какие виды тестирования можно автоматизировать

    Автотестирование — это хороший способ избавить QA-инженеров от рутины постоянно повторяющихся тестов и снизить риски, что тестировщик пропустит серьезную ошибку. Написать автотесты можно для:

    • Дымового тестирования (smoke testing). Это проверка базовых функций ПО: работает ли форма входа в приложение, можно ли открыть его на разных устройствах, доступен ли API.
    • Модульного тестирования (unit testing). Это проверка кода отдельного модуля, функции приложения.
    • Нагрузочного тестирования. Это тип тестирования, который можно выполнить только автоматизированно. В процессе автотест генерирует большое количество пользователей в приложении, чтобы проверить, сколько оно может обработать и не сломаться.
    • Интеграционных тестов. Проверяют, насколько хорошо отдельные модули работают вместе, и правильно ли они передают друг другу данные. Например, ведет ли форма покупки билетов туда, куда должна вас вести — к странице оплаты.
    • Регрессионных тестов. Они помогают защитить уже существующий качественный код от багов, которые возникают при обновлении.

    Сергей Рудик, QA-ментор в Skillfactory:

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

    Возможно ли автоматизированное тестирование без ручного?

    Нет. Как минимум потому, что автоматизированное тестирование нужно организовать, а значит, сначала сделать что-то руками.

    Сергей Рудик, QA-ментор в Skillfactory:

    Без опыта ручного тестирования в QA никуда. Автотестирование не заменяет на 100% всю работу тестировщиков. Сначала нужно в любом случае проверить продукт руками: посмотреть, что в нем есть, какие нужны сценарии тестирования, чтобы его проверить, составить тест-кейсы, сценарии и чек-листы. Всем этим занимаются люди, а на основе этих документов потом пишут автотесты. 

    Читайте также: Что такое тестирование ПО, зачем оно нужно и кто им занимается

    Также в тестировании очень важно помнить, что пользователь может вести себя непредсказуемо, поэтому каждому продукту нужен взгляд человека. Ручное тестирование важно при проверке UI и UX: автотест может подтвердить, что кнопки правильного цвета и работают, но не может сказать, насколько удобно и интересно взаимодействовать с приложением.

    Как начать автоматизацию тестирования?

    В первую очередь нужно составить тест-кейсы: это документы, в которых прописано, что нужно проверить, какие шаги для этого предпринять и какие результаты должно показать приложение. Например, если вам нужно протестировать поисковую строку на сайте, сценарий будет состоять из проверки строки ввода, кнопки «поиск», реакции сайта на неудачный поиск, работу кнопки-крестика для отмены поиска. У каждого из этих элементов есть ожидаемый результат, если его не происходит — автотест в отчете должен вам об этом сообщить.  

    Затем нужно выбрать фреймворк тестирования — это платформа или набор инструментов, которые будут использоваться для написания и реализации автотестов.

    Сергей Рудик, QA-ментор в Skillfactory:

    Писать автоматизированные тесты можно на Java, Python, Go. Найти заготовки для различных тестов, на основе которых вы подготовите собственный тест, можно в библиотеках: например, PyTest, Selenium. Python и PyTest помогают писать тесты для проверки бэкенда, API. На Selenium можно проверить интерфейс и создать эмуляцию браузера. Этих инструментов достаточно для старта в автоматизированном тестировании.

    По данным исследования Skillfactory, от продвинутых кандидатов на позицию тестировщиков-автоматизаторов также ждут:

    • Владение SQL, GraphQL, JSON — чтобы запрашивать нужные данные из базы, HTTP — чтобы искать ошибки в коде сайтов и веб-приложений.
    • Умение работать с ПО для разработки: Git — для хранения версий кода, Postman — для тестирования бэкенда сайта, DevTools — чтобы проверять фронтенд сайта.
    • Знание ПО для управления данными: ORACLE, PostgreSQL, Grafana, REST API.

    После того как инструменты выбраны и тесты написаны, можно запускать проверку и ждать ответа от автоматизированной системы. Итогом работы автотеста должен стать баг-репорт — отчет об ошибках, которые передают команде разработки на исправление.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии