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

Содержание статьи
Введение
WEB: Симуляция действий пользователя
Выбор языка программирования
Автоматическое тестировани API
Написание скриптов для тестирования производительности
Внедрение тестовых скриптов в существующий CI/CD процесс.
Тестирование API изображение с сайта www.andreyolegovich.ru Фото: freepik.com

Введение

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

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

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

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

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

Выбор языка

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

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

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

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

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

Я пользовался связками

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

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

Selenium

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

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

Есть ещё Watir

Cucumber и другие.

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

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

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

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

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

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

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

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

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

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

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

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

Полезный софт и другие материалы

Статьи о Тестировании
Учебник по тестированию API
Тестирование API
Тестирование с помощью Python
Robot Framework
Selenium
Selenium + Java
Selenium + Python
SOAP UI
JMeter
JUnit
Wireshark
Команды Bash для тестировщика
Clumsy 0.2
Jira
Pivotal Tracker
Интеграционное тестирование
Где учиться на тестировщика
Интервью с тестировщиками
Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: