Стартовый набор тестировщика: инструменты, библиотеки и ресурсы - Академия Selectel

Стартовый набор тестировщика: инструменты, библиотеки и ресурсы

Дмитрий Домлоджанов
Дмитрий Домлоджанов Технический писатель
23 августа 2024

Начинаете свой путь в тестировании и ищите полезные источники? Собрали для вас подборку рекомендаций от экспертов.

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

Тестирование — это кропотливый труд. Однако новичкам найти полезные ресурсы бывает сложнее, чем отыскать баг. Решили помочь и попросили коллег-экспертов из Selectel поделиться рекомендациями.

Python-библиотека Requests

Одно из ключевых преимуществ библиотеки — простота. При тестировании бэкенда с помощью Requests можно написать много тестов для проверки API.

Валентина разработчик в тестировании

С ее помощью удобно работать с HTTP-запросами, тестировать методы POST, GET, PUT, DELETE и сравнивать получаемые ответы. При этом можно проверить возвращаемые сервером данные (response), в том числе код ответа. Это обеспечивает покрытие и негативными, и позитивными сценариями. 

Узнать больше о библиотеке →

Искусство тестирования программ

Ключевые преимущества — хорошая структура и множество примеров. Для новичков книга поможет сформировать первичную базу знаний. Однако как и в случае с изданием «Компьютерные сети», профи могут периодически обращаться к подобным изданиям как к справочнику.

Артем инженер по тестированию

Труд Гленфорда Майерса содержит описание классических принципов тестирования мобильных и интернет-приложений, проектирования тестов. Помимо прочего, из книги вы узнаете, как применять коллективный подход при разработке и тестировании приложений.

Книга в интернет-магазине →

Инструмент автотестирования на Python

Инструмент Tox позволяет подготовить и настроить среду для тестирования с помощью конфигурационного файла tox.ini. При запуске создает виртуальные окружения (с учетом указанных версий Python), устанавливает зависимости и запускает тесты.

Валентина разработчик в тестировании

Подробнее об инструменте →

Tox на GitHub →

Тренажер CSS diner

Скриншот интерфейса инструмента.
Скриншот интерфейса инструмента.

Полезно перепроходить и новичкам, и профи. Вы научитесь выбирать селекторы в автотестах и избегать длинных конструкций.

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

Перед пользователем на экране предстает группа HTML-элементов: прыгающих яблок, тарелок и бенто. Чтобы убрать любой из предметов, нужно написать подходящий CSS-селектор.

Опробовать инструмент →

Rally и Tempest

Инструменты, с которыми работаю достаточно давно. В связке они обеспечивают достаточное и актуальное покрытие системы.

Валентина разработчик в тестировании

Tempest — обширная база тестов на Python для компонентов OpenStack. При этом с каждым релизом последнего тесты актуализируются. Также можно установить дополнительный готовый фреймворк или написать свой, чтобы расширить базу тестов.

С помощью Rally можно запускать эти тесты, создавать окружения для верификации, тестировать производительность и генерировать графические отчеты. Инструмент позволяет запустить полный набор тестов или отдельные наборы. 

Узнать, как мы автоматизировали тестирование OpenStack с помощью Rally и Tempest →

Сети — это база

«Компьютерные сети»

Сети пригодятся во многих сферах IT, тестирование — не исключение. В книге простым языком описываются базовые термины, ключевые сетевые протоколы и технологии. Подойдет для студентов и начинающих специалистов.

Артем инженер по тестированию

Для состоявшихся специалистов издание может стать подробным справочным материалом, который пригодится в сложной ситуации. Авторы разбирают в книге вопросы сетевой безопасности, беспроводной передачи данных, сетей TCP/IP и не только.

Книга на сайте издательства →

Курс «Как работают сетевые протоколы»

В Академии Selectel есть бесплатный образовательный курс — «Как работают сетевые протоколы». В нем подробно рассматриваем сетевую модель OSI и ряд самых часто используемых протоколов. Всего 12 материалов, на знакомство с которыми уйдет около трех с половиной часов.

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

Курс в Академии Selectel →

Интересные материалы от экспертов

Как тестировать Kubernetes

Kubernetes — ключевой инструмент для оркестрации контейнеров на рынке, поэтому его тестирование требует особого подхода. Для тривиальных сценариев можно использовать kubectl или Sonobuoy. Однако для сложных интеграционных тестов, которые работают с Kubernetes API, понадобятся кастомные решения. Артем, инженер по тестированию в Selectel, рассказал о настройке таких тестов с помощью Python.

Узнать, как тестировать кластеры Kubernetes→

Как провести юнит-тестирование приложений с БД

Сегодня многие приложения используют трехуровневую архитектуру с БД в слоях данных. Юнит-тесты упрощают поддержку продукта, но когда в архитектуре присутствует база данных, часто приходится искать нестандартные решения.

Разработчик Владимир делится методами и инструментами, которые используют при разработке продуктов Selectel. Автор рассматривает способы тестирования с Python 3, PyTest и SQLAlchemy, но подходы можно адаптировать для других инструментов.

Узнать больше о юнит-тестировании приложений с БД →

Как решить проблему с остаточными ресурсами

Автоматизация тестирования — важная часть работы с облаками, но всегда есть свои нюансы. Одна из проблем — «подвисшие» ресурсы после тестов, которые занимают проектные квоты и влияют на стабильность пайплайна. Валентина, разработчик по тестированию в Selectel, поделилась, как решить эту задачу с помощью инструмента Tempest Cleanup.

Узнать с какими трудностями столкнулись, как их преодолевали и что получилось →

Советы начинающим тестировщикам

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

Валентина разработчик в тестировании

Всегда полезно изучать официальную документацию — так вы лучше поймете продукт и сэкономите время. На старте многие пренебрегают этим. Также мне помогает поддерживать навыки программирования платформа LeetCode, где можно решать задачи по кодированию.

Артем инженер по тестированию