как стать тестировщиком приложений
На пути в IT: легко ли стать тестировщиком?
Всё больше и больше людей хотят попасть в этот удивительный мир айти и ищут варианты, как сделать это максимально безболезненно. Погуглив, можно узнать, что одна из самых простых профессий в айти — тестировщик. Но так ли это?
Меня зовут Игорь Морозов. За последние три года я успел поработать в совершенно разных проектах — от мала до велика. Бывали в моей жизни и мобильные игры, и ААА-игры на консолях и ПК, и разного рода приложения.
Сейчас я работаю в e-Legion, мы разрабатываем мобильные приложения для крупного бизнеса, организуем конференции MBLT и MBLT Dev (в этом году объединенную конференцию MBLT+ для бизнеса и разработки), а также митапы (в том числе и для QA).
Весь последующий текст — исключительно размышления автора на тему того, так ли легко «войти в айти», и вы можете быть не согласны со мной. Это нормально, я всё равно вас люблю. Поправьте меня в комментариях или просто напишите, что думаете 🙂
Тестировщик это просто?
Ну а что тестировщику нужно? Сиди себе, смотри приложения/сайтики, просто записывай найденные дефекты и кидайся ими в программистов. Иногда, это правда так и происходит. Видишь, что вёрстка на сайте поехала? Делай скриншот, закидывай в систему багтрекинга. Страница вообще не грузится? Ничего себе. копируй адрес в браузере и. Ну вы поняли.
На самом деле всё сложнее, чем может показаться со стороны. Да, вам не нужно никаких профильных знаний, чтобы найти какие-то самые очевидные проблемы. Но что, если перед вами уже стоит задача проверить взаимодействие с API? Или под капотом приложения поменялось что-то в архитектуре, и теперь нужно удостовериться в корректной работе всего этого ужаса? Про различные покупки/подписки или другие способы взять кровно заработанные денежки у пользователя — я вообще молчу.
Это, конечно же, просто примеры, есть гораздо более сложные вещи в работе тестировщика. Главная мысль тут заключается в том, что в процессе работы уже не получится выехать на банальной насмотренности других сайтов/приложений.
Знать всего по чуть-чуть
Если вы работаете в команде, которая разрабатывает продукт, то вам нужно будет общаться со всеми её участниками. Очень круто, если у вас будут хотя бы базовые знания из тех сфер, в которых ваши коллеги специализируются. Бывает, что нужно попросить дизайнера о чём-то, разобраться с авторизацией на бэкенде, понять схему взаимодействия двух систем или более точно описать фронтовый баг. Если вы понимаете, как это всё работает изнутри, то вы всей командой начинаете говорить на одном языке, и уже не нужно переводить с «программистского» на «человеческий» 🙂
@freestocks
Коммуникации
К слову о коммуникациях с коллегами: вам нужно уметь докапываться до истины, даже если потребуется сходить к пяти разным людям, да хоть к десяти, не важно. Далеко не всегда мы живем в мире, где ТЗ написано идеально и готово к началу разработки, не у всех партнёры, с которыми нужно интегрироваться, помнят, какие конкретно методы вы используете или наоборот. А бывает, что одна из сторон что-то поменяла и никому не сказала. Вот в такие моменты нужно попытаться включить в себе экстраверта и идти «докапываться» до людей.
Пожалуйста, не приходите к разработчикам или аналитикам с наездом, я вас умоляю, какая сложная ситуация бы ни была. Они же тоже люди. Тут и начинают решать ваши софт-скиллы: умение правильно объяснить ситуацию, попросить человека уделить своё драгоценное время вам, и путём диалога разобраться в проблеме.
Ответственность
Кроме того, тестировщик в команде отвечает за качество конечного продукта. Вы (будучи QA в команде разработки) являетесь последним этапом проверки перед релизом, и именно за вами должно быть финальное слово. Вся эта ситуация усложняется сроками, требованиями от бизнеса и ещё кучей других обстоятельств, так что нужно уметь правильно оценить риски, поставить в известность заинтересованных людей и самое главное — правильно объяснить им (да и вообще всем), почему вы принимаете то или иное решение.
Автор: Christopher Gower
Итоги
Подытожим? Конечно, стать тестировщиком при желании может любой. Это не закрытая каста или клуб для своих. Особенно классно, если вы уже давно увлекаетесь смежными штуками, например, освоили язык программирования, пробовали создавать сайты или просто любите узнавать что-то новое про технологии. В таком случае ваш вход в профессию будет максимально легким, потому что многие вещи уже будут вам знакомы.
Однако, как и в любой другой профессии, нужно будет постоянно учиться чему-то новому, быть проактивным и самое главное — качественно выполнять свою работу. Вам предстоит находить общий язык с совершенно разными людьми, разбираться во всех этапах процесса разработки и по-настоящему прочувствовать, что такое дедлайны на крупном проекте.
Гид по профессии тестировщик: чем занимается специалист в сфере QA, сколько зарабатывает, что надо знать и где учиться
Позиция тестировщика считается одним из самых простых способов быстро войти в отрасль информационных технологий. Ходят слухи, что эту профессию легко освоить, работа у тестировщика — не бей лежачего, да и платят специалисту по тестированию программного обеспечения почти как программисту. Насколько эта информация достоверна? Давайте разбираться.
Кто такой тестировщик, за что отвечает и чем занимается
Тестировщик программного обеспечения планирует и выполняет тестирование приложений, отлаживает код, улучшает юзабилити программ. Часто к названию профессии добавляют латинские буквы q и a: qa тестировщик. Также употребляют название qa инженер. В латинских буквах спрятана суть деятельности тестировщика. Подробности ниже.
За что отвечает тестировщик
QA произошло от английских слов quality assurance — обеспечение качества. Это часть разработки, которая управляет качеством продукта. QA — широкое понятие, а работа над обеспечением качества начинается задолго до написания первой строки кода будущего приложения. В идеальном мире инженер по качеству работает над продуктом если не на этапе генерации идей, то на этапе исследования рынка и изучения потребностей целевой аудитории.
В широкое понятие QA входит ещё одно направление деятельности: QC, quality control или контроль качества. Инженеры QC контролируют продукт на этапе разработки и поддержки. Тестирование программного обеспечения — один из инструментов контроля качества. То есть тестировщик проверяет приложение в рамках мероприятий по контролю качества (QC), которые входят в комплекс работ по обеспечению качества (QA).
В широком смысле тестировщики участвуют в создании полезного для пользователей программного обеспечения. Если конкретизировать, тестировщики контролируют качество приложений, над которыми работает организация.
Чем занимается тестировщик
Как сказано выше, тестировщики проверяют программное обеспечение. Разберёмся, как они работают.
Есть ручное и автоматизированное тестирование ПО. Соответственно, специалисты по ручному тестированию проверяют приложения вручную, а специалисты по автоматизированному тестированию работают с помощью программ.
Ручной тестировщик по сути вручную имитирует действия пользователя приложения. Специалист убеждается, что программа работает как ожидается в разных сценариях взаимодействия. Ручное тестирование иногда называют поведенческим или тестированием методом чёрного ящика. Но автоматические тесты тоже чаще всего проводятся с использованием стратегии чёрного ящика.
Стратегией чёрного ящика называется подход, при котором объект тестируется без использования знаний о его внутреннем устройстве.
При планировании поведенческих тестов специалист учитывает технические требования к программному обеспечению. Пример: в спецификации указано, что после регистрации нового пользователя приложение отправляет письмо с подтверждением на указанный электронный адрес. Тестировщик регистрируется в приложении и проверяет, пришло ли соответствующее письмо.
Ручное тестирование — самый простой способ оценки качества приложения. Тестировать приложение вручную — «дорогая» операция, так как скорость и точность проверок ограничена возможностями тестировщиков.
Автоматизированное тестирование подразумевает проверку приложений с помощью программного обеспечения. Это не значит, что для автоматических проверок не нужны тестировщики. Напротив, специалист по автотестам должен знать и уметь больше, чем ручной тестировщик.
Вот примерное описание работы эксперта по автоматизированному тестированию. В первую очередь он выбирает тест-кейсы или функции приложения, которые нужно проверить. Обычно для автотестов выбирают критичные для работы ПО функции, например, обработку платежей, сохранение пользовательских данных. Автотестирование подходит, когда тесты повторяются неоднократно или для проверки функции приложения нужно использовать большие объёмы данных.
Затем тестировщик выбирает инструменты, планирует и реализует дизайн проверки. На этом этапе специалист готовит данные для тестов, настраивает инструменты, устанавливает расписание тестирования. Тесты запускаются, результаты тестирования автоматически фиксируются. Специалист анализирует полученные данные и передаёт информацию разработчикам.
Автоматизация тестов экономит ресурсы организации. Она позволяет с минимальными усилиями повторно тестировать приложения, требует меньше времени по сравнению с ручными тестами, сокращает количество ошибок.
Промежуточный итог: тестировщики контролируют качество программного обеспечения. Эта деятельность входит в комплекс работ по QA — обеспечению качества приложений. Тестирование бывает ручным и автоматизированным. Ручное тестирование предполагает проверку приложений вручную, а для автоматических тестов специалисты используют программы.
Учитесь с нами На Хекслете есть интенсив по тестированию фронтенда для разработчиков с опытом
Работа тестировщиком: где работают QA-инженеры, сколько зарабатывают, какие вакансии есть на рынке
Тестировщики трудятся в командах, которые занимаются разработкой программного обеспечения. Это скорее средние и крупные компании, которые делают собственный продукт или работают по модели аутсорсинга.
QA-инженеров и QC-тестировщиков часто привлекают команды, которые используют DevOps. В таких командах разработка, тестирование и поддержка ПО выполняется циклически с использованием подходов Agile или Scrum.
Сколько зарабатывают тестировщики
По состоянию на весну 2021 года на сайте hh.ru по запросу «тестировщик» есть 6646 вакансий во всех регионах России. При этом в начале 2020 года вакансий по этому направлению было в два раза меньше. Сотрудников ищут такие компании, как «Сбербанк», «Билайн», МТС, «Магнит» и другие. Максимальная зарплата составляет 400 000 рублей в месяц. Минимальная указанная зарплата — от 50 000 рублей в месяц.
Большая часть вакансий открыта в Москве и Санкт-Петербурге. Но тестировщики требуются и в регионах. Например, в Новосибирской области открыто 293 вакансии по тестированию, в Татарстане — 219 вакансий, в Свердловской области — 210 вакансий.
Тестировщики могут работать удалённо: на hh.ru есть 1614 вакансий для удалёнщиков. При этом до начала пандемии коронавируса на hh.ru было всего 215 вакансий для тестировщиков на удаленкее. Большинство работодателей хочет видеть кандидатов хотя бы с минимальным опытом. Но 600 вакансий подходят для начинающих тестировщиков без опыта работы.
Как стать тестировщиком: что надо знать и где учиться
В этом разделе говорим о необходимых для тестировщиков знаниях и об обучении. Важно понимать, что требования к соискателям отличаются от компании к компании, поэтому ниже вы найдёте обобщённую информацию.
Что должен знать и уметь тестировщик, какие софт-скилы нужны этому специалисту
В первую очередь специалист должен изучить основы тестирования. Классификация тестирования, методы и инструменты, создание сценариев тестирования, — вот базовый набор знаний, с которого будущие QA-тестеры начинают знакомство с профессией.
Понадобятся знания основ программирования, протокола HTTP, умение работать с базами данных и системами контроля версий, хотя бы базовое знание HTML и CSS.
Тестировщик должен уметь работать с командной строкой, знать браузеры и инструменты разработчиков. Также понадобится умение работать с инструментами автоматического тестирования, например, HP-UFT (бывший QTP), Selenium, Sahi и так далее.
Специалисты называют разные софт-скилы, которыми должны обладать тестировщики. К специфичным для этой профессии мягким навыкам можно отнести внимательность к мелочам, критическое мышление, умение анализировать информацию.
Где учиться тестированию
Профессии «Тестировщик» на Хекслете пока нет. Тем не менее у нас есть полезные для будущих тестировщиков курсы и интенсивы. Вот некоторые из них:
Также вы можете посмотреть программы обучения в других школах. Например, курсы для будущих специалистов в области QA есть в «Тинькофф Образование», «Нетологии», GeekBrains, Skillbox и в других русскоязычных школах. А если вы владеете английским языком, можете пройти курсы на известных англоязычных площадках, включая Udacity, edX, Udemy, Coursera и так далее.
Промежуточный итог: чтобы работать тестировщиком, нужны специальные знания, включая основы тестирования, основы программирования, системы контроля версий, инструменты автоматизации и так далее. Часть знаний будущие тестировщики могут получить на Хекслете.
Профессия глазами профессионалов: комментарии экспертов о работе тестировщиков, перспективах и обучении
Мы обратились к опытным специалистам в сфере QA, чтобы узнать о нюансах профессии тестировщик. Они ответили на несколько вопросов о профессии.
Константин Виноградов: после курсов программистов можно смело становиться тестировщиком
Дмитрий Дементий: Чем работа тестировщика отличается от работы программиста? И что есть общего в работе тестировщика и программиста?
Константин Виноградов: Проще сказать, чем они похожи: оба специалиста работают над тем, чтобы на выходе получился качественный продукт, отвечающий требованиям заказчика. В остальном это совершенно разные направления работы.
Конечно, есть отдельные специализации, такие, как специалист по автоматизации тестирования (test automation engineer) или разработчик в тестировании (software development engineer in tests), чья работа почти идентична работе программиста. Она предполагает написание кода автоматических тестов и тестовых фреймворков.
Но в целом задачи тестировщика слабо перекликаются с задачами программиста. Анализ требований, составление тестового плана с учетом покрытия требований, выполнение ручного тестирование и запуск автотестов, подготовка отчетов — вот работа тестировщика. Если не рассматривать уровень простого мануального тестирования, я бы сказал, что такая работа имеет значительно большую аналитическую составляющую, чем техническую.
Валидация продукта требует от тестировщика достаточно большого кругозора, так как приходится смотреть на продукт глазами пользователя, понимать его потребности. Надо уметь «быть пользователем» и знать его потребности, что непросто, если речь идет о специализированных решениях. Надо знать отраслевые стандарты, которым должно соответствовать решение, и уметь это соответствие проверить. Надо уметь находить способы тестирования совместимости с конкурентными решениями.
Кроме того, от тестировщика требуется другое мышление. Способ думать разработчика должен привести его к одному правильному и оптимальному сценарию решения проблемы. Способ думать тестировщика ведёт его ко всему многообразию сценариев, которых, по определению, больше.
Еще раз повторюсь: мы не рассматриваем автоматизаторов и разработчиков в тестировании, потому что они, на мой взгляд, всё же разработчики, а не тестировщики.
Д. Д.: Кем проще стать: разработчиком или тестировщиком?
К. В.: Тестировщиком. Но не потому, что им быть проще. Просто порог входа ниже. Карьера разработчика начинается с позиции junior software developer, которая требует наличия минимальных знаний: язык программирования, основные алгоритмов и структур данных, знакомство с фреймворками и так далее. Чтобы стать джуном, ты уже должен быть разработчиком.
Карьера тестировщика начинается с уровня специалиста по ручному тестированию (manual testing): есть описание тестов, делай руками, вноси результаты в отчет. Очевидно, что начинать во втором случае проще.
Д. Д.: С финансовой точки зрения к чему выгоднее стремиться: к позиции тестировщика или программиста?
К. В.: С финансовой — к позиции программиста. Вот только смотри пункт про образ мышления. Есть мнение, что тот, кто рожден быть хорошим тестировщиком, будет паршивым программистом. И наоборот.
И опять особняком автоматизаторы: часто их зарплаты сопоставимы с программистами. Именно потому, что они, по факту, занимаются разработкой, и им платят, чтобы они действительно не ушли в разработку.
Д. Д.: Чтобы проверять написанные программистами приложения, тестировщик должен разбираться в коде лучше программистов. Этот тезис верный или нет?
К. В.: Это очень сильно зависит от подхода к тестированию в конкретной компании. Часто бывают случаи, что тестировщику вообще не приходится заглядывать в код. Особенно это может касаться различных embedded решений или прошивок устройств. Но знать, как разрабатывается продукт, как он работает, и почему сделано именно так, тестировщик должен.
Д. Д.: Можно ли рассматривать позицию тестировщика как один из простых способов войти в IT?
Д. Д.: Какими инструментами пользуются тестировщики: окружение, редакторы и IDE, библиотеки и фреймворки?
Все зависит от продуктового стека и того, чем автоматизируется тестирование. У меня:
Д. Д.: Где можно научиться тестировать ПО? Можно ли стать тестировщиком после курсов программирования?
К. В.: Не буду приводить примеров курсов, потому что ничего не могу о них сказать. Все коллеги-тестировщики учились сразу на производстве. После курсов программистов можно смело становится тестировщиком. Как и после других курсов. Потому как профессии отражают совершенно различный подход.
Станислав Урюпин: тестированию можно научиться только на практике
Станислав Урюпин, QA-инженер, руководитель волонтёрского образовательного проекта Sciberia
Дмитрий Дементий: Чем работа тестировщика отличается от работы программиста? И что есть общего в работе тестировщика и программиста?
Станислав Урюпин: Избегая формальных определений, отсылающих к различным стандартам, описание разницы в работе программиста и тестировщика можно свести к следующему виду — работа программиста заключается в создании приложений, а работа тестировщика заключается в обеспечении их гарантированной работоспособности. Тем не менее у этих профессий общие цели — создание полноценных программ, которые используют другие люди и системы.
Д. Д.: Кем проще стать: разработчиком или тестировщиком?
С. У.: Начать карьеру в IT проще тестировщиком, чем разработчиком. Но за последние годы сложность разрабатываемых программ и предъявляемых требований сильно возросли. Данные изменения не могли не отразиться на работе тестировщика. В связи с этим повысился порог вхождения в профессию.
Теперь начинающему тестировщику уже недостаточно знать в общих чертах теорию и то, как составляются тест-кейсы. Нужно знать многое: начиная от того, как устроена специфика работы в конкретной области тестирования, заканчивая представлениями о современных методологиях разработки.
Д. Д.: С финансовой точки зрения к чему выгоднее стремиться: к позиции тестировщика или программиста?
С. У.: На мой взгляд, неправильно подходить к выбору профессии, когда главным критерием выбора является уровень зарплаты. В этой позиции кроется одна уловка: очень сложно динамично развиваться в той профессиональной области, интерес к которой находится не на вершине мотивационного выбора. А не развиваясь динамично, нельзя рассчитывать на реальный рост зарплатных ожиданий. В любой области IT профессионалы высокого уровня могут получать достойную зарплату.
Д. Д.: Чтобы проверять написанные программистами приложения, тестировщик должен разбираться в коде лучше программистов. Этот тезис верный или нет?
С. У.: Этот тезис не является верным. Лучше самих программистов в коде не может и не должен разбираться кто-либо ещё. Тестировщики работают чаще всего по стратегии черного ящика, когда непосредственный доступ к коду закрыт для анализа. Зато тестировщику доступны различные способы и инструменты для определения работоспособности программ.
Д. Д.: Можно ли рассматривать позицию тестировщика как один из простых способов войти в IT?
С. У.: Можно, но лишь отчасти. Всё зависит от конкретных целей. Например, часто новички работу в тестировании рассматривают как промежуточный этап перед переходом в разработку. Тестирование и разработка — это разные области деятельности. В каждой из них найдутся характерные особенности, без которых продуктивная работа невозможна. Потому неизбежно придётся тратить ресурсы на погружение в предметную область.
Если цель — пройти в разработчики или иные направления работы в IT, такие, как DevOps или аналитика, стоит отдельно изучать эти направления. Но получится ли это делать без падения продуктивности работы в тестировании, вопрос открытый.
Д. Д.: Какими инструментами пользуются тестировщики: окружение, редакторы и IDE, библиотеки и фреймворки?
С. У.: Область тестирования обширна, и в ней много направлений, в которых найдутся свои инструменты. Есть инструменты, которыми пользуются тестировщики независимо от направления. Например, cистемы управления тестированием или системы отслеживания ошибок.
Д. Д.: Где можно научиться тестировать ПО? Можно ли стать тестировщиком после курсов программирования?
С. У.: Тестированию, как и многому другому, можно научиться только на практике. Если нет опыта, с которым можно начать карьеру, стоит изучить теорию и воспользоваться готовыми решениями для практики. Например, выбрать сайт или мобильное приложение и попробовать научиться составлять тест-кейсы или изучить на предмет возможных ошибок.
Необходимо отдавать себе отчет в том, что ни одни курсы в мире не могут гарантировать трудоустройства, пока человек сам не будет стараться найти работу. Если пройти успешно курсы по программированию, и появится желание попробовать себя в тестировании, то знания, полученные на курсах, облегчают вход в профессию, так как области деятельности тесно связаны между собой.
Заключение: работодателям нужны тестировщики, а соискателям нужно учиться и практиковаться
Тестировщик — не человек с улицы, а квалифицированный специалист, который должен много знать и уметь, постоянно практиковаться и развиваться. Работодатели готовы платить достойные зарплаты специалистам по автоматизированному тестированию. Чтобы стать тестировщиком, нужно учиться самостоятельно или на курсах. По мнению экспертов, позицию тестировщика можно считать одним из простых способов войти в отрасль информационных технологий.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях
Как стать тестировщиком и не разочаровать родителей. Порог входа и основы основ
Еще 10-15 лет назад наши родители не могли себе представить, что большая часть бытовой рутины будет решаться в пару кликов мыши. Однако сейчас количество сервисов существенно увеличилось, и люди могут позволить себе пользоваться тем, что более качественно и удобно для пользователя. Если вы в процессе использования какого-либо приложения или сайта задумывались о профессии, которая позволила бы вам делать продукты лучше, то эта статья даст вам небольшую инструкцию о том, как войти в профессию тестировщика.
Кто такие тестировщики?
Существует заблуждение, что «тестировщик» – это профессия, которая подразумевает поиск ошибок и проверку продукта до тех пор, пока он не отвалится. На самом деле это утверждение верно лишь отчасти. Тестировщик проверяет, что продуктом удобно пользоваться и что его функционал исправно работает. Соответственно, тестирование – это не поиск ошибок, а проверка соответствия ожидаемого поведения продукта фактическому. Хотя иногда есть необходимость помучить продукт, а то и вовсе его сломать, чтобы вас прокляли разработчики убедиться, на каких максимальных мощностях или как долго продукт может стабильно работать. Об этом вы можете ознакомиться в статье про нагрузочное тестирование.
Как начать тестировать?
Очевидно, для начала хорошо бы изучить теорию и иметь возможность на чем-то практиковаться, чтобы подкрепить знания в деле. И на этом пути у вас есть два направления:
Жизненный цикл продукта
Любому начинающему или действующему специалисту it-сферы крайне полезно знать жизненный цикл продукта, так как он сам будет являться его частью на том или ином этапе.
Жизненный цикл бага
На самом деле, жизненный цикл бага будет зависеть от разных факторов: например, от проекта, приоритета бага или решения команды. Здесь не всегда работают шаблоны, но важно иметь базовые знания, чтобы знать, как минимум, процесс работы.
Виды тестирования и уровни тестирования
Любой тестировщик должен понимать, какой вид продукта он тестирует, и какие виды тестов необходимы именно под этот продукт.
Как писать чек-листы, тест-кейсы
Необходимость написания тест-кейсов сегодня достаточно спорна. Все же, как показывает практика, в процессе написания продукт изучается лучше, задается больше вопросов, и выявляется больше деталей продукта. Поэтому изучение этого навыка поможет вам научиться структурировать ваши проверки.
Знание техник тест-дизайна
Знание техник тест дизайна помогают сильно сэкономить время, позволяя избавиться от ненужных проверок.
Умение пользоваться багтрекинговыми системами, системами написания тест-кейсов, а также хранением документации
Для постановки и контроля задач есть специальные сервисы, которые позволяют отслеживать, на каком этапе находится задача, ее приоритет и так далее. Одни из самых популярных – Jira, Redmine, Trello. Для систем написания тест-кейсов есть такие сервисы, как testRail, Qase, TestLink. В некоторых случаях вполне достаточно Google docs. Для хранения документации – Confluence, Notion и Wicki.
Понимание работы протоколов http/https, знание http запросов (Post, Get, Put, Option, Delete)
Для тестировщика важно понимать работу протоколов, а также знать структуру и типы http запросов, уметь читать ответы сервера. Не всегда проблема ошибки отображается явно на верстке, в некоторых случаях полезно проверять корректность общения между клиентом и сервером.
Умение работать с реляционными базами данных
Полезным навыком для тестировщика будет умение работать с системой управления базами данных (СУБД). Умение обращаться с СУБД заметно облегчит вам жизнь при работе на проектах с огромным количеством данных, для проверки целостности, а также корректной обработки данных. На начальном этапе от вас вряд ли потребуются высокоуровневые знания по работе с SQL, однако знание простых команд типа «выведение всех доступных баз данных» – SHOW DATABASES, «Просмотр таблиц, доступных в базе данных» – SHOW TABLES, Команды для создания запросов SELECT…; является достаточно необходимым.
Умение скачивать, читать логи мобильного приложения
Помимо описания путей воспроизведения бага, видеозаписи или скриншота, крайне полезно прикладывать логи работы мобильного приложения на момент воспроизведения бага. Это заметно облегчит жизнь разработчику в починке функционала. Также важно понимать, в какой именно отрезок времени воспроизвелся баг.
Умение гуглить
На самом деле было бы правильнее этот навык поставить на первое место списка, так как этот навык полезен не только для работы, но и в целом для осознанной жизни. По ходу работы у вас появятся 100 вопросов, и некоторые вещи для начала лучше уточнить у поисковика, чем у разработчика.
Английский язык
Большинство толковых документаций, полезных статей преимущественно пишется именно на этом языке.
Набор инструментов для проверок
Postman – инструмент для тестирования api. Это одно из самых популярных приложений, которое позволяет совершать отправку api-запросов, созданий коллекций запросов, создания полуавтоматических api-тестов.
Google Chrome Dev tools – консоль разработчика есть на всех браузерах, но по функционалу и удобству больше всех развилась именно эта, поэтому изучение стоит начать именно с нее. Это инструмент для проверки веб-сайтов, который поможет вам отслеживать запросы, проверять работу сайта, изменяя сигнал интернет-соединения, проверять верстку сайта на разных размерах. Также у GCDt есть шаблон с размерами мобильных устройств.
Эмуляторы Android Studio и Genymotion. Иногда в компаниях не всегда бывают устройства, заявленные в требованиях, и, чтобы не откладывать проверки, можно воспользоваться эмуляторами мобильных устройств.
Jmeter – инструмент для нагрузочного тестирования. У него достаточно низкий порог вхождения. Помимо нагрузочного тестирования, Jmeter можно использовать как-прокси сервер для отслеживания запросов, проходящих через ваш продукт.
Терминалы – как правило, они не имеют графическую оболочку и являют собой просто командную строку.Терминалы имеют более низкую нагрузку на систему, и поначалу может быть непривычно их использовать, однако потом трудно будет перейти на графику. В тоже время в некоторых случаях терминал не прощает ошибки, но умение работать с ним достаточно полезный и необходимый навык для тестировщика. В некоторых случаях с помощью терминала можно совершить больше действий, чем мышкой.
Список материалов, которые помогут вам познакомиться с основами тестирования:
Способы применить теорию на практике
С теорией определились. Что же делать с практикой? Самый простой путь – взять любой сайт, и начать составлять тест-кейсы, чек-листы, проходить по ним. При нахождении ошибок составить баг-репорты и отправить их в службу поддержки. Как минимум, +100 к карме от разработчиков вам упадет, будьте уверены.
Для набора опыта стоит попробовать себя в crowd-testing – на фриланс площадках для тестировщиков. Подробнее об этом можно прочитать в статье.
Также некоторые компании выставляют свои проекты с открытым исходным кодом, чтобы желающие могли потестить и оставить какие-то замечания или пожелания о своем продукте. Не стесняйтесь участвовать на различных бета-тестах игр или программ. Как правило, именно на этих сырых приложениях бывает куча багов, которые легко отлавливать.
Кроме того, можно вступать в профессиональные сообщества. Например, QA mobile community – сообщество мобильных тестировщиков, сообщество по автоматизированному тестированию, сообщество тестировщиков Казани. Это заметно улучшит качество вашего развития и увеличит шансы обрести хорошую работу. Вступайте в группы в соцсетях, которые помогли бы вам обрести новые профессиональные знакомства. На примере опыта коллег по цеху вы сможете обрести свой и избежать некоторых ошибок, хотя иногда полезно и ошибаться.