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

Содержание
Введение
WEB
Desktop
Выбор языка программирования
Автотестирование API
Производительность
CI/CD
Связанные статьи
Автоматизация тестирования изображение с сайта www.andreyolegovich.ru
Automated Testing
freepik.com

Введение

Обычно под автоматизацией тестирования подразумевается что-то из списка:

  1. Использование софта для симуляции действия пользователя на сайте.
  2. Использование софта для симуляции действия пользователя в приложении.
  3. Автоматическое тестирование API
  4. Создание инструментов, которые помогают тестировщикам
  5. Написание скриптов для тестирования производительности
  6. Внедрение тестовых скриптов в существующий CI/CD процесс.

Как в русскоязычной, так англоязычной среде нет на сто процентов устоявшегося термина для автоматизации тестирования.

Частота запросов по фразам Test Automation и Automated Testing в Google сопоставима в США.

Автоматизация тестирования изображение с сайта www.andreyolegovich.ru
Automated Testing vs Test Automation в США
google.com

Но в мире более популярным является вариант Test Automation

Автоматизация тестирования изображение с сайта www.andreyolegovich.ru
Automated Testing vs Test Automation в мире
google.com

WEB: Симуляция действий пользователя

Более современная библиотека для симуляции браузера - PlayWright

В автотестировании сайтов, или как это можно ещё назвать - Web UI Testing, в основном всё было завязано на Selenium

Можно изучить эту библиотеку и использовать вместе с одним из следующих языков программирования:

Выбор языка

Так как и Selenium и Playwright поддерживают работу с совершенно разными языками программирования перед начинающим тестировщиком может встать вопрос - на каком из них стоит изучать автоматизацию.

Если вы уже работаете тестировщиком и хотите начать автоматизацию в той же компании - ответить на этот вопрос сможет DevOps инженер или тот, кто выполняет эту функцию, сисадмин или кто-то из разработчиков.

Решающий фактор - это имеющаяся инфраструктура. Ваши автотесты будут интегрированы в существующий CI/CD процесс и делать это желательно самым органичным образом.

Например, если все используют Maven то и тесты желательно писать на Java а если везде Ruby то вам возможно нужно присмотреться к Watir а не к чистому Selenium.

Что делать, если вы пока нигде не работаете?

Советую изучить сайты с вакансиями и выучить ту связку язык-фреймворк, на которую больше спрос.

Я пользовался следующими связками:

Python я выбрал, потому что немного знал язык + он присутствует во многих вакансиях.

Java я выбрал, потому что это наиболее родной язык, часть Selenium написано на Java + в интернете довольно много самоучителей именно по этой связке.

Пара слов про библиотеку Selenium.

Учить сам Selenium необязательно. Существует несколько фреймворков более высокого уровня с «более простыми» командами, рассчитанные на непрограммистов.

Самый популярный из них это, пожалуй Robot Framework

Есть ещё Watir

Cucumber и другие.

С появлением Playwright многие проекты переориентируются на него с Selenium.

Изображение баннера

Автоматическое тестирование десктоп приложений

Существует ряд фреймворков, которые позволяют имитировать действия пользователя в десктопных приложениях.

Под Windows мне доводилось использовать проприетарный TestComplete и Opensource библиотеку PyWinAuto

В данный момент не имею достаточно опыта с последней, но уже столкнулся с ситуацией, где TestComplete не разобрался с WPF объектами а PyWinAuto справился.

Другие фреймворки/библиотеки для тестирование десктопа

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

Первый шаг к автоматическому тестированию API - это изучение обращений к API с помощью какого-либо инструмента.

Как обращаться к REST API с помощью Python 3 вы можете узнать здесь

Примеры обращений к API GitHub с помощью curl можете изучть здесь

Создание инструментов для тестировщиков

Не самая очевидная трактовка термина автоматизация, но мне приходилось этим заниматься. Допустим тестировщик для проведения теста делает одни и те же действия вручную, например, что-то скачивает или устанавливает.

Разработчик написал скрипт, который будет делать часть этих действий на порядок быстрее.

Этот скрипт очевидно является автоматизацией.

Он участвует в процессе тестирования

Сам по себе тестом не является.

В данном случае я склоняюсь к том, что разработчик поучавстовал в автоматизации тестирования. Если написание таких скриптов - это его основная деятельность, можно назвать его инженером по автоматизации тестирования. Даже если созданные инструменты ничего не тестируют напрямую их вклад в эффективность тестирования может достигать значений близких к 100%.

Написание скриптов для тестирования производительности

В этой дисциплине понадобится знание хотя бы одного языка программирвоания.

Выбор широк и завист от стэка компании. Но в целом это может быть как Bash Scripting так и Python или Golang

Пример простейшего Bash скрипта, который мониторит состояние системы можете изучить здесь

Внедрение тестовых скриптов в существующий CI/CD процесс.

Это совсем другая история и учить нужно инструмент, который используют для CI/CD . Это может быть

или что-то ещё.

Умение грамотно интегрировать свои тесты - это первый шаг в направлении к DevOps

Изображение баннера
Похожие статьи
Тестирование ПО
Учебник по тестированию API
Тестирование API
Автоматизация тестирования
Теория
Selenium
Playwright
Тестирование с помощью Python
Robot Framework
PyWinAuto
TestComplete
JMeter
JUnit
Locust

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: