Software Test Automation
Introduction | |
WEB: mostly user simulation | |
Choosing programming language | |
API auto tests | |
Performance testing scripts | |
Integrating tests to CI/CD | |
Related Articles |
Introduction
Обычно под автоматизацией тестирования подразумевается что-то из списка:
- Использование софта для симуляции действия пользователя на сайте.
- Автоматическое тестировани API
- Написание скриптов для тестирования производительности
- Внедрение тестовых скриптов в существующий CI/CD процесс.
WEB: Симуляция действий пользователя
Более современная библиотека для симуляции браузера - PlayWright
В автотестировании сайтов, или как это можно ещё назвать - Web UI Testing,
в основном всё было завязано на
Selenium
Можно изучить эту библиотеку и использовать вместе с одним из
следующих языков программирования:
Выбор языка
Так как Selenium поддерживает работу с совершенно разными языками программирования
перед начинающим тестировщиков может встать вопрос - на каком из них стоит
изучать автоматизацию.
Если вы уже работаете тестировщиком и хотите начать автоматизацию в той же компании -
ответить на этот вопрос сможет
DevOps
инженер или тот, кто выполняет эту функцию, сисадмин или кто-то из разработчиков.
Решающий фактор - это имеющаяся инфраструктура. Ваши автотесты будут интергрированы
в существующий CI/CD процесс и делать это желательно самым органичным образом.
Если все используют, скажем, Maven то и тесты желательно писать на
Java
а если везде
Ruby
то вам возможно нужно присмотреться к Watir а не к чистому Selenium.
Что делать, если вы пока нигде не работаете?
Советую изучить сайты с вакансиями и выучить ту связку, на которую больше спрос.
Я пользовался связками
- Selenium + Java
- Playwright + Python
- Selenium + Python
- Selenium + Robot Framework
- RFBrowser + Robot Framework
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 . Это может быть
- TeamCity
- GitLab
- Jenkins
или что-то ещё.
Умение грамотно интегрировать свои тесты - это первый шаг в направлении к DevOps