Если вы работаете в Agile-команде, то периодически вам придется (или "у вас будет возможность", зависит от ваших взглядов) браться за задачи, находящиеся вне вашей "зоны комфорта", или как минимум отличающиеся от ваших обычных дел. В течение нынешнего спринта у меня было свободное время, а в проекте накопился приличный технический долг, относящийся к качеству кода, и команда решила, что неплохо бы с ним частично разделаться. Я никоим образом не разработчик, но кое-что понимаю в коде (я и не шеф-повар, но ужин приготовить могу), поэтому я усмотрел в этом возможность получить дополнительный опыт по чтению, интерпретированию и правке кода. В нашем нынешнем проекте мы используем SonarQube в качестве платформы для управления качеством. Я никогда раньше не работал с этим инструментом, поэтому ничего особенного от него не ожидал, но пока что мне все нравится.
Пока я вдумчиво разбирался с кодом, удаляя ненужные куски и переписывая нужные, меня осенило мыслью, что код наших автотестов, тесно связанный с кодом продукта, не оценивается с точки зрения требований к качеству, которые мы предъявляем к продукту. В этой статье я бы хотел обсудить, хорошо это или плохо – оценивать качество кода автотестов.
Аргумент "за": создание автотестов – это разработка ПО.
Успешное внедрение автоматизации требует к себе отношения, аналогичного отношения к любому другому проекту по разработке ПО: автоматизация требует планирования, внятного дизайна и наличия разработчиков автотестов, которые знают толк в своем деле. Почему бы не отнестись к коду автотестов так же, как и к коду продукта, вплоть до оценки его качества? Как и любой другой код, созданный в течение жизненного цикла ПО, код ваших автотестов должен быть читабелен и легок для поддержки. Под "легким для поддержки" я имею в виду возможность исправлять и дополнять его после того, как создавший автотесты гений перешел на другую должность или покинул компанию. Опять-таки, мы же поступаем так с кодом продукта, почему бы не поступать так с автотестами?
Прошел обучение в одной крупной компании на автоматизатора.
Во время обучения предложили выполнить задание по нагрузочному тестированию, после которого меня позвали на собеседование (нагрузочное тестирование). Если я удачно прошел собеседование, то у меня будет возможность выбора между автоматизацией и нагрузочным тестированием. Теперь я колеблюсь между выбором направления.
Сам я проходил переобучение по специальности программирование. Знаю Java, JS, Servlet's, немного Spring/Hibernate, SQL, Android, могу написать небольшое веб-приложение. Опыта в мануальном тестировании нет.
Я мало чего знаю об автоматизации и нагрузочном тестировании, но, как я понял, в нагрузочном надо неплохо разбираться не только в Java, но и в сетях, БД, статистике, много разнообразных задач. Вакансий по нагрузочному тестированию практически нет.
Куда можно двигаться дальше из нагрузочного тестирования? Какие перспективы роста? Можно ли потом уйти в разработчики? Сколько времени понадобиться, чтобы стать более или менее нормальным специалистом в автоматизации и в performance testing?
Не давно начал разбираться в автоматизации и не совсем понятно, с помощью чего было бы более целесообразно писать автоматизированные тест кейсы для веб сервисов. Необходимы советы бывалых тестировщиков, которые знаю все ЗА и ПРОТИВ.
Этот курс предназначен для тех, кто хочет научиться проводить нагрузочное тестирование при помощи HP Load Runner.
Данный инструмент используют до 70% крупных компаний по всему миру при проведении нагрузочного тестирования, так как он позволяет эмулировать нагрузку на системы с разной архитектурой и написанными на разных платформах.
На занятиях мы рассмотрим основные функции и настройки, которые Вам потребуются на первых порах.
Обучение будет на тренировочном web-приложении и мы пройдем все этапы проведения нагрузочного тестирования на одном примере от анализа задачи на проведение тестирования, создания профиля и до написания отчета о выполнении тестов.
В курсе используется HP Load Runner версии 12.53 Community Edition. Не удивляйтесь :) это полностью бесплатная лицензия, которая позволяет провести полноценное нагрузочное тестирование для небольших систем.