Я заметил, что тема тестирования производительности все еще остается не до конца понятной для большинства тест-инженеров. Мы стремимся сфокусировать внимание на функциональном аспекте тестирования, оставляя производительность, масштабирование и настройку на усмотрение разработчиков. Разве не является стабильность существенной составляющей качества программного продукта? Особенно во времена распределенной обработки данных, когда мы масштабируем приложения независимо друг от друга и всецело рассчитываем на внедрение интеграций по HTTP протоколу. Другим существенным фактором является возможность расширения систем. Для того, чтобы справиться с увеличением трафика, мы должны быть осведомлены об ограничениях пропускной способности.
Существует несколько хорошо известных тестировщикам инструментов, таких как JMeter, Gatling, Tsung и т.д. И хотя они довольно просты в использовании, анализ полученных результатов и выводы на их основании представляют для тестировщиков сложность. Во время проведения собеседований на позицию QA инженера я часто встречаю кандидатов, утверждающих, что у них есть опыт в области тестирования производительности, но, по факту, не обладающих знаниями метрик и основных понятий с ним связанным. Поскольку основной задачей тестирования производительности является не знание инструментария, а данные, полученные с его помощью, цель этой статьи - рассмотреть основные аспекты этой сферы тестирования.
Каждый руководитель должен понимать, на что способна его команда в целом и каждый сотрудник в отдельности. Понимание это достигается применением тех или иных техник, и сейчас я расскажу Вам о своей практике на примере одного из проектов, на котором я работал еще до поступления в ЛК.
Итак, меня назначили на должность тимлида группы тестирования, состоящей из 8 человек (далее «команда»): 1 ведущего, 3 старших и 4 «обычных» специалистов. Имея экспертные знания о продукте, я пока еще не представлял уровень подготовки членов команды, из-за чего не был уверен в качестве тестирования сложных задач и не мог правильно выделить время на их проверку. Задача выбора исполнителя для каждой доработки и оценки трудозатрат решалась непросто и далеко не всегда эффективно. Работа шла по схеме «сами берите в работу те задачи, которые лучше знаете».
Аддоны к браузерам вряд ли пригодятся в автоматизации тестирования web-систем, но при ручном тестировании они могут оказаться полезны. К примеру, можно заполнять элементы на выбранной странице, исходя из своих условий и входных данных. Ниже рассмотрено создание такого аддона для Firefox и Chrome без претензий на красоту кода.
Задача: разработать аддон для Firefox и расширение для Chrome со следующей функциональностью:
1. В тулбаре появляется кнопка (иконка).
2. При нажатии на эту кнопку анализируется URL активной страницы (вкладки). Если URL – один из заранее заданных URLs, то при нажатии на кнопку тулбара скрипт берет пару “пользователь-пароль” из опций в зависимости от URL и заполняет поля ввода логина и пароля на странице. Далее скрипт нажимает кнопку логина.
"Обращайтесь с читателями так, как вы хотели бы, чтобы обращались с вами. Пишите Gherkin так, что люди, не знающие фичу, поймут, о чем это".
Хороший Gherkin (как и любой язык, основанный на specification-by-example) неразрывно связан с созданием хороших заголовков для поведенческих сценариев. Заголовок – это лицо сценария: он резюмирует суть поведения. Хорошие заголовки серьезно облегчают сотрудничество в команде, а плохие – затрудняют его. Но что же делает заголовок "хорошим"? Вот несколько неплохих советов.
Тестирование на проникновение является одной из методик выявления областей системы, уязвимых для вторжения и компрометации целостности и достоверности со стороны неавторизованных и злонамеренных пользователей или сущностей. Процесс тестирования проникновения включает в себя умышленные санкционированные атаки на систему, способные выявить как ее наиболее слабые области, так и пробелы в защите от сторонних проникновений, и тем самым улучшить атрибуты безопасности.
Данная методика также может быть использована в качестве дополнения к другим методам проверки для оценки эффективности комплекса защиты системы от различных типов неожиданных вредоносных атак.
Сегодня утром я получила письмо, которое, в частности, гласило:
У меня появилась возможность попробовать себя в роли тест-тренера на моем нынешнем рабочем месте (6-7 команд из 4-5 разработчиков).
У меня состоялась встреча с руководителем разработки, и она хочет, чтобы я стала практически тест-консультантом. Она ожидает от меня создания системы, в которой я задаю командам вопросы, вскрывающие ключевые проблемы тестирования. Она также хочет иметь ключевые метрики, которыми можно измерять успех.
Мой вопрос в том, есть ли у вас набор вопросов или подход, позволяющий командам открыть для себя свои крупнейшие проблемы тестирования? Можете ли вы подсказать, что почитать на эту тему, или какой-либо подход?
Вот лично мой подход к старту карьеры в роли тест-тренера.
На тренинге Вы получите исчерпывающие ответы на наиболее актуальные вопросы построения эффективной, минимизирующей усилия / траты Архитектуры того или иного решения Автоматизации тестирования.
На тренинге Вы научитесь выбирать метрики и инструменты работы с ними, внедрять их на проекте, сможете с нуля разработать ROI калькулятор и узнать как эффективно его использовать.
Благодаря тренингу Вы научитесь проводить собеседования, делегировать задачи и ответственность, мотивировать команду, развивать сотрудников, налаживать коммуникации и эффективно управлять своим временем.
Описание и подробную программу можно посмотреть по ссылкам выше.
Автоматизация мобильных приложений – молодая отрасль. В ней пока мало наработанных решений, готовых фреймворков и стабильных утилит. Тестировщик, выбирающий стек автоматизации, далеко не всегда может оценить популярность и нужность той или иной утилиты, ведь знания о них разрознены и труднодоступны.
В этом видео я рассказываю о всех популярных инструментах автоматизации, от драйверов и простых надстроек до универсальных комбайнов, рассматриваю их популярность и целесообразность использования. Если вы не знаете, какой фреймворк выбрать и стоит ли работать с Appium – посмотрите это видео, станет понятнее.
Тестировщики исследуют проблемы и риски, а другие люди управляют проектом, проектируют его и пишут код. Как тестировщики, мы, конечно, участвуем в этом процессе, но делаем это особенным образом и смотрим на него по-своему: наша основная задача – это предсказывать, искать, и находить проблемы.
Мы не предотвращаем проблемы – не мы занимаемся проектированием, построением и исправлением продукта. Мы можем помочь предотвратить дальнейшее распространение существующих проблем путем поиска багов, недопониманий, вопросов, рисков, и доведения их до сведения команды. С нашей помощью те, кто делает продукт и управляет им, борются с проблемами, которые мы обнаружили, и предотвращают появление куда худших проблем в будущем.
Это самая масштабная внешняя IT-конференция ЕРАМ. На ней специалисты компании рассказывают о том, с какими необычными задачами сталкивались на проектах и как находили решения. А еще делятся ценными лайфхаками.