Алексей Сёмин

Руководитель отдела тестирования компании Globus, которая занимается разработкой мобильных приложений и сайтов для крупных заказчиков, таких как «Яндекс», «Лаборатория Касперского», ABBYY, Rutube, «СТС Медиа», HeadHunter, «ТНТ Клуб», «Связной Трэвел», «PPF Страхование жизни», VimpelCom и других. Более шести лет в профессии. Прошёл весь путь от junior-тестировщика до руководителя отдела.

Мой путь тестировщика начался с любопытства. С самого детства я занимался сборкой компьютеров и установкой ПО, в ходе работы регулярно возникали вопросы: «Почему не устанавливается? Почему не работает?». В этот момент я подумал, что хочу стать тестировщиком, заниматься выпуском качественного ПО и узнать ответы на все эти вопросы.

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

Собеседование

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

Например, задаём необычные вопросы, чтобы посмотреть, как мыслит человек:

  • Самолёт вылетает из точки А в 17:00, а прилетает в точку Б в 19:00. При этом находится в полёте три часа. Почему такое может быть?
  • Как сделать так, чтобы, получив обновлённое приложение, конкуренты не смогли узнать его новые функции?

Будьте готовы и к самому обычному заданию - протестировать простой предмет: лист бумаги, карандаш, сетевой фильтр и тому подобное.

Также для собеседования будет полезно:

  1. Изучить виды тестирования: функциональное и исследовательское тестирование, автоматизированные тесты (включая инструменты для него), нагрузочное и стресс-тестирования, smoke-тестирование.
  2. Дополнительно почитать о приёмочном тестировании и его критериях.
  3. Если мы говорим о тестировании веб-приложений, то это браузерная консоль и её работа, количество и версии браузеров, разрешения мониторов, инструменты тестирования вёрстки (pixel perfect).
  4. Если мы говорим о мобильных приложениях, это виды платформ, эмуляторы, monkey testing. Не забудьте о планшетах.
  5. Изучить виды баг-трекеров. Самые популярные: Jira, BugZilla, RedMine, Mantis. Посмотрите, как они работают, в чём их особенность.
  6. В перспективе - инструменты Jmeter, Postman, Charles. Они не очень сложны в освоении на базовом уровне.

Первый рабочий день

Первый рабочий день проходит стандартно: выдают компьютер, который нужно настроить, установить рабочие программы. Системный администратор готовит доступы к почте и корпоративным внутренним программам.

Не стоит спрашивать, где установить Skype, использовать в нём ник со школьных времён gangsta_666 или забавную картинку. Используйте в нике сочетание имени и фамилии, например ivansmirnov или smirnovivan, поставьте свою обычную фотографию.

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

Первое задание

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

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

Коллеги будут удивлены, если составите чек-лист в виде , например в Xmind.net .

Чек-лист для тестирования Pokémon GO

Одним из первоочередных видов тестирования для начинающего QA-специалиста, возможно, станет прохождение по чек-листам, тест-кейсам более старших специалистов. Этот этап необходим для более быстрого погружения в проект. Для наращивания тестовой базы новичок может сам расширять этот чек-лист. Junior-тестировщики в рамках обучения написанию чек-листов подготовили лист для тестирования приложения Pokémon GO. Тут описаны только позитивные кейсы.

Первый баг в трекер

Описание багов в разных компаниях может различаться, но в целом есть принципы хорошего тона.

Тема

В ней описывают проблему несколькими словами. Лучше, если она будет начинаться с отрицания: «не работает», «не происходит», «неправильно» и прочее. Например: «Не происходит синхронизация с сервером на iPhone 6», «Не работает воспроизведение видео в Nexus 5».

Сценарий

Пошаговое описание воспроизведения бага. Обращайте внимание на предусловие и знаки, которые предшествуют багу (например, загорелась красная кнопка слева).

Дополнительно можно приложить скриншоты с указанием мест, на которые стоит обратить внимание (можно использовать приложения Joxi , LightShot и другие), для более сложновоспроизводимых багов - записать видео. Когда наберётесь опыта, можете снимать и прикладывать логи.

В конце сценария указывается среда, в которой проводилось тестирование: версия приложения, прошивка девайса (Android 6.0.1, iOS 9.3.2). Если это веб-приложение, дополнительно укажите версию браузера.

Назначение бага

Далее нужно назначить на кого-то баг. Узнайте у менеджера проекта или ментора, на кого вешать данный баг, кто из разработчиков за какую область проекта отвечает. Так вы познакомитесь с командой, чтобы в будущем самому назначать баги.

Проставление критичности

Виды критичности багов в большинстве трекеров представлены следующим списком:

Immediate (Blocker)

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

Crit - Urgent

Критическая ошибка, нарушена ключевая бизнес-логика. Проблема приводит к временному падению сервера или приложения без возможности её решения. Устранение проблемы необходимо для тестирования.

High

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

Normal

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

Low

Тривиальная ошибка, не касается бизнес-логики приложения. Проблема сторонних библиотек или сервисов, плохо воспроизводится, малозаметна ввиду пользовательского интерфейса.


Самообучение

О важности самообучения все прекрасно знают - мои наставления будут банальны. Так что сразу к делу.

  • «Тестирование DOT COM», Роман Савин - очень полезное пособие, практически настольная книга начинающего тестировщика. Содержит в себе львиную долю знаний для того, чтобы начать тестировать и успешно отвечать в ходе собеседования на вопросы, касающиеся технико-теоретической части.
  • «Как тестируют в Google» - более глубокая книга, описывающая организацию процессов, различные стратегии и подходы к тестированию. Книга помогает понять, что такое качество, как и на каких этапах на него можно влиять.
  • «A Practitioner’s Guide to Software Test Design», Lee Copeland - в книге расписаны виды тестирования как «белым», так и «чёрным» ящиком. Перечислены различные техники тестирования, а также то, как ими пользоваться и когда лучше применять. В книге можно найти интересную статью об исследовательском тестировании, которая очень полезна для начинающих тестировщиков.

Коллеги, напишите в комментариях названия интересных книг для тестировщиков. Уверен, всем будет полезно.

Заключение

В заключении хочется добавить,что выпуск качественного продукта - процесс нелёгкий и небыстрый. Нужно уметь отстаивать своё мнение в переговорах, убеждать разработчиков делать правильно, а не на «костылях», понимать, как сделать функциональность более удобной для пользователей.

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

Проблема системная, т. к. весьма неплохо, когда HR ищут по ключевым словам вроде «нагрузочное тестирование», «функциональное». Но когда в процессе рассмотрения делается акцент не на навыки тестирования, не на активность и гибкость кандидата, а на конкретный инструмент - это уже проблема, особенно когда никакого тестирования нет в помине (есть обезьянничество), и не факт, что требуемый инструмент эффективнее того, который знает соискатель. Проблема в том, что знание мелкого нюанса или инструмента, на освоение которого уйдёт несколько часов, ставится во главе угла, выше знания языков программирования или теории. В одном из интервью было достаточно смешно было отвечать на вопросы: «назовите какую-нибудь книгу по тестированию» и, ответив про Сэма Канера, услышать: «мы такого не знаем, а про жизненный цикл бага что-нибудь читали?». Это было бы смешно, если бы не было так грустно. Грустно, когда HR сообщает об отказе из-за отсутствия опыта у кандидата, хотя дело к неправильном расставлении акцентов.

Найти хорошего тестировщика - большая проблема, т. к. инженер-тестировщик - это, в идеале, человек, который разрешает технические проблемы, связанные с разработкой ПО, эдакий problem solver. Такому человеку, помимо технических навыков очень важно иметь внимательность, пытливый ум, быть активным и уметь донести мысль и отстоять свою точку зрения на любом уровне.В каком-то роде, тестировщики - это исследователи из мира разработки ПО. Поэтому в руках инженера-тестировщика легко узнаваемый символ - лупа (линза), наблюдающая за жучками. Как нельзя лучше характеризует она работу тестировщика: используется как по прямому назначению для выявления дефектов, так и для «прожигания дырочек», с её помощью можно добывать огонь и даже, имея целую систему линз, наблюдать за звёздами. Главное - уметь это делать.

Ремарка №5

В компании Intel главенствует подход, в котором инструменты выбираются из предпочтений сотрудников на проекте. Это означает, что, в целом, неважно, какой инструмент и язык выбрать для решения задачи, главное - её решить. Сосуществование трёх разных тест инженеров, пишущих на трёх разных языках вполне допустимо, если проблема решается, решается эффективно и накладные расходы на поддержку разумны, а процесс документируется. Кроме того, многие используемые инструменты являются бесплатными, open-source или собственной разработки. На сегодняшний день существует огромное количество инструментов, с помощью которых возможно решать разнообразные задачи, и выбор инструментов не должен ограничивать возможности инженера. Однако, если для задачи действительно требуется использовать какой-то инструмент, отличный от свободно доступного, то при наличии чёткого понимания и обоснования, можно купить и использовать его. Это опять-таки соответствует целям бизнеса - не забивать гвозди микроскопом, не работать эффективно, выжимая максимум из инструментов, если квалификация инженеров позволяет обойтись «малыми потерями». Хорошей альтернативой является также участие в открытых проектах и инвестиции в них для последующего использования для собственных нужд. Такой подход убивает двух зайцев (свои нужды) и задачи и создаёт инструменты для всего общества в свободном использовании.

Вместо выводов

Тестировщик - это больше, чем профессия. Это образ проактивной жизни и стремления эту жизнь сделать лучше для всех посильными и эффективными средствами. Цели тестировщика в отношении продукта наиболее близки к целям бизнеса и стратегической цели компании в отношении этого продукта, и в то же время глубоки внутри компании в роли исследователя. А раз так, то главные его качества - это энергия, знания и гибкость. Но в тоже время работа тестировщика – это не всеобщее знание и ответственность за качество продукта и качество услуг. У тестирования есть границы: с одной стороны ограниченные проектом и требованиями в нём (менеджмент проекта и установленный жизненный цикл программы), и с другой – процессами, за которые отвечает QA. Но о различия QA от тестирования совсем другой разговор.

Теги: Добавить метки

39.9

Для друзей!

Справка

Тестер - специалист в сфере IT-технологии, занимающийся оценкой функциональности программного продукта, соответствием требованиям качества. Условно тестеров можно разделить на специалистов, занимающихся работой над программой совместно с командой программистов. Они ведут исследования, когда продукт только создаётся. И специалистов, работа которых представляет собой оценку готового продукта.

Востребованность профессии

Мало востребована

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

Вся статистика

Описание деятельности

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

Заработная плата

средняя по Москве: средняя по Санкт-Петербургу:

Уникальность профессии

Редкая профессия

Представители профессии Тестера действительно редки в наше время. Не каждый решится стать Тестером . На специалистов в этой области наблюдается высокий спрос среди работодателей, поэтому профессия Тестера вправе называться редкой профессией.

Как пользователи оценивали этот критерий:
Вся статистика

Какое необходимо образование

Среднее образование (школа)

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

Как пользователи оценивали этот критерий:
Вся статистика

Трудовые обязанности

Тестер выполняет тестирование программного продукта. Занимается усовершенствованием программного продукта. Разрабатывает план и рассматривает отдельные ситуации для тестирования. Отслеживает ошибки и составляет их описание. Применяет специальные инструменты для автоматизации тестирования.

Вид труда

Преимущественно умственный труд

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

Как пользователи оценивали этот критерий:
Вся статистика

Особенности карьерного роста

Свою карьеру тестер начинает с позиции стажёра тестера или программиста. Основным профессиональным навыкам специалист обучается на рабочем месте. Присутствует карьерный рост. Тестер может стать руководителем группы тестирования или начальником отдела контроля качества.

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

Актуальность профессии

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

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

Почему именно 9 сентября? Именно в этот самый день более 70 лет назад ученые из Гарварда проводили тестирование вычислительного монстра под названием Mark II Aiken Relay Calculator. Пусть тебя не смущает слово «Calculator» в названии: вес первого «Марка» точно известен и составлял 35 тонн. Вес второго, думаю, был не намного меньше.

Слово тестировщик, как ты уже догадался, происходит от английского tester - человек, выполняющий проверку чего-либо.

Сколько зарабатывают тестеры?

Каких-то пять лет назад считалось, что тестером может быть любой студент 1-2-го курсов. К тестерам относились несерьезно - как к «недопрограммистам». Формат такой работы подразумевал только подработку на время учебы в ВУЗе, а серьезно заработать, будучи тестировщиком, удавалось мало кому.

Итак, сколько зарабатывают тестеры? Могу поспорить, что ответ на этот вопрос тебя интересовал больше всего, раз ты начал читать эту статью. Тестеры со стажем в 2-3 года могут легко заработать около 100 000 рублей в месяц. Минимальная заработная плата составляет от 30 тысяч рублей, средняя около 50-60 т.р. Не буду приводить красивых графиков, приведу две вакансии, которые нашел за 5 секунд на сайте Яндекс.Работа: в первом случае предлагают до 90 т.р. (что вполне нормально), во втором - от 30 до 45 тысяч рублей.

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


Как видишь, профессия довольно актуальна и при наличии желания и определенных навыков, можно без проблем найти довольно хорошо оплачиваемую работу. Да, это не Газпром, но на жизнь хватит.

Условия, требования и обязанности

Просмотрев с десяток вакансий, могу рассказать хорошие новости. Работать можно, как в офисе, так и дома - выбирай тот способ работы, который тебе привычнее. Если долго добираться в офис, можно без проблем найти удаленную работу со свободным графиком работы. А это означает, что ты можешь учиться в ВУЗе и работать тестером. В этом плане ничего не поменялось. Конечно, на «удаленке» платят меньше, но и условия труда более удобные.

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

Но не нужно думать, что тестеру не нужны никакие навыки, кроме умения нажимать на кнопки! Как минимум нужно:

  • знать основы языка программирования, на котором ведется разработка;
  • уметь работать с Bug-трекерами;
  • понимать, что такое функциональное тестирование;
  • иметь навыки работы со средствами автоматического тестирования (вроде Selenium для Java или PHPUnit для PHP);
  • уметь пользоваться MS Office для документирования результатов.

В обязанности тестера входит:

  • формирование тестовых наборов;
  • написание методики тестирования;
  • подготовка тестовых данных;
  • тестирование по документации;
  • локализация дефектов;
  • общение с бизнесом, аналитиками и разработчиками;
  • решение технически сложных задач.

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

Перспективы

Какие перспективы могут быть у тестера? Прежде всего, есть перспектива повышения зарплаты по мере роста опыта работы. Сегодня ты получаешь 30-40 тысяч рублей, через два года - почти 100 тысяч. Чем не перспектива? Даже если текущая компания не предлагает тебе такие деньги, всегда можно перейти в другую: опыт работы-то уже у тебя есть.

Другая перспектива - стать программистом. Проработав несколько лет тестером, довольно просто перейти в другую сферу IT: например, «превратиться» в разработчика, аналитика или даже в руководителя. Все зависит от тебя и от твоих интересов.

Где можно получить профессию тестировщика?

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

Но нужно отметить, что обучение в ВУЗе не всегда оправдано, особенно если речь идет о тестерах. Во-первых, учиться в ВУЗе долго. А если у тебя уже есть высшее образование (пусть даже не техническое) и ты хочешь освоить профессию тестера, то вообще нет смысла опять поступать в ВУЗ: на втором высшем ты будешь вынужден 2.5 года посещать лекции. Потерять целых 2.5 года! А если высшего образования у тебя нет, тогда ты можешь потерять целых 5 лет, за которые можно было бы не только освоить эту профессию, но и превратиться в очень востребованного специалиста.

Во-вторых, получив диплом программиста (и потратив на это от 2.5 до 5 лет), ты все равно не сможешь устроиться по специальности: ведь у тебя нет опыта практической разработки, которого в ВУЗах не дают.

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

  • эффективное онлайн-обучение в комфортное для тебя время;
  • видеозаписи всех занятий, все презентации и учебные пособия.
  • интересные домашние задания для закрепления материалов;
  • возможность задавать любые вопросы преподавателю;
  • сертификаты по каждому курсу и гарантированную стажировку (2 месяца);
  • возможность стажировки в IT-компании с последующим трудоустройством;
  • возможность принимать участие в настоящих стартапах и создавать свои проекты;
  • реальное портфолио и резюме для старта карьеры;
  • знания и навыки, которые окупят стоимость курсов за месяц работы в компании.

Уже через 4 месяца ты будешь обладать следующими навыками:

  • уверенное владение терминологией;
  • опыт создания тест-кейсов и формирования тест-комплектов, проработка и написание приемочных тестов;
  • знание уровней доступа к программе и защите;
  • навыки тестирования по заранее подготовленному тестовому плану;
  • умение оценивать эффективность тестирования;
  • знание ошибок и проблем, возникающих у пользователей при работе с программными продуктами;
  • опыт разработки сценариев тестирования, документирование найденных дефектов;
  • понимание функционального тестирования ПО;
  • навыки проведения ручного тестирования ПО;
  • знание методологии и методик тестирования;
  • знание типов и видов тестирования, различных их классификаций;
  • опыт работы с баг-трекинговыми системами (Atlassian JIRA);
  • понимание жизненного цикла разработки ПО, различных методологий его разработки и места тестирования в данном процессе.

А самое главное, тебе не придется ждать несколько лет, а сразу можно будет приступить к работе!

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

А как же быть, если работодатель требует наличие корочек? Ну, в большинстве случаев оно все же не требуется. Если вышка у тебя уже есть, то в к нему прибавится сертификат, который ты получишь по окончанию курсов. А если высшего образования нет, то ничего страшного: зато у тебя будет весь набор навыков, необходимых для успешного тестирования программного обеспечения. Когда ты проработаешь первый год по специальности, на отсутствие в/о не будет смотреть вообще никто - главное, что опыт и навыки уже есть. Кроме того, по окончанию курсов у тебя будет возможность двухмесячной стажировки в реальной компании!

Выводы

Выводы получаются такие: профессия тестера - востребованная и позволяет в среднем зарабатывать около 60 т.р. в месяц. Учиться в ВУЗе на тестера смысла нет: долго, дорого да и нет официально такой специальности, как тестер. Кроме того, после ВУЗа у тебя все равно не будет опыта работы - лишь несколько потерянных лет.

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

Здорово, правда?

Специальный проект с компанией GeekBrains

Тестирование ПО. Уровень 1. 1 месяц.
Теоретические знания и начальный опыт

В настоящее время в IT-сфере как никогда стала актуальной профессия тестировщика. В первую очередь, высок спрос на специалистов, занимающихся тестированием программного обеспечения. Основными обязанностями таких сотрудников являются выявление ошибок в работе программ и моделирование различных ситуаций, связанных с их дополнительной нагрузкой. Таким образом, обнаруживая и описывая погрешности, направляя отчеты о них для внесения исправлений в программу, тестировщики постоянно взаимодействуют с командой разработки. Курс "Тестировщик ПО. Уровень 1" от GeekBrains предназначен для тех, кто хочет начать карьеру в тестировании программных продуктов. В его рамках рассматриваются теория и практика создания тест-кейсов, тест-комплектов, оформления багов и отчетов по результатам тестирования. Данный курс - это 8 практических занятий, где Вы получите знания и навыки, необходимые для того, чтоб легко включиться в работу над созданием и улучшением IT-проекта.

Урок 1. Основные понятия в тестировании

Что представляет собой тестирование. Как определить качество ПО (стандарты ISO, критерии качества, метрики). Категории программных ошибок. Терминология.

Урок 2. Место тестирования в процессе разработки ПО

Цикл разработки ПО. Цикл тестирования ПО. Типы тестов в процессе разработки ПО. Соответствие тестирования методологии разработки ПО.

Урок 3. Разработка тест-кейсов

Определение и структура тест-кейсов. Характеристики хорошего теста. Аксиомы тестирования. Поддерживаемость тест-кейсов. Системы менеджмента качества. Тест-комплекты. Чек-листы. Подготовка тестовых данных.

Урок 4. Классы эквивалентности и граничные условия. Планирование и работа с требованиями

Определение и поиск Классов эквивалентности. Границы классов эквивалентности. Работа требованиями к ПО. Участие в планировании релиза ПО. Что делать, если нет документации.

Урок 5. Работа с багтрекером

Определение и функции багтрекера. Как правильно формулировать задачи. Жизненный цикл (workflow) ошибок. Оперативное отслеживание задач в багтрекере.

Урок 6. Регрессионное тестирование

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

Урок 7. Организация процесса тестирования

Должностная иерархия в тестировании. Планирование и оценка сроков на тестирование. Критерий начала/завершения тестирования. Отчетность по результатам тестирования. Подготовка рабочего места.

Урок 8. Тестирование пользовательского интерфейса

Особенности тестирования пользовательских интерфейсов GUI и web-приложений.

Тестирование ПО. Уровень 2. 1 месяц.
Работа с документацией и тестирование приложений

Многие считают, что профессия тестировщика является скучной и однообразной. Однако это мнение несправедливо. Профессиональный тестировщик - это, в первую очередь, человек, умеющий творчески подойти к решению стоящих перед ним задач. Опыт, приобретаемый в рамках этой профессии, может стать ступенью к карьере программиста. Важной особенностью работы тестировщика является возможность полноценного аутсорса и фриланса. Курс "Тестировщик ПО. Уровень 2" от GeekBrains предназначен для тех, кто уже знаком с основами тестирования и хочет получить более глубокие знания и навыки, требуемые для начала карьеры в IT-сфере. В его рамках разбираются способы исследования тестируемого ПО, изучаются техники определения необходимого количества тестов и способы визуализации тестируемого функционала. Данный курс - это 8 практических занятий, после которых Вы сможете проявить себя в качестве экспертного пользователя программного обеспечения, имеющего собственное видение наилучшей организации процесса тестирования.

Урок 1. Тест-анализ. Исследование ПО

Типы и цели исследования ПО. Декомпозиция приложения.

Урок 2. Доменное тестирование и комбинации параметров

Урок 3. Тестовая комбинаторика

Создание тестового набора. Минимальные проверки. Перебор значений. Атомарные проверки. Pairwise. Метод взаимосвязанных проверок.

Урок 4. Тестирование состояний и переходов

Анализ ПО на возможные состояния и переходы. Выявление жизненных циклов сущностей и комбинация состояний. Выбор валидных проверок.

Урок 5. Тест-анализ на основе бизнес-логики

Выбор условий бизнес-требования. Создание таблиц решений. Комбинирование тестов на основе таблицы решений.

Урок 6. Тест-анализ на основе рисков (предугадывание ошибок)

Определение тестируемого функционала ПО. Выявление потенциальных ошибок и их градация. Определение стратегии.

Урок 7. Стратегия тестирования

Цели и задачи стратегии тестирования. Выбор подходящих техник в зависимости от функционала и особенностей. Учёт нефункционального тестирования.

Урок 8. Оценка эффективности тестов

Оценка тестового покрытия. Оценка эффективности тестов.

Введение в автоматизацию тестирования. 1 месяц.
Автоматизированное тестирование

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

Урок 1. Введение в автоматизированное тестирование

Что такое автоматизированное тестирование; какие разновидности автоматизированного тестирования бывают; проектный выбор: ручное или автоматизированное; черный и белый ящик при автоматизации; обзор и выбор инструментария.

Урок 2. Стратегия автоматизированного тестирования. Практическое создание тестов при помощи Autoit.

Принятие решения о введении автоматизации; проектирование автотестов; стратегии автоматизированного тестирования; процесс развертывания автоматизации; тестовое окружение для проведения автоматизации; создание автотеста при помощи Autoit.

Урок 3. Виды автоматизированного тестирования

Виды автоматизированного тестирования; автоматизированное функциональное тестирование; инструменты юзабилити тестирования; автоматизированное нагрузочное тестирование.

Урок 4. Проект Selenium и его составляющие.

Цели, задачи, особенности Selenium. Selenium WebDriver. Selenium RC. Selenium Server. Selenium Grid. Пример использования Selenium IDE на практике.

Урок 5. Автоматизированное нагрузочное тестирование на примере Apache Jmeter

Нагрузочное тестирование; принципы и практика построения нагрузочных тестов; обзор инструментов; пример использования Apache Jmeter.

Урок 6. Автоматизированное мобильное тестирование

Тестирование мобильных приложений; автоматизированные инструменты – обзор, выбор; нагрузочное тестирование; мобильные эмуляторы; мобильные фермы.

Урок 7. Автоматизация процесса тестирования

Автоматизация процесса тестирование и создания тестов; утилиты для автоматизации процессов тестирования; генерация тестов; фреймворки; плагины.

Урок 8. Работа с требованиями и постановками задач

Требования, задачи; системы работы с требованиями и постановкой задач; системы багтрекинга; настраивание процессов проведения тестирования и их автоматизация и инструментарий.

Основы баз данных. 20 уроков.
Проектирование БД и запросы SQL

Базы данных (БД) - это системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). Любой современный сайт, игра или настольное приложение нуждаются в хранении данных. На данный момент существует множество различных систем управления базами данных (СУБД), самой популярной является MySQL. “Основы баз данных” - это 20 интенсивных видео-уроков (по 10 минут), где мы вместе пройдём все этапы проектирования БД на примере интернет-магазина с использованием языка запросов SQL. После этого курса вы сможете использовать различные базы данных, такие как MS SQL и Postgre Sql, так как синтаксис языка SQL для них практически не отличается.

Урок 1. Реляционные базы данных

Чем отличается БД от СУБД; какие базы данных называются реляционными; обзор современных СУБД.

Урок 2. Установка СУБД

Установка СУБД MySql и графического приложения Mysql Workbench.

Урок 3. Проектирование базы данных, нормальные формы

Проектирование данных в Excel; нормальные формы; первичный ключ.

Урок 4. SQL-команда CREATE

Создание таблиц в графическом интерфейсе MySql Workbench; команда CREATE; типы данных; работа в консоли.

Урок 5. SQL-команда INSERT

Заполнение таблиц данными с помощью графического интерфейса; команда INSERT; AUTO INCREMENT.

Урок 7. SQL-команды DISTINCT, ORDER BY, LIMIT

Получение и фильтрация данных с помощью SQL-команд DISTINCT и LIMIT; сортировка с помощью команды ORDER BY.

Урок 9. Согласованность данных

Понятие согласованности или консистентности данных.

Урок 10. Внешний ключ

Понятие внешнего ключа и ограничений на значения столбцов; FOREIGN KEY CONSTRAINTS.