Меню

Как стать тестировщиком ТОП полезных ресурсов для подготовки

👨‍🔧️ Основы профессии тестировщика с нуля за 10 минут

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

Тестирование – это проверка, насколько ожидания разработчиков продукта соответствуют реальности.

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

Существует три уровня тестирования:

  1. Модульное (или компонентное) тестирование, когда проверяется только какая-то часть ПО: отдельная функция, класс, модуль программы. Стандартно оно проводится через вызов кода. Зачастую тестирование на этом уровне осуществляется самим разработчиком. Модульное тестирование от компонентного отличается тем, что в компонентном используют реальные объекты и драйверы, а в модульном – конкретные значения.
  2. Интеграционное тестирование – процесс исследования ПО, когда проверяются интерфейсы между компонентами или подсистемами. К интеграционному тестированию можно отнести также проверку взаимодействия двух систем в заданных точках. Например, передачу данных из одной системы в другую.
  3. Системное тестирование – проверка соответствия системы требованиям заказчика. Исследуются функциональные и нефункциональные требования к системе в целом, выявляются дефекты и непредусмотренные сценарии. Например, что будет, если в поле, в которое вводится два знака, попробовать ввести три, букву вместо цифры и т.д.

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

Классификация видов тестирования

Как видите, классов не так много, но в каждом из них можно выделить несколько разных видов тестирования.

  • Функциональное тестирование – проверка, что ПО правильно решает пользовательские задачи.
  • Тестирование производительности позволяет оценить быстродействие ПО при заданной нагрузке. Тестирование производительности проводится до и после оптимизации. Его целью является проверка и выявление факторов, которые влияют на производительность ПО.
  • Нагрузочное тестирование предполагает оценку ПО при плановой, повышенной и пиковой нагрузке. Ресурсы системы конечны и такое тестирование позволяет избежать связанных с нагрузкой инцидентов после ее внедрения.
  • Стресс-тест – проверка работы ПО в критических условиях: миграция данных из другой системы в больших объемах, загрузка большого количества данных, нехватка памяти или дискового пространства. Также проверяется, как будет работать ПО, когда им одновременно начнет пользоваться большое количество пользователей.
  • Тестирование стабильности – проверка реакции ПО на взлом, попытки хищения данных и т.д.
  • Тестирование совместимости – проверка реакции ПО на окружение, заданные условия использования другими системами и проч.
  • Тестирование black box или тестирование черного ящика проводится только через интерфейсы пользователя.
  • Тестирование white box или тестирование белого ящика – тестирование с доступом к исходному коду программы. Этот способ позволяет оценить реакции внутри ПО на те или иные события, более тонко и точечно выявить ошибки или неоднозначные реализации логических цепочек.
  • Альфа-тестирование – имитация реальной работы с ПО, чтобы оценить его в максимально приближенных к реальным условиях.
  • Бета-тестирование проводится группой по основным параметрам с целью проверки наличия в ПО минимального количества ошибок.
  • Регресс-тест – проверка ранее найденных ошибок. После разработки и доработки проверяется, что ни одна из них не появилась вновь.
  • Дымовой тест – проверка «А запускается ли ПО?». Smoke testing проводят, когда отдельные компоненты нужно собрать в один продукт. Бывает, что по отдельности каждая компонента работает стабильно и корректно, а вместе – нет.
  • Ручное тестирование – тестирование, при котором не используются доп. инструменты, для проверки проводится только имитация действий пользователя.
  • Автоматизированное тестирование – тестирование с использованием специальных программных средств. Автоматизированное тестирование экономит время и ресурсы, а также увеличивает надежность ПО.
  • Динамический анализ кода – анализ исходного текста программы в процессе ее выполнения. В этом случае проблемы в коде обнаруживаются по мере их появления.
  • Статический анализ кода проводится без реального выполнения исследуемых программ. Он позволяет обнаружить дефекты еще до того, как код будет готов к запуску. Статический анализ также называю аудитом кода.

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

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

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

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

  1. контроль качества разрабатываемых продуктов;
  2. выявление и анализ ошибок, возникающих при работе с ПО;
  3. разработка тестов, тест-кейсов;
  4. тестирование;
  5. анализ результатов тестирования;
  6. классификация ошибок;
  7. сопровождение процесса ликвидации найденной ошибки;
  8. документирование всего процесса.

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

Это крайности, освоить профессию с нуля можно, причем способ стоит выбрать такой, который понравится – самостоятельно, в компании или сразу в работе.

Читайте также:  Субъектами посреднической деятельности могут быть тест

Стек технологий тестировщика:

У каждого инженера по QA есть свой уникальный опыт и собственный стек технологий – набор инструментов, которые он использует в работе, включая языки программирования, СУБД и прочее.

Перечислим наиболее распространенные варианты:

Источник

Как стать тестировщиком? ТОП полезных ресурсов для подготовки

Хотите построить карьеру в тестировании и задается вопросом, какие книги, статьи, курсы стоит выбрать для подготовки? На основе рекомендаций тренера IT-Academy Евгения Шидловского и опроса студентов лаборатории EPAM , составили список актуальных ресурсов, которые помогут в освоении профессии тестировщика.

ВВОДНЫЕ МАТЕРИАЛЫ ДЛЯ НОВИЧКОВ

Все, что нужно знать о QA, за 5 минут – видео о профессии тестировщика и возможность проверить себя в поиске багов.

Что должен уметь начинающий тестировщик – с чего начать, как прокачаться, во что углубиться.

Тестирование. Фундаментальная теория – полное погружение в профессию, основы основ тестирования ПО.

ОСНОВЫ ТЕСТИРОВАНИЯ

Software-Testing.RU. Тестирование и Качество ПО – портал, на котором есть как профессиональные материалы, так и небольшие статьи, понятные и полезные начинающим.

Функциональное тестирование программного обеспечения – полный курс для всех желающих освоить тестирование ПО «с нуля» под руководством опытного тренера.

ITVDN «Основы тестирования» – серия видео-уроков по основам тестирования.

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

Собрание чек-листов для проверок – все о необходимых проверках во время тестирования программного продукта.

Пример тест-плана – о разработке тест-плана для тестирования.

ДЛЯ НАРАЩИВАНИЯ ЭКСПЕРТИЗЫ

Базы данных и язык SQL

SELECT statement exercises: learning stage – известный учебный ресурс, который содержит много практических заданий с разным уровнем сложности.

Изучение программирования. SQL – серия видео-уроков по MySQL. Каждый урок содержит теоретическую и практическую части.

Компьютерные сети

Учебный курс Андрея Созыкина «Компьютерные сети» – бесплатный курс по компьютерным сетям с серией коротких видеороликов.

В. Г. Олифер, Н. А. Олифер «Компьютерные сети, принципы, технологии, протоколы» – в учебнике собрана практически вся необходимая информация для понимания работы компьютерных сетей.

HTML/CSS/JS/веб в целом

Основы алгоритмизации и/или программирования

CS50 на русском – гарвардский курс по основам программирования, где многие основные понятия объяснены на очень простом бытовом уровне.

Scratch – Imagine, Program, Share – ресурс, позволяющий в игровой форме освоить базовые понятия программирования.

Основы операционных систем

Самоучитель Linux – сборник самых разнообразных материалов по Linux, полезных как новичкам, так и профессионалам.

Мир GNU / Linux – ресурс для начинающих пользователей Linux: много материалов, интересное изложение.

Школа Windows – всё о работе с компьютерной системой Microsoft – сборник тематических публикаций по работе с Windows (описано много вещей, о которых «рядовые пользователи» могут и не догадываться).

ТРУДОУСТРОЙСТВО

Вопросы про тестирование с собеседований – полный обзор частых вопросов по тестированию ПО на собеседованиях и ответы на них.

Подборка материалов для подготовки к QA Interview – если нужно быстро освежить в памяти то, что может пригодиться для прохождения технического собеседования на позицию QA Engineer/QA Automation Engineer.

Все курсы по тестированию от IT-Academy можно посмотреть здесь .

Источник



Кто такой тестировщик и как им стать с нуля

Разбираемся, кому подходит профессия и что нужно уметь QA-специалисту.

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

Тем, кто не работал тестировщиком, кажется, что это очень просто: понажимал все кнопки подряд, нашёл ошибку, сказал разработчику, и всё. На самом деле тестировщик — это сложная и творческая профессия на стыке IT, UX-дизайна и продуктового менеджмента.

Что делает тестировщик

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

Неполиткорректные разработчики из-за этого когда-то обидно называли тестировщиков «обезьянками-кликальщиками». Термин был так распространён, что Android назвал свой инструмент для автоматизации тестирования MonkeyRunner — в том смысле, что он как обезьянка, только быстрее.

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

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

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

Читайте также:  Растения сырьем у которых являются корни тест

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

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

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

Работа тестировщика — это бесконечное приближение к совершенству. Невозможно проверить всё, поэтому тестировщик должен работать так, чтобы совершить минимум действий, но найти максимум ошибок.

Мануальщики и автотестеры

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

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

Может ли новичок-нетехнарь стать хорошим QA-специалистом

Порог входа в тестирование довольно низкий. Чтобы стать тестировщиком, не требуется техническое образование. Главное, чтобы человеку была интересна сфера IT и он хотел развиваться в этом направлении. Об этом говорит в своём интервью на hh.ru руководитель департамента обеспечения качества ПО Veeam Software Игорь Кацев.

На сайте Software-Testing.ru опрашивали тестировщиков из России и СНГ по поводу их образования. Оказалось, что в профессию приходят и достигают в ней карьерных высот разные люди: технари, гуманитарии, экономисты, юристы, люди с двумя высшими и люди без диплома вообще.

Насколько востребована профессия тестировщика

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

  • в декабре 2020 на HeadHunter было более 4 000 вакансий тестировщиков ПО;
  • больше 12 000 — на Trud.com;
  • на Indeed — около 1 000, и это только по России.

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

Вот, например, скрин с hh.ru, где работодатель перечисляет требования к тестировщику:

Большим спросом пользуются универсалы, владеющие современными методами тестирования, знающие языки программирования, умеющие составлять и автоматизировать тесты, например:

На какую зарплату можно рассчитывать

Заработная плата тестировщика в регионах — от 55 до 60 тысяч рублей, а в Москве — 80–150 тысяч.

Новички могут рассчитывать на зарплату от 40 тысяч рублей, специалисты высокого уровня получают 220–300 тысяч.

Как развиваться тестировщику

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

Младший специалист тестирует программы вручную по готовым тест-кейсам. Чтобы из «обезьянки» стать мидлом, нужно развиваться: досконально изучать проект, знать язык кода и основы автоматического тестирования.

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

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

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

Так происходит карьерный рост специалиста по вертикали. Но на практике тестировщики часто выбирают развитие внутри профессии — например, специализации по тестированию:

  • Security-тестировщики — проверяют безопасность программы;
  • Performance-тестировщики — тестируют, как она ведёт себя при возрастающей нагрузке.
  • Usability-тестировщики — проверяют, насколько с ней удобно работать.

Какие личные качества необходимы тестировщику

Кроме того, в тестировании очень важны личные качества специалиста. Вот список основных, без которых точно не обойтись:

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

Что надо уметь

От тестировщика требуется:

  • знание основ тестирования, его видов и методов;
  • умение составлять тест-кейсы, тест-планы;
  • знание языка запросов SQL, умение работать с базами данных;
  • знание языков программирования;
  • знание систем контроля версий: Git, CVS и тому подобных.

Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:

  • системы для создания тест-кейсов и отслеживания ошибок.
  • файловые менеджеры, текстовые и XML-редакторы.
  • генераторы тестовых данных и другие.

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

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

Где всему этому научиться

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

Более простой способ стать тестировщиком — пройти обучение на онлайн-курсах. Вы освоите необходимые техники и инструменты, получите практический опыт тестирования крупного проекта. После обучения наши успешные студенты становятся специалистами middle-уровня.

Источник

Примеры тестовых заданий на должность тестировщика. Ваше мнение?

#1 promoter

Всем доброго дня!

на днях проходил интервью на должность тестера в одну компанию. Ответ пока не получил.

Хотелось бы узнать от опытных тестировщиков как бы они ответили на некоторые вопросы в тесте, которые мне задали на собеседовании.

Мой опыт в тестировании чуть более 1 года и у меня есть определенные сомнения в правильности моих ответов.

Ниже 3 вопроса из 10 представленных в задании (в остальных ответах я вполне уверен):

3) Здание имеет 10 этажей и подвал (парковка). Как вы проверите лифты, которые могут идти только на нечетный и 2-й этаж?

7) Опишите шаги, которые вы сделаете в следующей ситуации:

x40h447QuUg9Q16tvaBerkbpKPEcLA.png

#2 astenix

Так а ваши ответы где?

Triobet — он-лайн покер. Останетесь без денех.

Software Testing Glossary — простыми словами о непростых словах.

#3 Little_CJIOH

#4 Dalay_LAMO

Первое — на классы эквивалентности и граничные значения. Пишите свой вариант и что именно вызвало затруднения.

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

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

#5 SHINNOK

3) Здание имеет 10 этажей и подвал (парковка). Как вы проверите лифты, которые могут идти только на нечетный и 2-й этаж?

Я бы проверил, что лифт идёт на 1 и 9 этажи и не идёт на 4 и 10. Плюс отдельно особое значение — 2 этаж

#6 Little_CJIOH

3) Здание имеет 10 этажей и подвал (парковка). Как вы проверите лифты, которые могут идти только на нечетный и 2-й этаж?

(доставая линейку) а подвал считать нулевым этажем или минус первым?
Это вы исходите из допущения, что номер этажа передается цифрой, а четность определяется остатоком от деления на 2. А если булевым/битовым массивом и наложением маски по AND?
все надо проверять, и про кнопки вызова на этажах не забыть.
А если параноить по полной, то надо еще и с каждого этажа проверять.

#7 SHINNOK

3) Здание имеет 10 этажей и подвал (парковка). Как вы проверите лифты, которые могут идти только на нечетный и 2-й этаж?

(доставая линейку) а подвал считать нулевым этажем или минус первым?
Это вы исходите из допущения, что номер этажа передается цифрой, а четность определяется остатоком от деления на 2. А если булевым/битовым массивом и наложением маски по AND?
все надо проверять, и про кнопки вызова на этажах не забыть.
А если параноить по полной, то надо еще и с каждого этажа проверять.

А если параноить по полной, то нужно проверять работу и при перегрузке лифта, и в землетрясение, и в наводнении, и при нашествии инопланетян/киборгов/зомби 🙂

Источник