Тестировщик программного обеспечения — востребованная профессия. Тестировщик — больше, чем профессия Рынок тестирования программного обеспечения

IT развивается, постоянно создаются новые продукты, которые требуют проверки перед тем, как выйти на рынок, чтобы конечный пользователь получил качественный продукт. Именно от тестировщика зависит, в каком состоянии продукт попадет на рынок.

Кто такой тестировщик

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

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

Достаточно сложно дать определение слову «тестирование», но это не:

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

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

Виды тестирования

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

Функциональное тестирование

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

Основное достоинство функционального тестирования - имитация фактического использования системы во время тестирования. Недостатка 2:

  • возможность упущения логических ошибок в ПО;
  • избыточное тестирование.

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

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

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

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

Также здесь тестируется надежность приложения. Это определяется по работоспособности приложения при многочасовом тестированием ПО со средней нагрузкой.

Автоматизированное тестирование

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

  • запуск;
  • инициализация;
  • выполнение теста;
  • анализ;
  • выдача результата.

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

Юзабилити-тестирование

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

Юзабилити-тестирование может пригодиться в нескольких случаях:

  • тестирование удобства интерфейса;
  • сравнение продукта с конкурентами;
  • сравнение нескольких версий интерфейсов одного продукта.

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

Интеграционное тестирование

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

Есть несколько типов этого тестирования:

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

Конфигурационное тестирование

Направлено на проверку работоспособности продукта в различных конфигурациях:

  • платформы;
  • драйверы;
  • компьютерные конфигурации.

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

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

Тестирование безопасности

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

Принципы тестирования:

  • доступность;
  • конфиденциальность;
  • целостность.

Игровое тестирование

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

Какие навыки нужны тестировщику?

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

Требования к тестировщику ПО (плюс / минус в зависимости от компании):

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

Также могут пригодиться знания java, python для тестировщика и другие языки программирования. Но в то же время их знание может мешать работе, так как тестировщик может пытаться исправить чужие ошибки, то есть, заниматься не своей работой. А это снижает качество.

Зарплата тестировщика

Средняя зарплата тестировщика в Москве - около 70 тысяч рублей, в Питере - 50. Немного отстает Екатеринбург - 45 тысяч рублей. В городах поменьше и зарплата меньше. В Волгограде, Воронеже, Перми, Уфе, Казани зарплата составляет 33-40 тысяч рублей.

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

Тестировщик с высшим образованием и опытом работы от 1 года может рассчитывать на зарплату от 65 тысяч в Питере и от 80 в Москве. Максимальный доход в столице - 150 тысяч, в Санкт-Петербурге - 120 тысяч рублей.

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

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

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

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

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

Подготавливаясь к собеседованию, стоит ознакомиться с темами:

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

Курсы для тестировщиков

Самый простой способ изучить азы тестирования - . Главное - чтобы они были качественные, а кураторы не лили “воду”.

Существуют такие площадки и школы как ГикБрейнс, Testbase, академия Алексея Сухорукова и другие. Можно выбрать уровень обучения, а можно пройти стресс-курс, чтобы узнать, каких знаний недостаточно.

При МГТУ имени Баумана действует учебный центр, регулярно проводящий курсы по тестированию. Их ведут преподаватели-практики.

Нельзя упускать возможности посетить стажировки. Придется работать бесплатно, но можно набраться опыта. Найти стажировки можно на сайте хедхатера или по запросу в гугл “стажировка тестировщик в городе (название города)”.

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

Стоит ли быть тестировщиком?

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

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

Тестировщик, тестер, QA-инженер, Software Quality Assurance Engineer - специалистов по функциональному тестированию программного обеспечения называют по-разному, но суть работы у всех одна: совместно с разработчиком программного обеспечения (ПО) они обеспечивают наилучшее качество программного продукта.

Общее описание

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

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

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

Образование

Ни в одном российском вузе не обучают такой профессии, как специалист по функциональному тестированию программного обеспечения, потому что в России только недавно стала формироваться индустрия производства ПО, и началось настоящее разделение труда в этой сфере.

Высшее техническое образование в области информационных технологий хоть и не является необходимым условием для соискателя на вакансию тестировщика, но, как правило, работодатели в первую очередь рассматривают именно таких кандидатов, поскольку подобный диплом свидетельствует о наличии у специалиста базовых навыков в программировании и знаний основных технологий. Читатель «Энциклопедии карьеры» Виталий Анатольевич Мальцев замечает: «Лично я жду от программиста знания принципов программирования, хорошего владения здравой логикой, умения учиться и адаптироваться к существующим задачам. И обязательно этот человек должен иметь определенный склад мышления. Если он не знает сегодня PHP, а завтра это знание ему понадобится, то он его изучит и будет применять».

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

Смежные карьеры

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

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

Функциональные обязанности

Среди основных обязанностей специалиста по функциональному тестированию ПО выделяются следующие:

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

Навыки

Тестировщик – специалист, обладающий хорошей памятью, умеющий быстро переключаться с одного типа задач на другой, способный не только написать код, покрывающий функционал, но придумать различные тесты и даже интуитивно предугадать, где может «свалиться» программа. Он должен разбираться хотя бы на уровне продвинутого пользователя в особенностях операционной системы, в которой производится тестирование, уметь пользоваться специальным ПО для автоматизированного тестирования и регистрации ошибок (WinRunner, TestComplete, TestExecute, TestRecorder), работать с необходимыми в профессиональной деятельности пакетами (различные bug-tracking системы), иметь базовые знания того языка программирования, на котором написана тестируемая программа. Также желательно наличие знаний в конкретной сфере, для которой разрабатывается софт. Например, если речь идет о программе 1С, то минимальные сведения в области бухгалтерии просто необходимы.

Из качеств, которыми необходимо обладать специалисту, можно выделить коммуникабельность и умение работать в команде, ведь в некоторых компаниях, к примеру, применяется XP-тестирование (работа в паре с другим тестировщиком). Не менее важны для соискателей терпение и усидчивость. Во-первых, потому что работа тестировщика – это кропотливый труд по проверке сотен вариантов функционирования одного модуля. Во-вторых, поскольку одной из основных обязанностей специалиста является документирование результатов своей работы (подготовка test-cases, test-plans и check-lists), а это достаточно трудоемкая задача, тем более что нередко документы приходится переписывать или редактировать от версии к версии. К тому же соискатель должен обладать здоровым любопытством, чтобы ему было интересно делать не только то, что указано в документации, а еще и пытаться экспериментировать.

Плюсы и минусы

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

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

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

Оплата труда

В большинстве случаев уровень дохода тестировщиков составляет примерно 80% от размера оплаты труда программиста и в зависимости от их опыта работы варьируется от $700–800 у новичков до $1500–2000 у профессионалов.

Перспективы

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

Тестировщик — это специалист, который занимается тестированием программного обеспечения (ПО) с целью выявления ошибок в его работе и их последующего исправления. Вместе с тем существует и несколько иное название данной профессии — QA Tester (или QA Manager, Engineer), которое обычно включает в себя более широкий спектр обязанностей. Тестировщик осуществляет контроль качества продукта после его разработки, в то время как задача QA тестера — обеспечение качества продукции на всех этапах разработки, выпуска и эксплуатации ПО.

Места работы

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

Обязанности тестировщика

Главные должностные обязанности тестировщика:

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

Также должность тестировщика может предполагать составление технической документации на русском и иностранном (чаще английском) языках.

Требования к тестировщику

Главные требования к тестировщику:

  • Опыт организации и проведения различных видов тестирования.
  • Знание языков программирования.
  • Знание инструментов и библиотек для автотестирования.
  • Опыт написания автотестов.
  • Высшее образование.
  • Аналитические способности.

Дополнительные требования:

  • Умение тестировать веб-приложения.
  • Знание мобильных платформ (iOS, Android).
  • Знание английского языка на уровне, достаточном для чтения и написания технических текстов.

Образец резюме тестировщика

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

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

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

Зарплата тестировщика

Заработная плата тестировщика варьируется от 30 до 130 тысяч рублей в месяц. Высокие заработки, чаще всего, можно найти в Москве или иных городах-миллионниках. Средняя зарплата тестировщика составляет 70 рублей в месяц.

Тестирование ПО. Уровень 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.

Направление тестирования быстро развивается. Если ещё несколько лет назад можно было практически без знаний и опыта устроиться работать ручным тестировщиком и учиться непосредственно на работе, то в 2018 году сделать так уже сложнее. Ниже представлен минимальный список того, что надо знать для работы тестировщиком — или QA-инженером, как всё чаще называют представителей нашей профессии — а не мартышкой, которая просто тыкает в кнопки.

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

Каковы главные человеческие качества тестировщика

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

Что должен знать и уметь тестировщик

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

  • владеть английским на уровне чтения;
  • обладать терпением, внимательностью и способностью смотреть на одно и то же с разных точек зрения. Это самое важное;
  • знать, что такое юзер-стори , чек-лист и тест-кейс , уметь правильно их составить;
  • понимать, какие виды и типы тестирования бывают и когда надо их применять. Поможет разобраться: «Тестирование программного обеспечения — основные понятия и определения» ;
  • знать, как пользоваться баг-трекером. В это YouTrack , но если научился пользоваться одним — считай, что научился пользоваться всеми;
  • владеть техниками тест-дизайна, как минимум анализом классов эквивалентности и граничных значений и диаграммами переходов состояний ;
  • иметь общее представление о гайдлайнах iOS и Android ;
  • быть опытным пользователем как минимум одной из ОС;
  • понимать принципы клиент-серверного взаимодействия ;
  • тестировщик ПО должен уметь разобраться с продуктом при отсутствии документации;
  • работать с IDE (Xcode /Android Studio);
  • снифферить и модифицировать трафик через Fiddler /Charles ;
  • конструировать запросы в Postman ;
  • знать, для чего нужен browserstack ;
  • создавать эмуляторы в Genymotion, Android Studio, Xcode;
  • иметь или развивать чувство прекрасного. Тут может помочь бюро Горбунова ;
  • понимать, что такое кроссплатформенные приложения и чем они отличаются от нативных. Поможет разобраться: ;
  • работать с виртуальным окружением VirtualBox и Vagrant ;
  • понимать принцип работы и знать основные команды Git. Поможет разобраться: «Основы Git» ;
  • уметь пользоваться инструментом для разработки тестовых сценариев Selenium IDE ;
  • понимать как работает инструмент нагрузочного тестирования Yandex Tank и уметь его настроить.

Приятный плюс, если вы:

  • обладаете навыками автоматизации при помощи Appium , Katalon studio ;
  • имеете глубокие знания Selenium WebDriver ;
  • умеете организовать нагрузочное тестирование при помощи Apache jMeter ;
  • знаете, как провести тестирование безопасности для мобильного или веб-приложения.

C чего может начать новичок

Разберёмся, как стать тестестировщиком программного обеспечения с нуля и что требуется знать начинающему тестестировщику. Перечень книг и полезные статьи, которые стоит почитать:

  • «Тестирование дот ком» Романа Савина. Книга не новая, но даст базовые представления о специализации;
  • Tap into mobile application testing , Jonathan Kohl. Книга о специфике тестирования мобильных приложений;
  • гайдлайны
 
Статьи по теме:
Защита реестра от несанкционированного удаленного доступа Что такое реестр и зачем его чистить
За всю свою историю Windows очень сильно пострадала от вредоносных программ. И уровень заражения на более старых операционных системах, где пользователи, обычно, не используют UAC (особенно на домашних ПК) и позволяют вредоносным программам, таким как вир
Сервисы для создания превью макета
Многие из нас сталкивались с таким понятием, как «превью». Что это такое, представляют себе практически все люди, хоть немного знакомые с английским языком или компьютерной техникой. Рассмотрим более подробное толкование этого слова. Кроме того, дадим нек
Вероятно, сообщество содержит недопустимые материалы: что это и как избавиться?
Мобильные устройства от Apple в большинстве случаев используются только своими владельцами, однако, как и из любого другого, из данного правила могут быть исключения. Так, iPhone или iPad очень часто попадают в руки самым младшим членам семьи, чем ставят
Как вернуть старый дизайн «ВКонтакте
С непривычки многие с отторжением встретили новый дизайн и начали устраивать на своих страницах одиночные онлайн-манифестации с требованием вернуть старый «ВК». Даже Павел Дуров высказал семь претензий к редизайну.По собственному опыту заметим, что привык