Тестировщик программного обеспечения (по)

Содержание

Часть 2 — Развитие и сопровождение процесса автоматизации тестирования

12. Оценка эффективность автоматизации

1. Оценка эффективности автоматизации в целом.

  1. Необходимо прикинуть время, необходимое тестировщикам (или программистам, если они занимаются автоматизацией), на разработку набора автотестов, покрывающих определённый модуль или функции проекта — это будет TAuto.
  2. Прикинуть время, необходимое тестировщикам на разработку тест-кейсов и чек-листов, которые будут использоваться в тестировании данной функциональности — это будет TMan.
  3. Посчитать (или прикинуть, если функции еще не разработаны) время, которое будет затрачено на однократное тестирование функций вручную — это будет TManRun.
  4. Прикинуть время, которое будет затрачено на переделку автотестов в случае изменения функций — это будет TAutoRun.
  5. Прикинуть время, которое будет затрачено на анализ результатов выполнения автотестов — это будет TAutoMull.
  6. Очень ориентировочно посчитать планируемое количество итераций в данном продукте до его завершения (если есть точные данные по числу циклов разработки — конечно же использовать точные данные ) — это будет N.
  7. Приблизительно прикиньте количество сборок продукта, требующих повторного тестирования в рамках одного релиза. Среднее число возьмём за R.

TManTotal = N*Tman + N*R*TManRun TAutoTotal = TAuto + N*TAutoRun + N*R*TAutoMull TManTotal >= TAutoTotal 2. Оценка эффективности автотестов1. Динамичные изменения функциональности.2. Дублирование работы. 3. Оптимизация времени выполнения.4. Логика запуска тестов.Приоритетность тестов:

  • Критический
  • Мажорный
  • Минорный
  • Тривиальный

Модульная принадлежность тестов:


  • Модуль 1
  • Модуль 2
  • Модуль 3

Необходимость запуска:

  • Запускать
  • Не запускать

Время запуска:

  • По расписанию — к примеру — сборка текущего тестового/stable билда в 5 утра, к приходу на работу вас уже будет ждать отчёт о прохождении тестов.
  • При изменении приложения — перезапускать автотесты при появлении нового changeset’а в текущей тестовой ветке репозитория.
  • При изменении тестов — аналогично, при обновлении автотестов в репозитории.
  • По требованию — стандартный запуск по требованию.

Резюмируя:

13. Оценка времени выполнения задач

1. Исследовательские.

  • Можно ли вообще автоматизировать данную задачу? Возможно ответ будет нет и её нужно будет просто вернуть на ручное тестирование.
  • Какой стоит использовать инструмент для автоматизации? Возможно нужен новый инструмент и потребуется выделить время на его освоение, или достаточно старого, но придётся искать обходные пути его использования — что также займёт время.
  • Подход к вопросу оценки с точки зрения: «А сколько мы готовы потратить времени на эту задачу?». Необходимо выставить временные рамки, пересекать которые не стоит. В случае, если задача явно не решается в отведённые рамки, возможно её не стоит решать вовсе.
  • Определить критерии, по достижении которых задача будет считаться выполненной и стоит прекратить ей заниматься.

2. Тиражируемые.

  • Сбор предварительной статистики по времени выполнения похожих задач автоматизации.
  • Сбор статистики по рискам, с которыми мы сталкивались при выполнении подобных задач.

Резюмируя:Резюмируя руководство:

Тестируем карандаш

Как убедиться, что вы сможете стать хорошим тестировщиком? Для самопроверки можно выполнить традиционное задание: протестировать карандаш. В принципе, это может быть что угодно – тарелка, штора, веник или футбольный мяч. Главное, что вы «уходите» от традиционного восприятия тестирования программ. И составляете список тестов для необычного предмета.

При этом важно с одной стороны, проверить условный «карандаш» в самых разных, в том числе, необычных вариантах использования. С другой, нужно уметь вовремя остановиться

Так, проверить, что будет с карандашом, если он упадет со стола, явно нужно. Это ситуация вполне возможная. Но пытаться пропустить его через мясорубку – бессмысленно. До такого «применения» не додумается ни один «пользователь» канцелярских принадлежностей.

Как стать успешным тестировщиком

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

Если вы не любите планировать, а потом действовать строго по выстроенному плану, хорошо подумайте, стоит ли вам становиться тестировщиком.

Итак, начинаем:

  1. Обучение. Выбираем курс, запасаемся учебниками. Получаем знания.
  2. Практика. Где и как угодно – в рамках курса, бесплатное тестирование программ знакомых программистов, предложение помощи в профессиональных сообществах. Да, и не забудьте «тестировать карандаш» и другие предметы. Это развивает мышление.
  3. Составление и рассылка резюме. С полным пониманием, что этот этап не будет быстрым.
  4. Собеседование. К нему нужно быть готовым, а распространенные вопросы стоит изучить заранее.
  5. Трудоустройство. Цель достигнута.

А теперь давайте подробно разберем основные пункты, которые указали в нашем «списке успеха».

Курсы тестировщиков и самообразование

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

О курсах мнение сложилось двоякое. С одной стороны, курсы – прекрасный старт, возможность получить знания быстро и под руководством опытного профессионала. С другой – нет никакой гарантии, что вы сумеете выбрать качественный курс с действительно достойным наставником. Уже сам выбор потребует дополнительного времени и усилий. Кроме того, обучение у наставника требует определенных вложений. Не все готовы тратить деньги на получение знаний, которые можно получить самостоятельно.

Если вы сделали выбор в пользу посещения курсов, заранее изучите такие параметры:

  1. Отзывы выпускников. Самый простой метод определить качество обучения. Но читать их следует, само собой, не на сайте автора курсов, а искать по форумам, сайтам отзывов и т.д.
  2. Наличие развернутой программы. Если автор проекта пишет «я вас научу всему», но не готов подробно описать, чему именно и в какой последовательности, курсы явно не принесут никакой пользы.
  3. Максимум практики. Теорию вы сможете прочитать и в учебнике. Главное, что дают занятия с наставником, это практика и проверка того, как вы усвоили материал. Нет смысла тратить время на нудные лекции без возможности проверить новые знания на практике.
  4. Наличие сертификата или диплома. Наличие такого документа будет вашим преимуществом при трудоустройстве.

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

Где можно зарабатывать на тестировании сайтов

  • Аskusers — популярный и проверенный многими пользователями ресурс. Хотя проект довольно молодой, ему всего около года, но уже успел завоевать доверие пользователей, причем как исполнителей, так и рекламодателей.Активно работает техническая поддержка. После прохождения несложной регистрации, пользовательская анкета отправляется на ручную модерацию, поэтому все данные должны быть заполнены корректно. При положительном итоге, будущему исполнителю заданий открывается доступ для скачивания программного обеспечения для работы. Все это не займет много времени, после решения организационных вопросов сразу начинают поступать приглашения на выполнения заданий. Также здесь существует реферальная программа — участвуя в ней, можно получать 3% от заработанной суммы за выполненные задания приглашенным рефералом либо за внесение денег заказчиком usability тестирования.Также Вы можете почитать об отзывах о проекте Askusers.
  • Usertesting – американский проект, в работе которого могут принимать участие и российские интернет-пользователи. Если даже асессор не профессионально владеет иностранным языком, зарабатывать на этом ресурсе все равно можно, используя автоматический браузерный переводчик. Но будут и ограничения – задания, где отчет необходимо озвучивать своим голосом, вряд ли подойдут для таких исполнителей, ведь выражаться надо также на английском языке.Заработанные деньги асессоры получают на электронный кошелек PayPal. На сайте существует ограничение по возрасту – только с 18 лет. Помимо компьютера, выполнять работу можно и с мобильных гаджетов, тогда будет доступно больше заданий для работы.

Если серьезно подходить к заработку на тестировании сайтов, можно начать неплохо зарабатывать и превратить этот способ в основной источник дохода.

Описание курса

Начиная свой путь в отрасли тестирования, задаешься вопросами: с чего начать, как развиваться, какие знания необходимы для получения работы, как стать признанным специалистом в своей компании и востребованным на рынке труда? Компания «Лаборатория Качества» подготовила курс, который поможет ответить на все эти вопросы. Программа создана для специалистов по тестированию, как совсем начинающих, так и с опытом до 1-2 лет.

Через 8 недель курса вы:

  • Будете хорошо ориентироваться в терминологии тестирования;
  • Сможете успешно проводить тестирование (исследовательское и скриптовое);
  • Будете обладать ключевыми навыками тестирования интеграции (с использованием SoapUI) и баз данных (SQL);
  • Научитесь разрабатывать базовые автоматизированные тесты для функционального (Selenium) web-тестирования;
  • Сможете автоматизировать стандартные операции, такие как сравнение файлов, анализ логов, подготовка тестовых данных и т.д.;
  • Ознакомитесь с особенностями тестирования web-продуктов и мобильных приложений и требуемым для этого инструментарием;
  • Сможете с пользой для проекта тестировать требования и другую пользовательскую документацию;
  • Научитесь оптимальному баг-трекингу, форматам составления тестовых артефактов, ознакомитесь с самыми популярными инструментами ведения чек-листов, тест-кейсов и баг-трекинговыми системами.

Особенности курса:

  1. Максимальная практичность. Мы учим только тому, что действительно необходимо в тестировании, и закрепляем навыки на конкретных домашних заданиях. Никаких тестирований карандашей — только такие задания, которые вам действительно пригодятся.
  2. Экспертный состав. За различные вебинары отвечают отдельные эксперты в своей теме. Таким образом, вашим обучением займутся только опытные практики, ежедневно решающие задачи, о которых расскажут на своих вебинарах. Никакой бесполезной теории — только то, что действительно необходимо грамотным тестировщикам.
  3. Детальная обратная связь. Если вы что-то не поняли, или некорректно выполнили ДЗ, или не согласны — тренер будет индивидуально работать с вами до успеха. Никаких «бросить в воду и ждать, пока научится плавать» — мы будем с вами до тех пор, пока вы не поплывёте.

Куда двигаться дальше

Карьера в тестировании может развиваться очень динамично, даже если вы закончили только специализированные курсы. Это подтверждает пример знаменитого QA-гуру Джеймса Баха. В конце 1980-х он стал самым молодым менеджером по тестированию в корпорации Apple, тогда ему было всего 20 лет, а в резюме в графе «образование» – лишь средняя школа. Тем не менее, он построил успешную карьеру и стал признанным экспертом в своем деле.

Вертикальный рост

Если junior-тестировщик заинтересован в профессиональном развитии, он будет расти к уровню middle, а затем и senior-специалиста по мере приобретения необходимого опыта. Как правило, перейти на следующую позицию можно уже через 1-2 года работы. На этом вертикальный рост не заканчивается. Для тех, кто способен организовывать работу внутри команды и мотивировать коллег, есть должности руководителя команды тестировщиков (team lead) или менеджера (test manager).


В компаниях по-разному выстраивают процессы карьерного роста сотрудников, но объективный критерий для повышения – это уровень квалификации. Junior-тестировщик, как правило, работает по руководством ментора и выполняет задачи от старших коллег. Когда сотруднику начинают доверять более сложные задания, позволяют самостоятельно принимать некоторые решения, то он может претендовать на уровень Middle. Senior – это уже опытный специалист, за плечами которого несколько проектов, к нему прислушиваются коллеги, его мнением интересуется менеджмент. Если вы чувствуете, что готовы перейти на новый уровень, уточните у руководства, как это можно сделать.

Горизонтальный рост

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

Подходы к тестированию будут эволюционировать с развитием технологий. Интернет вещей, машинное обучение и искусственный интеллект привнесут в нашу жизнь множество сложных систем, которые нужно будет тестировать. Возможно, появятся такие новые должности, как «тестировщик виртуальной реальности» или «специалист по тестированию результатов глубокого анализа данных».

Как получить первую работу в QA

Где искать вакансии

Просматривайте не только агрегаторы вакансий, но и специализированные ресурсы для IT-сообщества, вроде dev.by. Проверяйте сайты IT-компаний, где информация об открытых позициях и стажировках обновляется чаще. Если вы не нашли подходящую вакансию, посмотрите, указан ли на сайте адрес, на который можно отправить резюме. Обычно таким образом крупные компании формируют свою базу кандидатов, которых приглашают на собеседование, когда появится вакантное место.

Не игнорируйте LinkedIn –  рекрутеры активно используют эту площадку. Обновите свой профайл, ориентируясь на профессию тестировщика. Используете LinkedIn, чтобы завести профессиональные знакомства. Вы можете напрямую написать HR-специалисту и узнать о вакансиях и условиях работы.

Как составить резюме

Прежде чем написать резюме, изучите, какие требования для junior-тестировщиков описаны в размещенных вакансиях. Это поможет сопоставить свои возможности с ожиданиями работодателей. Обычно список требований в вакансиях начинается с базовых знаний: теория тестирования, составление тестовой документации, понимание методологий разработки. Затем могут идти более специфические: знакомство с базами данных (формирование запросов), основы автоматизации. Если в вакансии встречается незнакомая технология, не стоит сразу отбрасывать этот вариант. Лучше выяснить, что это и для чего используется. От начинающего специалиста как раз и ждут способности быстро обучаться и осваивать новое. 

В резюме подробно представьте свои навыки, с какими видами тестирования вы знакомы, есть ли опыт участия в проектах. Можно указать предыдущее место работы, ведь прежний профессиональный опыт может стать вашим преимуществом. Если вы хорошо разбираетесь в финансах или раньше работали в медицине, ваши знания пригодятся на проектах для этих сфер. Даже хобби можно использовать при поиске работы, например, в геймдеве (индустрия компьютерных игр) ищут тестировщиков, увлеченных играми.

Как получить опыт, не выходя из дома

Поиск первой работы может занять несколько месяцев. И это время можно провести с пользой для будущей карьеры. Продолжайте осваивать тестирование не только в теории, но и на практике при помощи краудтестинга. Это онлайн-платформы, где тестировщикам предлагают удаленно работать над проектами. Наиболее популярны utest.com, test.io,  есть русскоязычная crowdtesting.ru. Работа тестировщиков на платформах оплачивается, сумма вознаграждения зависит от количества и критичности найденных багов. И самое главное – это хороший практический опыт, возможность прокачать навыки, полученные на курсах. Все это пригодится при устройстве в компанию. Проекты, над которыми вы трудились на краудтестинге, можно включить в резюме.

Как готовиться к собеседованию

Самый ответственный этап поиска работы – это собеседование. В каждой компании – свой подход к подбору сотрудников, но обычно во время встречи у кандидата стараются выяснить его мотивацию, профессиональные знания и проверяют, способен ли он мыслить нестандартно. У junior-специалиста мало практического опыта, поэтому на собеседовании обычно задают несколько теоретических вопросов. В основном спрашивают о роли тестировщика на проекте, а не о технических навыках – они придут в процессе работы.

Иногда на собеседовании могут предложить тестовое задание. Не удивляетесь, если вас попросят протестировать карандаш, чашку, лифт или даже ракету Илона Маска. Так наниматель не столько проверяет креативность кандидата, сколько его подход к работе. Не нужно придумывать, что будет с кофеваркой в открытом космосе. Действуйте как тестировщик – исследуйте объект, исходя из требований к нему. Определите, что можно проверить в рамках функционального тестирования и какие еще виды тестирования необходимы. Чтобы не растеряться, прочитайте пару примеров, как справиться с подобными необычными задачами.

Вы успешно прошли собеседование и получили работу. На какую зарплату можно рассчитывать? По данным за май 2019 года, тестировщики в нашей стране в среднем получают около 1000 долларов, а опытные специалисты (Senior QA Engineer/Tester) зарабатывают около 1900 долларов. 

Как выучиться на тестировщика


В большинстве ВУЗов и колледжей, которые готовят специалистов IT-сферы, есть программы подготовки тестировщиков. Но для получения достаточных знаний и навыков вовсе не обязательно потратить 4-5 лет жизни на учебу.

Где обучиться онлайн? В интернете есть онлайн-университеты, которые в дистанционном режиме дают всю необходимую базу, практическую отработку, помогают с трудоустройством или стажировками. Информацию о самых лучших и актуальных мы собрали для вас в статье ТОП-6 онлайн-курсов тестировщиков.

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

В перспективе есть возможность вырасти до руководителя отдела, перейти в разработку или организовать свое собственное агентство.

Нагрузочное тестирование

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

1. Генерация тестовых сценариев

Для эффективного анализа сценарии должны быть наиболее близки к реальным сценариям использования

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

Разработка тестовой конфигурации

2. Разработка тестовой конфигурации

Имея сценарии тестирования, важно распределить порядок возрастания нагрузки. Для успешного анализа необходимо выделить критерии оценки производительности (скорость отклика, время обработки запроса и т.д.).. 3

Проведение тестового испытания

3. Проведение тестового испытания

При проведении тестов важно своевременно следить за исполнением сценариев и откликом тестируемой системы. Для эмуляции высоких нагрузок требуется серьезная аппаратная и программная инфраструктура

В некоторых случаях для удешевления работ применяются методы математического моделирования. За основу берутся данные, полученные при низких нагрузках, и аппроксимируются. Чем выше уровень моделируемой нагрузки, тем ниже точность оценки. Однако подобный способ существенно сокращает расходы.

Часть третья. Зависимость уровня оплаты труда QA-специалистов от уровня владения навыками тестирования

Какими навыками лучше всего владеют QA-специалисты?

Что должен знать каждый QA-специалист?

  1. Навык локализации и заведения дефектов — Самый распространённый навык. 4 человека им совсем не владеют, 16 – плохо владеют. А 98% респондентов владеют навыком хорошо и в совершенстве.
  2. Владение системами баг-трекинга (Jira, Redmine, YouTrack, Bugzilla) – также, всего 6 человек совсем не знакомы с данным навыком.
  3. Клиентское тестирование веб-приложений – им хорошо или в совершенстве владеет 81% респондентов.
  4. Владение системами управления знаниями и хранилищами тест-кейсов (wiki, confluence и пр.) – те же 81%, но из них только 27% в совершенстве.
  5. Владение техниками тест-анализа, тест-дизайна и тестовой комбинаторики – этим навыком 58% специалистов владеет хорошо и ещё 18% в совершенстве. Стоит ли от них отставать?

Чем можно похвастать перед работодателем/коллегами?

  1. Опыт разработки скриптов нагрузочного тестирования в JMeter или аналогичных приложениях – самый редкий навык. 467 человек совсем не владеют этим навыком (46,4%). 197 человек владеют им на достаточном уровне (19,6%). Всего 49 человек владеют им в совершенстве, причем, 36 из них зарабатывают более 1500$.
  2. Владение системами отчётности результатов автотестов (Allure, пр.) − на достаточном уровне владеет 204 специалиста.
  3. Владение драйверами и надстройками для автоматизации тестирования – 241 специалист.
  4. Владение тестовыми фреймворками для автоматизации (TestNG, JUnit и пр.) – 272 специалиста.

Интересно:

Какие навыки оплачиваются лучше всего?

Скромнее всего (до 1410$ в мес.)Недалеко от них (до 1560$ в мес.)Ещё лучше (до 1660$ в мес.)Ну, а в если вам нравится цифра 1770$Интересно:

Заключение: портреты QA-специалистов

Скромник

Портрет QA специалиста с уровнем оплаты труда до 600$.Место жительства:Работодатель:Формат работы:Образование:Категория/должность:Опыт работы:Хорошо владеет:Должен владеть как минимум:

Средний класс

Портрет QA специалиста с уровнем оплаты 600-1500$.Место жительства: Работодатель:Формат работы:Категория/должность:Опыт работы:Хорошо владеет:Помимо базового набора владеет:

Зажиточный

Портрет QA специалиста с уровнем оплаты 1500-2300$.Место жительства: Работодатель:Образование: Категория/должность: Опыт работы: Хорошо владеет:Должен дополнительно владеть:

Толстосум

Портрет QA специалиста с уровнем оплаты труда от 2300$.Место жительства:Работодатель:Формат работы:Образование:Категория/должность:Опыт работы:Хорошо владеет:В обязательный багаж навыков входят:


С этим читают