Рекомендации даны для желающих заниматься, как web-разработкой, так и тестированием на Python. Плюс в данном блоге указан ряд полезных ссылок на эту тему…
Junior Python должен знать и уметь следующее:
✔️По умолчанию: знание ручного тестирования + техники тест-дизайна;
✔️Сам Python + понимание объектно-ориентированного программирования;
✔️Реляционные БД (PostreSQL и/или MySQL);
✔️Linux (работа в консоли, основы администрирования, nginx) - разработчик должен уметь настроить рабочее окружение, а тестировщик должен уметь работать в этой среде;
✔️IDE или редактор кода (для тестировщиков - Pycharm, разработчиков - Sublime Text 2, VIM, EMACS);
✔️GitHub;
✔️GitLab
✔️Allure Framework;
✔️Docker;
✔️Jenkins;
✔️Основы JavaScript / HTML / CSS - будет очень полезно знать;
✔️Django - один из самых популярных web-фреймворков на Python – для разработчиков, и понимание основ – для тестировщиков;
✔️Pytest + Selenium
✔️Английский, желательно средний уровень для комфортного входа в профессию.
101+ вопросов по автоматизации и тестированию вручную
Что должен знать и уметь тестировщик
Что должен знать Junior перед первым собеседованием
Не типовые задания на собеседовании
ТОП-25 безплатных курсов QA-tester
Шпаргалка
Полезная информация:
"Python Testing with pytest" Brian Okken - Это отличная книга, которая поможет вам освоить методы тестирования на Python с использованием pytest. Она покрывает основы тестирования, такие как написание модульных тестов, тестирование функций и классов, а также работу с фикстурами.
"Test-Driven Development with Python" Harry Percival - Это книга, которая научит вас тестированию вашего кода по принципу TDD. Она научит вас писать тесты перед написанием кода, чтобы обеспечить его работоспособность. Книга также содержит практические упражнения, которые помогут закрепить полученные знания.
"Python Testing Cookbook" Greg L. Turnquist - Эта книга предлагает множество примеров и рецептов для тестирования на Python. Она охватывает различные аспекты тестирования, включая модульное тестирование, интеграционное тестирование, работу с базами данных и API, а также UI-тестирование.
"Python for Testers: Learn Python, Course Manual" Andrew Knight - Это руководство предназначено специально для тестировщиков, которые хотят изучить Python. Книга охватывает базовые концепции языка Python и его основные функции, которые могут быть полезны при написании автоматизированных тестов.
"Effective Python Testing with PyTest" Brian Okken - Это практическое руководство по использованию pytest для тестирования Python-кода. Книга содержит много примеров и практических советов по повышению эффективности ваших тестов.
Также есть ещё ряд русскоязычных книг:
"Тестирование ПО. 3-е издание" Святослав Куликов - В основу книги положен многолетний опыт проведения тренингов для тестировщиков, позволивший обобщить типичные для многих начинающих специалистов вопросы, проблемы и сложности. Эта книга будет полезна как тем, кто только начинает заниматься тестированием программного обеспечения, так и опытным специалистам — для систематизации уже имеющихся знаний и организации обучения в своей команде.
"Тестирование Dot COM" Роман Савин - Этот курс лекций создан для тех, кто хочет обучиться тестированию, получить работу тестировщика в российской или западной интернет-компании, понять, как вести себя в корпоративном окружении, и добиться профессионального и личностного роста. Здесь вы найдете проработанную структуру, профессиональное изложение те-мы, множество примеров и советов, а также «...легион того, о чем вам напрямую не напишут и не скажут, но что может быть не менее важно для выживания в софтверной компании, чем профессиональные знания».
Для начинающего тестировщика на Python рекомендуется изучить следующие основные темы:
Основы языка Python: Изучите основные концепции Python, включая типы данных, переменные, условные операторы, циклы, функции и классы. Понимание основ языка Python поможет вам писать эффективные и чистые тестовые сценарии.
Модульное тестирование: Изучите, как писать модульные тесты на Python. Узнайте, как использовать стандартный модуль unittest или популярные фреймворки тестирования, такие как pytest или nose. Узнайте, как создавать тестовые сценарии, проверять ожидаемые результаты и управлять фикстурами.
Интеграционное тестирование: Изучите, как тестировать взаимодействие между различными компонентами системы. Узнайте, как писать тесты для баз данных, веб-сервисов, API и других внешних зависимостей.
Автоматизированное тестирование интерфейса пользователя (UI): Изучите, как писать тесты для автоматизированного тестирования интерфейса пользователя. Определите, как работать с инструментами автоматизации тестирования, такими как Selenium или PyAutoGUI, для взаи-модействия с интерфейсом пользователя.
Тестирование производительности: Изучите, как измерять и оценивать производительность вашего кода. Узнайте, как писать тесты производительности, которые помогут вам идентифи-цировать узкие места и улучшить производительность вашего приложения.
Отладка и профилирование: Изучите различные методы отладки, профилирования и логирования вашего кода на Python. Узнайте, как использовать инструменты, такие как pdb и logging, для идентификации и устранения ошибок в вашем коде.
Тестирование безопасности: Изучите основы тестирования безопасности и узнайте, как писать тесты для проверки уязвимостей и защиты вашего кода от атак.

