Найти в Дзене

Язык программирования Питон для тестировщиков

Что такое Python?
Этот язык даже называют по-разному. Для кого-то он Пайтон, для кого-то Питон. В текстах встречаются как русифицированное написание, так и на латинице, поэтому буду использовать оба варианта. Рассмотрим основные особенности языка. Это объектно-ориентированный язык программирования с динамической семантикой. Он способен определять типы данных и осуществлять синтаксический анализ во время выполнения программы. Поскольку Питон является интерпретатором, текст программы не нужно компилировать. Он выполняется построчно и одновременно с этим обрабатываются ошибки кода. Питон настолько удобен, что он позволяет задать способ обработки ошибок и не прерывать выполнение программы.

Чем Python отличается от Java?
Этот вопрос возникает потому, что оба языка являются интерпретаторами и служат для одних целей. Предполагалось, что на Питоне программы будут работать медленнее. Для выполнения математических операций это действительно так. Программа на Питоне вначале определяет тип переменных, потом производит над ними вычисления. В языке Java переменные вначале объявляются, затем производятся над ними вычисления. За счет этого программы на Питоне содержат в 3-5 раз меньше кода и вопрос, что выполнить быстрее, 3 медленных строки на Питоне или 15 быстрых на Java, часто решается в пользу Питона. Но если в программе много вычислений, то программные модули можно написать на Java, а связующий программный код написать на Питоне.

Почему программы на Python такие короткие?
В язык программирования Python встроены высокоуровневые типы данных. Не нужно выдумывать сложные структуры данных, писать сложные запросы для извлечения и обработки больших массивов данных. Достаточно написать несколько строк на Питоне, и задача будет решена. Таким образом этот язык программирования используют специалисты по Data Science. Для обработки данных в языке Python существует большое количество библиотек функций. Некоторые из них рассмотрим далее.

Как язык программирования Python используется в тестировании?
Для тестировщиков важно уметь использовать возможности языка Python и вспомогательные библиотеки для разработки автотестов. Автотесты представляют собой программный код на языке Питон для тестирования веб и Windows-приложений через пользовательский интерфейс. Разработка автотестов для веб-приложений начинается с использования Selenium WebDriver для записи последовательности действий пользователя. Затем из Selenium можно импортировать тест в Python 3, подключить необходимые модули стандартной библиотеки, такие как:

  • itertools создает бесконечные или конечные циклы, которые можно использовать для генерации чисел;
  • functools содержит функции высокого уровня, в аргументе которых также содержится функция. К этим функциям относятся функция сравнения, функции работы с кэшем и др.;
  • collections содержит специализированные классы контейнеров, отличающиеся от dict, list и tuple;
  • datetime позволяет управлять датами и временем, представляя их в удобном для пользователя виде;
  • time используется для решения задач, связанных со временем: отложить исполнение заданного потока на указанное количество секунд, показать местное время и др.;
  • urllib создает запросы на открытие URL-адресов с использованием множества протоколов, но чаще HTTP, позволяет проводить базовую аутентификацию, работать с файлами cookie;
  • random позволяет генерировать случайные числа, буквы, элементы последовательности.

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

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

Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию