Разное

Тестировщик по: тестировщик / Блог компании RUVDS.com / Хабр

Содержание

Чем занимается инженер по тестированию и как начать работать в этой области

Инженер по тестированию контролирует качество IT-продукта. Он находит ошибки, записывает их в отчет и передает разработчикам. На старте нужны минимальные технические навыки, поэтому такая профессия считается одной из точек входа в сферу IT. Фёдор Зволинский, руководитель службы тестирования Яндекс.Браузера, поделился особенностями работы инженера по тестированию и рассказал, какие качества помогут стать экспертом в этой области.

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

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

Задачи тестировщика

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

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

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

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

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

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

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

Первый этап. Сбор информации

Сначала нужно изучить задачу: какие требования и условия были у нового продукта, как это работает на практике и всех ли в команде устраивает результат. Всё это можно узнать у разработчиков и менеджера продукта.

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

Второй этап. Анализ

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

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

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

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

Третий этап. Разработка тестовых сценариев

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

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

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

«Простой пример: есть функция, которая считает суммарную стоимость купленных билетов в кино. При этом стоимость одного билета известна, а купить можно не более восьми билетов за раз. В таком случае мы можем воспользоваться двумя техниками, которые были придуманы до нас: классами эквивалентности и граничными значениями. Сначала нам нужно проверить, что функция действительно всё правильно считает. Возьмём значение из середины, допустим, 5. Если с результатом всё будет в порядке, следует проверить границы — 1 и 8, а также точки снаружи границ — 0 и 9. Таким образом мы создали всего пять тестов. А если бы мы перебирали все значения от 0 до 9, нам потребовалось бы десять проверок. Экономия времени и усилий в два раза», — объясняет Фёдор Зволинский.

Цель этого этапа — решить, как проводить тесты, выбрать инструменты и методику.

Четвертый этап. Тестирование

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

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

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

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

Пятый этап. Подготовка отчета

Ошибки нужно описать и показать. Кроме текста тестировщик готовит скриншоты или видео, где можно увидеть ошибку. Всё, что удалось обнаружить, нужно зафиксировать в специальных программах. Для этого используют Bugzilla, Redmine, Mantis, HP ALM. Если процессы в компании еще не настроены, работают с Word и Excel.

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

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

Шестой этап. Проверка исправленного продукта

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

Что нужно для старта

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

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

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

Станьте тестировщиком!

Образ современного тестировщика. Что нужно знать и уметь

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

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

Возросшие требования к тестировщикам, их знаниям и квалификации, так как всё чаще решаются задачи чуть сложнее, чем «клик-клик — и в продакшен». Работа тестировщиков становится всё более «инженерной», требует технической подкованности, специфических знаний, навыков и компетенций. Тестировщики всё чаще становится QA-инженерами (кто в теме, тот понимает разницу).

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

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


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

Как не потеряться в многообразии информации, которой наполнен интернет и мир вокруг?

Что учить самим или чему учить своих бойцов?

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

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

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

Черты характера

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

Почему я так считаю? Всё очень просто! Я легко могу отправить специалиста на курсы или конференцию, заказать книги или провести тренинги по нюансам тест-дизайна, языкам программирования, SQL, сетям и прочим техническим аспектам, чтобы через некоторое время получить первые результаты и в дальнейшем приумножать их, закрепляя полученную информацию на практике. Однако нельзя отправить на курс «Как перестать бегать за офисными плюшками и начать инвестировать в собственные знания», «Как перестать быть безответственным вруном и начать жить честно», «Как перестать быть серой мышью и стать увлечёным человеком», «Как перестать ненавидеть людей и научиться работать в команде» и рассчитывать на ощутимый результат после прослушивания. Увы, это правда жизни, внутреннее несогласие с которой позволяет широкому пласту «инфобизнесменов» зарабатывать на непокорных, жаждущих изменить свои фундаментальные столпы и черты характера единичным тренингом или серий онлайн-вебинаров. Именно поэтому так важно обладать на старте правильной жизненной мотивацией и качествами для работы в IT и в QA в частности. Итак, что же важно?

Мотивация учиться и склонность к самообучению

Честно ответьте себе на вопрос: нравится ли вам учиться? Не разово, а на постоянной основе. Готовы к единственному прыжку, который волшебным образом выведет вас «в дамки», или страстно желаете ежечасно и ежеминутно впитывать в себя новые знания? IT — это сфера, где достаточно неудачно моргнуть, и вы уже на обочине индустрии. Не стоит рассчитывать, что прочитав за год книгу по тестированию, вы раскроете для себя врата в дивный мир новых знаний, которые позволят вам быть в тренде на десятилетие вперёд. Идеально, если для учёбы вам не всегда нужен мудрый наставник и учитель и вы в состоянии самостоятельно усадить себя за новую книгу, вебинар или курсы.

Ответственность

Оцените свой уровень ответственности. Простой способ: озвучьте для начала сами себе несколько своих самых крупных ошибок в жизни. Не получается? Речь не о вашей безупречности, вспомните, что не ошибается только тот, кто ничего не делает. Вспомнили? Если только пару мелочей, то это грустный показатель. Хуже только, если вспомнив ошибки прошлого, вы тут же внутренне обвинили в них кого-то другого или обстоятельства, а не признали свою ответственность за произошедшее. А вот если вы вспомнили парочку крупных фейлов, где виноваты были именно вы, да ещё и вспомнили как их исправили, то дела с вашей ответственностью обстоят сильно лучше. Вышка — это когда вы не только исправили ошибку, но и застраховались от неё на будущее так, чтобы она не повторялась. Ответственный подход к работе — залог успешной карьеры в любой области, а потому и для тестировщика это крайне важная черта. Главное — не перегибать и знать меру, ведь гиперответственность — не всегда хорошо.

Увлечённость

Вы увлечённый человек? Вот честно, чем вы увлекаетесь? Ничем особенным? Или это много мелких хобби, которыми вы занимаетесь раз в год? Может, что-то большое, но времени постоянно не хватает, а потому хобби ждёт лучших времен. Человек остаётся человеком и в офисе, и когда выходит из него. И если человек действительно увлечён чем-то в обычной жизни, значит, и в работе его можно чем-то увлечь настолько, что он будет засиживаться вечерами или изучать вопрос на выходных по собственной инициативе. Задача грамотного руководителя и самого специалиста — найти такие задачи. Конечно, важно при этом доводить начатое до логического завершения и не бросать на полпути. Тестировщик не может быть «сухарём». А вот если он горит своей работой и продуктом, то результативность такого сотрудника будет выше.

Гибкость поведения

Важная черта для работы в современных IT-компаниях и в QA в частности — это гибкость. Новые знания и веяния приходят со скоростью ветров Юпитера, устоять в стиле Гендальфа Серого «Ты не пройдёшь!» перед индустрией крайне сложно и не всегда целесообразно. А потому довольно важно уметь подстраиваться под новые условия работы, будь то генеральная линия компании, новые продукты, команда, методологии работы или инструменты. Чем гибче сотрудник, тем больше шансов у него карьерно развиваться в IT.

Коммуникабельность и контактность

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

Командность

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

Инициативность и решительность

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

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

Основы тестирования

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

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

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

Локализация ошибок и багрепортинг

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

Техники тест-дизайна

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

Системы баг-трекинга, управления знаниями и тестами

Канули в небытие те времена, когда баг-репорты писали на листах, а тестовую документацию, чек-листы и тест-кейсы вели в гугл-доках (да-да, я знаю, что некоторые до сих пор пишут, и иногда это даже удобно). На смену этому самопалу пришли профессиональные инструменты — баг-трекинговые системы (из наиболее популярных стоит отметить Jira, Redmine), системы управления знаниями (Confluence, Wiki и другие) и системы управления тест-кейсами (TestRail, Zephyr, TestLink и т.д.). Базовые принципы работы с инструментами можно получить, вписываясь в открытые программы бета-тестирования или установив софт самостоятельно (на рынке есть как бесплатные решения, так и условно-бесплатные в масштабе ознакомительных сессий).

Методологии разработки ПО

Глубокого понимания методологий разработки ПО на начальных этапах тестировщику, может, и не потребуется, важно хотя бы на пальцах понимать отличия наиболее популярных (Waterfall, Scrum и Kanban). Но со временем ему придётся погружаться всё глубже и глубже в методологии, подбирая соответствующие подходы и техники при тестировании в контексте того или иного процесса разработки. Важно быть готовым к такому и уделять определённое внимание этой стороне вопроса.

Клиент-серверная архитектура

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

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

Принципы работы операционных систем, что они из себя представляют и какие вообще бывают — общие знания, которые, как правило, упрощают жизнь тестировщика. Даже понимание трендов замещения десктопных ОС мобильными, а также владение навыками работы с ОС на уровне пользователя уже плюс. А если погружаться в этот вопрос глубже, то со временем необходимо будет обзавестись навыками настройки и использования целой плеяды ОС (из самых популярных стоит отметить Android, Windows, iOS, macOS, Linux).

Клиентское тестирование веб-приложений

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

Браузеры

В контексте клиентского тестирования веба важно понимать устройство тонких клиентов, браузеров в частности, а также их отличия, специфику рендеринга и работы скриптов, движков под капотом, версионности, дополнительного инструментария браузеров и т.д. Тестировщику важно всегда держать в голове популярность использования того или иного браузера у реальных пользователей продукта, чтобы распределять тесты наиболее эффективным способом. Самые популярные: Google Chrome, Safari, Firefox, Opera, Internet Explorer.

Консоль разработчика в браузере

Веб-тестировщик должен уметь пользоваться консолью разработчика в браузере (как минимум работать с элементами на странице и сетевыми запросами). В случае работы с элементами страницы тестировщик должен понимать, как локализовать их или при необходимости изменить, а в случае с сетевым взаимодействием — уметь разбираться в последовательности запросов и полученных ответов. В идеале нужно знать различные http-методы (GET, POST, OPTIONS и другие), знать коды ответов (10Х-50Х), уметь читать заголовки и тела ответов.

HTML, CSS, JavaScript

Чтобы тестировщик лучше понимал, из чего состоят и как устроены современные веб-страницы, будет крайне полезно иметь хотя бы базовое представление о HTML, CSS, JavaScript. Эти знания также помогут локализовывать ошибки, связанные с конкретными элементами на странице, быстро находить их и при необходимости менять на клиентской стороне.

Бэкенд-тестирование

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

Модель OSI

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

REST. SOAP. JSON-RPC

REST, как архитектурный стиль клиент-серверного взаимодействия, лежит в основе современного интернета. Понимание требований к REST-архитектуре должно быть в арсенале знаний бэкенд-тестировщиков, равно как и знания о стандартах, используемых в нём (HTTP, JSON, XML). В отдельно взятых направлениях не менее важным может оказаться знание протоколов SOAP (а вместе с ним XML, XSD, WSDL) и JSON/XML-RPC, их возможностей и ограничений.

Командная строка

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

cURL. Postman. SoapUI

Для тестирования REST API на стартовом уровне отлично подойдёт утилита командной строки cURL, которая позволит тестировщику отправлять тестовые запросы и получать ответы, разбирать их и сравнивать фактический результат с ожидаемым. Более продвинутым и одновременно более казуальным (за счёт наличия GUI) инструментом тестирования API является Postman, навыки использования которого также весьма полезны. А если нужно тестировать SOAP API, то идеально подойдёт инструмент SoapUI (на самом деле с ним можно тестировать и REST API).

Базы данных

Тестировщику важно знать и уметь работать с СУБД, в первую очередь с SQL (MariaDB, MySQL, PostgreSQL, MS SQL). И наиболее востребованным является знание SQL. Очень часто в описании вакансий есть упоминания про этот навык, который звучит как «Знание SQL на уровне простых запросов». Как правило, для начала достаточно знать базовые вещи уровня INSERT, SELECT, DELETE, UPDATE, WHERE, ORDER BY, в некоторых случаях нужны JOIN, INNER JOIN, RIGHT JOIN, LEFT JOIN. Кроме того, несомненным плюсом будут знания и навыки работы с NoSQL БД (MongoDB, Cassandra). Они позволят тестировщику сверять ожидаемые и фактические результаты в ходе выполнения тестов при работы с данными.

Клиентское тестирование мобильных-приложений

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

IDE

Для тестировщика мобильных приложений важно освоить на базовом уровне среду разработки (XCode для iOS, Android Studio для Android). Знания этих инструментов позволяют осуществлять локальные сборки приложений, при необходимости и с помощью разработчиков конфигурировать их под нужды тестирования, лучше локализовывать баги, читая клиентские логи, и даже работать с исходниками приложения. Кроме того, в IDE есть возможность запуска приложения через эмулятор, что может пригодиться тестировщику.

Инструменты мониторинга HTTP/HTTPS-трафика

Тестировщик обязан понимать клиент-серверную архитектуру и уметь локализовывать ошибки с её учётом. И если в тестировании веб-приложений для этого обычно хватает консоли разработчика, то для мобильных приложений нужно использовать специализированное ПО (Charles, Fiddler, Wireshark), которое позволит перехватывать и анализировать сетевые запросы. Т.е. с помощью этих инструментов в большинстве случаев можно довольно точно определить, на чьей стороне проблема. Более того, они позволяют подменять запросы, эмулируя то или иное поведение ПО (как со стороны клиента, так и со стороны сервера). Это нужно не только для локализации проблем, но и для проведения ряда испытаний в рамках тестирования приложения.

Сервисы дистрибуции мобильных приложений

Для тестирования разных версий приложений необходимо иметь базовые навыки работы с сервисами дистрибуции мобильных приложений, например, Fabric (Crashlytics), HockeyApp, TestFlight. Они позволяют не только получить нужные сборки для тестов, но и анализировать статистику использования, а также работать с падениями приложений, локализуя проблемы и выясняя их причины.

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

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

Язык программирования

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

Первый:

сложность обучения языкам — штука довольно относительная, ведь кому-то проще даётся модный стильно-молодёжный Python с динамической типизацией, а кому-то легче с жёстко типизированной и структурированной Java со статической типизацией. Важно попробовать и понять, твоё это или нет.

Второй:

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

Третий:

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

На основе опыта последних лет самыми популярными языками в контексте тестирования я бы назвал Python, Java, PHP, а в мире мобильной разработки — нативные языки Kotlin, Objective-C и Swift.

Тестовые фреймворки

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

Драйверы и надстройки для автоматизации тестирования

Помимо тестового фреймворка специалисты по автоматизации тестирования должны использовать драйверы, которые позволяют взаимодействовать с приложением через программный интерфейс вместо графического. Без них не обойтись, если вы собираетесь автоматизировать клиентские приложения. Если вы собираетесь работать с вебом, то обязательно нужно изучить Selenium WebDriver, если с iOS — XCUITest, а для Android вам пригодятся Espresso и UI Automator (нативная поддержка от Google), вариативно — Robotium или Selendroid. Для пущего удобства используют надстройки, которые, с одной стороны, усложняют инструментарий специалиста по автоматизации, а с другой — дают дополнительные возможности. Особое внимание рекомендую тут уделить Appium и Cucumber.

Системы отчётности результатов автотестов

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

Системы контроля версий

После того как вы напишете свой первый автотест, вам непременно захочется писать ещё и ещё, а затем модифицировать, ускоряя работу, расширяя логику, углубляя проверки, а потом и поделиться результатами с коллегами. Хранить каждую из версий ваших тестов локально, раскладывая по различным папкам, архаично, трудоёмко и неудобно. Поэтому логично перенимать лучшие практики от программистов и научиться пользоваться системами контроля версий. Из наиболее популярных стоит отметить Git, SVN, Mercurial, TFS. Замечу, что Git доминирует на рынке и при прочих равных стоит использовать именно его. На начальном этапе тестировщику потребуется знание того, что такое commit, push, pull (force), fetch, checkout, branch, merge, rebase, revert.

Системы непрерывной интеграции

Запустив свой первый автотест, вам непременно захочется делать это ещё и ещё, а со временем даже поделиться с кем-то этой возможностью. И тут на помощь придут инструменты непрерывной интеграции, такие как Jenkins, TeamCity, Bamboo. Скорее всего, у коллег-разработчиков есть свой CI-инструмент для сборки проектов, возможно, даже и для запуска unit-тестов. Чтобы примкнуть к ним со своими функциональными автотестами будет здорово, если вы будете понимать принципы работы этих инструментов. А если ничего подобного у коллег ещё нет, тогда вы будете первопроходцем и сможете делать удобные параметризированные запуски своих автотестов (на разных хостах, с разными данными и т.д.) по факту изменений, запросу или по расписанию.

Возврат инвестиций от автоматизации тестирования

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

Управление командой тестирования

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

Лидерство

Я глубоко убеждён, что лидерство — прирождённое качество, недаром Генри Форд говорил: «Спрашивать, кто должен быть боссом, всё равно что спрашивать, кто должен быть тенором в этом квартете». Тем не менее, можно научиться лидерству. Ведь есть и обратное мнение, что лидерами не рождаются, а становятся. Безусловно, лидерские качества, есть в каждом из нас. Другое дело, что для одних руководить и воодушевлять людей —это дар и мана небесная, а для других — кошмар и адовые муки. Сложно себе представить, что кто-то из читателей сознательно выберет путь развития в управленцы, зная, что это будет приносить дискомфорт и неприятности. Всё-таки с желанием быть лидером у управленца значительно больше шансов на успех.

Решительность

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

Формирование команды

Умение работать с командой, формировать её, направлять и развивать — важные качества руководителя. Группа людей — ещё не команда. Изначально у них могут быть разные цели и задачи. Пока они не объединены идеей, не мотивированы и не жаждут плечом к плечу преодолевать трудности, они не могут быть командой. Задача хорошего руководителя — сплотить людей, склеить их, подбирая задачи и выставляя цели, которые будут приводить к формированию настоящей команды. Для этого потребуется и умение подбирать новых людей, и находить подход к своим сотрудникам, а при необходимости и с кем-то попрощаться. Вам надо научиться работать с разными людьми, развивая свои способности находить общий язык с командой, формировать её и развивать для эффективной совместной деятельности.

Планирование

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

Навык убеждения и ведения переговоров

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

Позитивное мышление и умение мотивировать

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

Итого

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

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

Надеюсь, что статья оказалась полезной для тех, кто её прочитал, будь то новичок или опытный специалист, ведь выбор профессиональных линий развития в области тестирования достаточно велик, чтобы в нём слегка потеряться. Напомню, что вся эта история — in my humble opinion, а потому не судите строго и не забрасывайте тапками. Буду благодарен за конструктивную обратную связь.

Всем качества!

Работа тестировщиком без опыта — вся правда !

Однажды, в очередной кризис, у меня опять резко закончились деньги. И я опять начал искать, где их взять. И тут мне на глазу попалась заметка, в которой рассказывалось про работу тестировщиком без опыта. Имеется в виду, тестировщик программного обеспечения. Это меня заинтересовало. Что это за такой “недопрограммист”, который зарабатывает немного меньше “взрослого” программиста. Да еще и в баксах?

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

Ну а в конце статьи Вы узнаете про самый главный кошмар тестировщика…. Ну что, поехали ?

Содержание статьи

  1. Тестировщик ПО Vs QA инженер. Кто есть ху ?
  2. Где научиться тестированию программного обеспечения
  3. Краудтестинговые платформы – “ясли для тестировщика”
  4. Работа QA инженером “по взрослому”
  5. Плюсы и минусы работы тестировщика
  6. А сколько же можно заработать на тестировании ПО ?
  7. Требования к тестировщику
  8. Личностные качества тестировщика ПО
  9. Мифы про профессию тестировщика
  10. Главный кошмар тестировщика

Тестировщик ПО Vs QA инженер. Кто есть ху ?

Итак. Для начала вообще нужно понять. А что это за профессия такая? И есть ли отличие между тестировщиком и QA инженером? Тестировщик программного обеспечения – это такой человек, который выискивает “косяки” в программах. Ошибки. Под программами подразумевается ооооочень широкий круг…. программ. От веб-сайтов до прошивки смарт телевизоров.

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

Тестировщик ПО чем-то похож на охотника. Он также терпеливо выслеживает ошибки. И должен обладать терпением и внимательностью.

А кто же такой QA инженер? В переводе с буржуинского, Quality Assurance engineer, то бишь инженер, который гарантирует качество программы.

Вообще, если по секрету, тестировщик ПО и QA инженер – это фактически одно и тоже. И работу тестировщик ПО и QA инженер делают одну.

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

А QA инженер – это уже “прокачанный” тестировщик. Он уже может и сам писать тест-планы. Может автоматизировать работу. Знает один или несколько языков программирования. Работает в штате компании.

Где научиться тестированию программного обеспечения

Ответ на этот вопрос достаточно простой. Если у Вас нет опыта в программировании, и хочется побыстрее начать работу тестировщика без опыта, то… изучайте краудтестинговые платформы. Что это такое? Об этом ниже…

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

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

Если же Вы хотите работать в QA инженером, то без хороших курсов не обойтись. Я сейчас не буду рекламировать те или иные курсы. Их много. Только учтите, что эти курсы обычно достаточно дорогие. И длятся несколько месяцев.

 

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

К сожалению, Вузовского образования по профессии QA инженер или тестировщик ПО я не нашел.

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

Краудтестинговые платформы – “ясли для тестировщика”

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

Что это такое краудтестинговые платформы? Это такие своеобразные биржи фриланса. С одно стороны на них обитают заказчики, которым нужно что-то протестировать. С другой – специалисты по тестированию ПО.

Работа практически на всех краудтестиновых платформах строится по одному принципу. Есть какое-либо вводное обучение. Далее идет вводные тест. Если все хорошо, Вас допускают к реальным проектам. И Вы можете начать прокачивать свой рейтинг, ведь от этого будет зависеть и Ваша “зарплата”.

А “доход” обычно начисляется в английских тугриках. И в принципе он достаточно неплохой.

Но… Важно знать. На большинстве краудтестинговых платформ оплата идет ТОЛЬКО за найденные ошибки! И причем, Вы должны найти эти ошибки раньше других тестировщиков. Если опоздали или не нашли, чтож… Нет ножек-нет мультиков 🙂

Да. Помните. Чем “крупнее” ошибки Вы находите, тем выше Ваше вознаграждение!

Краудтестинговые платформы в основном “буржуинские”. Вот некоторые из них. Часть только на английском (или немецком языках). Часть переведена (не полностью) на русский. Но велика вероятность получения задания на английском языке.

Если Вы работали на одной их них, оцените ниже, какая понравилась больше.

https://test.io/ – одна из старейших платформ краудтестинга

Мне нравится2Не нравится

https://www.testbirds.com/ – есть вариант для русскоязычных пользователей.

Мне нравится1Не нравится1

https://www.passbrains.com/ – еще один сайт для тестирования ПО

Мне нравитсяНе нравится

https://www.globalapptesting.com/ – еще краудтестинговый сайт

Мне нравитсяНе нравится

https://ubertesters.com/ – еще одна (немецкая) платформа для тестирования

Мне нравитсяНе нравится

https://testlio.com/ – еще ловите сайтик для тех, кто ищет работу тестировщика ПО без опыта

Мне нравитсяНе нравится

 

https://www.crowdtesting.ru/ – и еще. Это уже на русском языке, что является редкостью в мире тестировочных платформ.

Мне нравитсяНе нравится

Про условия работы на этих сервисах лучше сами посмотрите у них. Заодно и с платформами ознакомитесь.

 

Работа QA инженером “по взрослому”

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

Здесь в отличие о фриланса, Вам будут платить именно за работу, а не за найденные баги.

Где же найти работу тестировщику ПО без опыта? Да много где! Главное, пройти хорошее обучение. О чем я писал выше.

Итак. QA инженера с распростертыми объятиями ждут:

  • Фирмы-разработчики любого программного обеспечения
  • Разработчики игр
  • Разработчики мобильных приложений
  • Финансовые компании, например банки. Или биржевые брокеры
  • Системные интеграторы. Если Вы не знаете, кто это такие, то не просто запомните название 🙂
  • Иногда заводы или производственные фирмы
  • Веб-студии
  • …..

Короче, без работы не останетесь! А самое приятное в этом, что работа тестировщика очень востребована в западных фирмах. И оплачивается, соответственно лучше…

Плюсы и минусы работы тестировщика

Почему Вам СТОИТ искать работу тестировщика ПО ?

  • Эта работа проще, чем у программиста. Во всяком случае, до определенного уровня
  • Высокая востребованность профессии тестировщика ПО. Без работы точно не останетесь!
  • Часто свободный график! И даже у штатных сотрудников!
  • Можно работать удаленно. Из любой точки мира.
  • Вы увидите продукт со всей стороны. Можете перейти на другую должность. Программист. Или…. коммерческий директор

Почему Вам НЕ СТОИТ искать работу тестировщика ПО ?

  • Никто не любит тестировщиков. Особенно программисты. Вы же находите их ошибки!
  • Достаточно скучная работа. Смотрели “День сурка”? Вот примерно так..
  • Тестировщиков часто назначают “крайними”. Ведь за ними ошибки-то никто не ищет!
  • Работа тестировщика сродни работе шпиона. Он боец невидимого фронта. “Медали” дают реже!
  • Часто бывает сверхурочная работа. И не всегда оплачиваемая.
  • Огромная ответственность. Не работает программа ? А куда смотрел тестировщик?

Ну и подумайте сами, что для Вас в итоге перевесит. Минусы или плюсы?

А сколько же можно заработать на тестировании ПО ?

На фрилансе, то есть на краудфандинговых платформах, ориентируйтесь на сумму от 5 $ до 500 $ в месяц. Как я уже писал выше, “улов” в основном зависит от количества и качества найденных багов. То есть, нередко можно работать, работать и получить кукиш с маслом 🙁

Хотя иногда есть и работа для фрилансера с оплатой “за работу” а не “за найденные ошибки”.

А вот если Вы пойдет работать “в штат”, то тут уже зарплаты более серьезные. Данные на “сейчас” по России

Для специалистов ручного тестирования:

Для специалистов автоматизированного тестирования:

Так что, все  в Ваших руках. Кстати, в зарубежных компаниях зарплаты выше.

 

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

Ну если Вы ищите работу тестировщиком с нуля и без опыта, то для Вас и требования будут нулевые (чуть не написал “обнулённые” 🙂 ).

А вот если Вы хотите стать крутым тестировщиком, то смотрите, что Вам нужно знать:

  • Один или несколько языков программирования. Наиболее востребованы C++, С#, Java, SQL, Python
  • Архитектуру ПК и серверов
  • Основы Linux
  • Модель OSI
  • Инструменты управления тестированием, багтрекеры
  • Владение стратегиями тестирования на профи уровне

Личностные качества тестировщика ПО

Но это еще не все! Для успешной работы тестировщиком у Вас должны быть прокачаны:

  • Внимательность
  • Мозоли на попе усидчивость
  • Аналитические навыки
  • Умение управлять временем
  • Психическая устойчивость
  • Интуиция

Впрочем, все это можно со временем развить.

Мифы про профессию тестировщика

Немного поговорим про мифы профессии тестировщика.

  • Тестировщики – это подсобные рабочие программиста. Недопрограммисты..

Конечно же, это ошибочное мнение. Часто тестировщики имеют более “продвинутые” знания, чем программисты. И более широкий кругозор. Из тестировщиков часто выходят отличные програмисты. А вот наоборот – редко.

  • Тестирование – это простой поиск багов

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

  • Тестировщики мало получают

Ну по началу может и так. Но… продвинутые тестировщики, или точнее QA инженеры, получают зарплаты, сравнимые с зарплатами программистов. Ну Вы и сами это видели немного раньше.

Главный кошмар тестировщика

А вот и главный кошмар QA Инженера

Нет.. Это был не кошмар тестировщика, а один день из его жизни.

А кошмар тестировщика, это когда Вы первый раз начинаете тестировать.  И… ничего не находите! Совсем ничего. Даже самую малюююююсенькую ошибку! Вы начинаете сомневаться в себе. И тут, о радость, нашлась родимая! Вот она ошибочка! Такие дела!

В завершении темы

Самое главное. Поработав тестировщиком, можно развиваться как “вширь”, так и “вглубь”. То есть, или прокачивать и дальше свои профессиональные навыки тестировщика. Или направить свой взор в сторону профессионального программирования! И там, и там Вы сможете развиться и заработать денег!

А вот, кстати, и таблица рейтинга краудтестинговых платформ… Составлена по Вашим лайкам и дизлайкам выше…

www.globalapptesting.com

0

Теперь Вы знаете, что такое как работать тестировщиком без опыта. Если у Вас есть опыт подобной работы – то поделитесь. Буду рад услышать Ваше мнение.

Ваш Nаставник онлайN

Александр Бессонов

Как стать тестировщиком или каких знаний мы ждём от джуниора

Пара вводных слов

Всем доброго времени суток, меня зовут Туманов Дима. Сейчас я работаю в компании Rambler&Co и отвечаю за тестирование на проектах Афиши. В рамках данной статьи я развею несколько мифов об IT и тестировании в частности. Кроме того, приведу примеры из жизни как “не зная ничего” стать Junior QA Engineer в крупной компании.

Начало пути

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

Вопрос №1 — “Какую область для работы выбрать”

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

Вопрос №2 — “Какую профессию выбрать”

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

Вопрос №3 — “Какую компанию выбрать”

По сути все компании можно классифицировать несколькими способами. Во-первых по отношению заказчик-разработчик. Есть принципиальная разница между компаниями аутсорсерами и продуктовыми компаниями. Для первых самым важным является продажа продукта. Да, есть имя компании, отзывы клиентов, но так или иначе заработок идёт от прямых продаж. Для вторых важным является иметь качественный и популярный продукт. На таком продукте можно разместить дорогую рекламу и заработать много денег. Поэтому с точки зрения тестирования сильная команда будет сформирована именно в продуктовой компании. Во-вторых компании стоит разделять на русские и импортные. На текущий момент тестирование остаётся слабо развитым направлением в России. Это даёт свои плюсы и оставляет возможность занять своё место под солнцем без сильных проблем. Но, с другой стороны, сужает выбор достойных мест для работы. Благо в крупных интернет компаниях рунета уже “пройден этап варварства и созданы первые государства”. Для меня было важно работать именно в русской компании. Это что-то вроде “странного” патриотизма, если хотите. Исходя из всего этого мой выбор пал на крупные продуктовые интернет компании России. Таких кстати совсем немного и вы легко можете найти их рейтинг в Forbes (2014, 2015, 2016).

Вопрос №4 — “Как решить проблему отсутствия опыта”

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

Вопрос №5 — “Какие знания нужно получить и как это сделать”

  • Погружение в теорию тестирования. В первую очередь нужно научиться говорить на языке IT и тестирования в частности. Для этого необходимо разобраться с тем, что такое обеспечение качества и с основными понятиями из тестирования ПО. Данные материалы можно раскопать почти в любой книге по тестированию, но я ярый противник “технических” талмудов и считаю их медленным источником информации. Намного проще и быстрее это сделать из отдельных статей:
  • Изучение Bug Tracking систем. Ключевым навыком инженера по тестированию является поиск, локализация и качественное заведение дефекта. Баг не существует в вакууме, он чётко связан с разделом программы, воспроизводится на списке конфигураций (операционная система и её версия, браузер и его версия), имеет свой приоритет. Более того работу над исправлением дефекта проводят несколько разных специалистов. Для того чтобы сделать процесс управления починки дефекта управляемым используют специальные системы. Здесь есть иллюзия выбора. Есть широко распространённый Redmine. Но если вы нацелены на работу в компании, указанного выше класса, то вам стоит изучать Jira. Для этого рекомендую сделать следующее:
    • Поставить себе пробную версию продукта и пройти эти ролики
    • Поставить себе и изучить базовые гаджеты: 1, 2, 3
  • Изучение Test Management систем. Любой софт — это по сути набор возможностей, то есть так или иначе конечное множество. При этом логика работы каждой из них не является идеальной моделью, а значит количество багов в системе всегда бесконечно. Вопрос в том что мы считаем багом, а что нет. Тут на помощь нам приходят требования от заказчика, описывающие то каким должен быть наш продукт. В качестве требований не обязательно должно быть техническое задание на тысячу страниц. Это также может быть прототип или постоянное живое обсуждение, если ваш продукт это просто новая доработка. Для перевода требований в набор проверок существуют методы из теории тестирования, которые вы уже должны были изучить выше. Но тесты, как и дефекты не существуют в вакууме и над одним функционалом может одновременно работать несколько специалистов по тестированию. По аналогии для управления процессом написания и применения тестов используют специальные системы. Лихие 90-е ушли и работа в “эксельках”, “блокнотиках” и “тестлинках” уже не является нормальным явлением. Недавно я проводил аудит по поиску подходящей системы. В основном они либо ничего не делают, либо стоят как космолёт. Золотой серединой является TestRail. Для его изучения нужно сделать следующее:
    • Поставить себе пробную версию и пройти эти ролики
  • Поднятие технического бэкграунда. Мы занимаемся web и mobile приложениями, поэтому рассуждение пойдёт в этом ключе. Настоящий тестировщик обязан понимать “начинку” того, что он проверяет. Это экономит время команды, так как специалист по тестированию сам может определить истинную причину дефекта и описать её правильно. Да и тестировать то, о чём ты ничего не знаешь как минимум странно. Плюс глубокое понимание улучшает ваши коммуникации с другими техническими специалистами. Для старта хватит этих общих знаний:
  • Изучение программирования. Извечный вопрос нужно ли уметь программировать тестировщику имеет очень простой ответ. Нужно. Связано это с тем самым техническим бэкграундом во-первых и с развитием аналитичности вашего мышления во-вторых. На начальном этапе достаточно иметь базовые представления о программировании, в будущем для качественного роста вам потребуется изучить один из популярных языков. Например, Python или Java. На старте стоит изучить следующее:
  • Преодоление преграды отсутствия опыта. В IT-отрасли сейчас сильная нехватка кадров, в частности тестировщиков, поэтому часто берут перспективных кандидатов без опыта. Действительно, проще научить с нуля, чем переучивать. Для того, чтобы стать более востребованным по сравнению с другими стоит пройти специализированные курсы по тестированию. На них можно получить структурированные знания и самое главное опыт реального тестирования. Я рекомендую пройти курс “Школа успешных тестировщиков, v 2.0” с этого портала
  • Поиск работы. Дальше остаётся только составить резюме, учитывая обновлённые знания и навыки, и научиться грамотно использовать hh

Перспективы развития

Работа занимает треть нашей жизни. Если отбросить сон, то это вообще половина нашего времени. Единственно правильным считаю работать там и делать то, что действительно нравится. Помимо морального удовлетворения есть и материальные блага. Уровень зарплат по официальным источникам даже на старте превышает среднюю температуру по больнице. Наличие ДМС, скидки на фитнес или наличие зала внутри компании, бесплатные билеты на различные мероприятия и прочие бонусы конечно же присутствуют. К тому же работа оценивается по количеству сделанной работы, а никак не по проведённому на ней времени. В IT всегда гибкий график и “опоздание на 15 минут” никак не будет наказываться. Более того, на это даже никто не обратит внимание, потому что это действительно нормально. Роль тестировщика — это не окончание вашего движения, это лишь точка входа. После пары лет хорошей практики в тестировании вы сможете выбрать любой путь развития в компании.

Почему я уверен в вашем успехе

Как когда-то сказал Стив Джобс: “Нельзя соединить точки жизненного пути, смотря вперёд. Их можно соединить, только оглядываясь в прошлое”. Именно этот принцип и даёт мне уверенность в том, что стать тестировщиком и начать получать удовлетворение от работы может абсолютно каждый. Есть и другие примеры за последние несколько лет, которые только подтверждают доступность данной профессии. У меня был некий Challenge Accepted. В какой-то момент ко мне почти одновременно обратилось два человека, которых я очень хорошо знал. Один из них на тот момент работал в правоохранительных органах, другой был профессиональный военным. Схожесть ситуации была на лицо. Они большие молодцы и с большой настойчивостью проходили примерно описанный выше план. Такое самообучение и поиск самой работы у них заняло порядка трёх-четырёх месяцев. Сейчас они работают тестировщиками, имеют перспективы для развития, гибкий график и думаю много чего в их жизнях ещё изменилось.

Post Scriptum

Ещё раз подчеркну. Войти в данную профессию не сложно. Это сможет каждый. Дальнейшее развитие в IT зависит уже только от вас.

Кто такой тестировщик. Обзор изнутри от Евгения Шидловского

Про профессию рассказывает Евгений Шидловский, ведущий инженер-программист (lead software test automation engineer) в EPAM и преподаватель курса «Тестирование ПО» в IT-Academy. 

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

Евгений Шидловский в профессии более семи лет. До того, как стать тестировщиком, 10 лет работал военным врачом. В составе медицинской бригады участвовал в миссии ООН в Ливане. После курсов в IT-Academy попал на стажировку в лабораторию EPAM и через 11 дней получил оффер. В компании прошёл путь от функционального тестировщика до руководителя команды автоматизаторов.  


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

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

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

В своей работе тестировщик постоянно взаимодействует с представителями заказчика, бизнес-аналитиками, разработчиками и дизайнерами.

Вся команда нацелена на создание «правильного» продукта, но тестировщик — человек, которого больше всего интересует именно качество продукта.

Какие бывают тестировщики

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

На рынке труда чаще всего встречается функциональный (мануальный, manual QA engineer) тестировщик. Это человек, который придумывает тесты и «вручную» проверяет программы на баги и уязвимости.   

Автоматизатор (test automation engineer) пишет код, который автоматизирует процессы тестирования. 

Эти две специальности наиболее распространённые, и дальше мы будем говорить в основном о них. 

Иногда в отдельную роль выделяют security-тестировщика — человека, который занимается проверкой систем безопасности. BI (business intelligence) — тестировщик, которы работает с большими объёмами данных. В некоторых компаниях есть целые отделы performance-тестирования —  контроля производительности ПО и нагрузок на приложения. Usability-тестировщики проверяют, насколько продукт удобен в использовании и привлекателен для пользователя.      

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

Кто такие QA и QC 

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

Традиционно под QA (Quality Assurance) понимается нечто глобальное: обеспечение всего процесса разработки, начиная от выбора методологии и специалистов и заканчивая общим контролем качества.  

QC (Quality Control) — так иногда называют среднестатического специалиста по функциональному тестированию, который проверяет, насколько разработка продукта соответствует всем требованиям.     

Встречается ещё третье понятие —  Testing, или процесс тестирования продукта. 

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

В вакансиях на рынке труда функционального (мануального) тестировщика могут называть и QA, и tester, и test engineer. Это разные наименования для одной и той же профессии. 

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

Также существует такое понятие, как TestOps (по аналогии с DevOps). Иногда употребляются термины DevTestOps и DevTestSecOps. Это специалист, который помимо тестирования ещё занимается поддержкой всей инфраструктуры: разворачивает и обслуживает сервера, автоматизирует тесты и процесс сборки приложения.  

Содержание работы тестировщика 

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

  1. Изучить спецификацию продукта (программы). 
  2. Разработать методы для проверки продукта. 
  3. Провести проверку продукта.
  4. Сделать выводы по итогам проверки. 
  5. Перечислить найденные уязвимости и недочеты продукта в техническом документе (чаще всего на английском языке). 

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

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

Я выделил бы две категории проектов, с которыми имеет дело тестировщик: проекты в разработке и проекты в поддержке. Работать на проектах первого типа гораздо интересней и динамичней. Тестировать продукт, который появляется у тебя на глазах, — это настоящий «раш».  Лично мне больше всего нравится работать с системами управления предприятиями. Это очень сложные задачи, где много бизнес-логики и технической составляющей. 

Тестировщик и код

Среднестатистическому тестировщику язык программирования в принципе не нужен. Можно успешно заниматься функциональным тестированием 10 лет и не написать ни одного скрипта. Язык обязательно нужен для автоматизированного тестирования. Автоматизатор — разработчик, который пишет код для тестирования другого кода. 

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

Где и как учиться на тестировщика

Расскажу на примере своей работы. Я обучаю тестировщиков в IT-Academy. Наш курс длится 9 недель или 27 занятий. За это вермя можно получить базовую подготовку, достаточную для начала работы в качестве тестировщика. Но это очень интенсивный курс.

Я всегда говорю, что правильный подход во время обучения: не спать, мало есть, ничем больше не заниматься и 9 недель штудировать материалы. 

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

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

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

На рынке можно найти множество курсов: очных и дистанционных, платных и бесплатных. 

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

Книги и ссылки 

  • Software Testing Udacity — попробовать бесплатный онлайн-курс.
  • Testing Challenges — «пощупать руками» интересные задачки для тестирования  .  

Много ссылок на обучающие ресурсы представлены в списке на сайте IT-Academy.

Карьера и рост

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

Тестировщику необязательно обладать глубокими техническим навыками, знать языки программирования или даже иметь математический склад ума. Хотя ситуация меняется и требования к кандидатам растут. Говорят, 10-15 лет назад ИТ-компании брали в тестировщики чуть ли не людей с улицы. Лет 7 назад (когда я сам приходил в профессию) новичку уже надо было крепко владеть теорией. Сегодня на собеседованиях чаще проверяют базовые технические навыки: работу с базами данных и сетями, администрирование. 

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

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

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

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




Кто ты, QA-инженер или тестировщик? / Блог компании Dodo Engineering / Хабр

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


Больше трёх лет я занимаюсь обеспечением качества продуктов. И всё это время наблюдаю за эволюцией процессов тестирования в компании.

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

До текущих процессов с блэкджеком Scrum-Less и автотестами на Selenium.

Накопленный опыт и черты характера типичные для моей профессии привели к размышлениям о том, кто такие тестировщики, QA и QC. Разные это суть сущности или пересекающиеся? В статьях и конференциях я часто сталкиваюсь с какой-то путаницей, мне это не нравится. Поэтому я решил поделиться своими мыслями на этот счёт. Осторожно, данная статья не является истиной в первой инстанции. Данная статья — мысли вслух и желание найти единомышленников.

QA, QC и тестировщики: три большие разницы?

Начнём наши поиски и копания с обращения к Международному стандарту системы менеджмента качества ISO 9000:2015. В каждой статье, в каждом видео на тему отличия этих понятий есть ссылка на этот документ, моя статья не исключение.

В пункте 3.2 стандарта раскрываются два определения:

  1. Обеспечение качества (3.2.10) — часть управления качеством, направленная на обеспечение уверенности в том, что требования к качеству будут выполнены.
    Оригинал

    Quality assurance (3.2.10) — part of quality management focused on providing confidence that quality requirements will be fulfilled.

  2. Контроль качества (3.2.11) — часть управления качеством, ориентированная на выполнение требований к качеству.
    Оригинал

    Quality control (3.2.11) — part of quality management focused on fulfilling quality requirements.

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

Отмечу, что в стандарте ISO 9000:2015 вообще нет понятия tester как такового. Я искал.

Так каким же образом взаимосвязаны понятия Quality assurance, Quality control и Тестирование между собой?

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

Но лично мне кажется, что раз в стандарте нет понятия tester или testing, а QC — это и есть разного рода тестирование, то и иллюстрации должны быть такими:

Однако стандарт есть стандарт, а у нас тут реальная жизнь. И в реальной жизни IT-индустрии встречаются только два названия нашей профессии:

  1. QA-инженер.
  2. Тестировщик Программного обеспечения (ПО).

Причём очень часто эти понятия взаимозаменяются и путаются. Неразбериха начинается ещё на этапе описания вакансий.

Ищу Тестировщика ПО (QA-инженера)

Я бы не писал эту статью, если бы в индустрии не смешивали эти роли и не называли тестировщиков QA-инженерами и наоборот. По моим наблюдениям, в России не разделяют две профессии. Всех для простоты (а может по незнанию) называют тестировщиками. И ладно бы таким грешили только работодатели, но путаницу поддерживают и сами тестировщики. Например, на Хабре можно встретить статьи, где авторы на протяжении всего текста называют одних и тех же людей тестировщиками, QC-инженерами, QA-специалистами, инженерами по тестированию и тестерами.

Масла в огонь подливают HR-менеджеры: часто для увеличения охвата аудитории они пишут в названии вакансии «Тестировщик ПО (QA инженер)». Шапкой вакансии дело не заканчивается, винегрет продолжается и в самом описании.

Давайте обратимся к вакансиям QA-инженеров:

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

Или ещё один красочный пример:

И ещё:

И на сладкое:

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

Если вы помните, в ISO 9000:2015 есть QA и QC. Что будет, если выполнить запрос на hh.ru по ключевому слову QC? А ничего не будет. Вы не увидите вакансий ни QA, ни тестировщика. По такому запросу появятся вакансии, связанные с производством и контролем качества выпускаемой продукции.

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

Что такое обеспечение качества

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

  1. Для кого эта конференция?
  2. С чем она у вас ассоциируется?

Конференция QualityConf целиком и полностью посвящена качеству, а не тестированию. Однако при подготовке очередной конференции организаторы провели исследование и задали вопрос своим посетителям: «С чем у вас ассоциируется конференция?».

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

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

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

Оригинал

Quality is a customer determination, not an engineer’s determination, not a marketing determination, nor a general management determination. It is based on the customer’s actual experience with the product or service, measured against his or her requirements — stated or unstated, conscious or merely sensed, technically operational or entirely subjective — and always representing a moving target in a competitive market (Armand Feigenbaum «Total quality control»).

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

QA ≠ QC: как их различить

QC: кто эти люди, какие у них задачи, какие у них ограничения

Кто эти люди? Люди, которых называют тестировщиками, тождественны контролю качества QC. По логике вещей они на последнем этапе разработки проверяют качество продукта (любым видом и типом тестирования  —  ручным, автоматизированным, нагрузочным, тестированием безопасности и т.д.).

Какая у них задача? Их задача — провести валидацию продукта и предоставить информацию бизнесу и разработчикам о соответствии продукта заявленным требованиям.

Какие у них ограничения? Какие могут быть недостатки, если у вас все сотрудники проверяют продукт на соответствие:

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

QA: кто эти люди, какие у них задачи, какие у них ограничения

Кто эти люди? Инженеры по обеспечению качества (QA) — это люди, которые помогают командам разработки выпускать качественный продукт, как можно быстрее за как можно меньшие деньги. Ведь все мы знаем, что чем раньше найден баг, тем дешевле его пофиксить. Лучше всего фиксить баги ещё на уровне идеи.

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

Какая у них задача? Задача QA-инженера  —  не допустить несоответствия продукта предъявляемым требованиям. QA-инженер замеряет качество продукта, знает его актуальное состояние и что нужно сделать, чтобы его поднять не только на этапе тестирования, но и на этапе разработки, дизайна или составления требований.

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

В отличие от QA, работу QC оценить можно, особенно если отталкиваться от самого простого и оценивать эффективность по количеству багов — сколько багов нашёл и сколько багов пропустил на прод.

Как дальше жить?

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

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

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

от “Войти в IT” до “Я — Инженер!” / Блог компании Exness / Хабр

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

Если забежать вперед, то ответ, безусловно, будет — «Да, это возможно!». Но и здесь есть определенные условия: необходимые и достаточные.

Эта статья будет полезна не только тем, кто хочет найти себя в мире IT и тестирования, но и тем, кто уже начал свой путь!

Я хочу стать тестировщиком! С чего начать?

Тестирование как часть процесса разработки программного обеспечения зародилось в начале 1980-х годов благодаря Гленфорду Майерсу. Его книгу «The Art of Software Testing», несмотря на то, что она была написана очень давно, я рекомендую к прочтению всем. В те времена тестировщик должен был обладать «тайными» знаниями систем, которые тогда существовали. Постепенно компьютеры и программное обеспечение становились доступнее для рядового пользователя. И стало возможным тестировать, имея только навыки пользователя данного ПО. Плюс, конечно же, желание. 

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

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

Hard skills:

Soft skills:

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

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

Тестировщик — это прежде всего человек с критическим складом ума, это инженер, который смотрит в суть проблемы и видит полную картину применения продукта. Бывает, что программисты, «голубая кровь» цикла разработки ПО, пренебрежительно относятся к тестировщикам. Раньше мне приходилось слышать высказывания о том, что тестировщики вовсе не нужны, так как программисты сами могут все протестировать, и по большому счету код изначально идеален! Но ваша задача как тестировщика и как инженера, работающего над качеством продукта, принять такое отношение и постараться изменить его на положительное. Ведь вы, как и программист, как и DevOps, часть одного целого продукта и ваша задача — это общая задача обеспечения качества. Вы находите ошибки не у конкретного человека, вы находите ошибки в коде и решаете вместе, как их исправить. Если вы будете пропагандировать такие идеи, то в скором времени программист станет вам лучшим другом и помощником и уже не будет смотреть на вас с немым вопросом: «Ну что опять?».

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

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

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

Основой любой профессии будет теория. Без знания принципов тестирования невозможно понять процессы, происходящие в разработке ПО, и оценить его качество. Не старайтесь в начале своего пути сразу пытаться постичь что-то сложное. Начинайте погружение в профессию постепенно. Если вы пропустите основные понятия и перейдете к изучению автоматизации, фреймворков и языков программирования, то велика вероятность того, что вы потеряете интерес к тестированию вообще, так как посчитаете его слишком сложным. Обычно желание изучать автоматизацию у новичков появляется после того, как они слышат о том, что без нее попасть в профессию практически невозможно. Но это не так. Спрос на «качественных» мануальных тестировщиков не падает, и они все еще в цене. Поэтому еще одной полезной книгой для освоения теории тестирования будет «tестирование dot com» Романа Савина. Если вы прочитали перечисленную выше литературу и уже ориентируетесь в теории, то вам очень пригодится сайт с выжимкой основ тестирования — Protesting.ru.

Как закрепить теорию практикой? Выбирайте любой объект из повседневной жизни (ПО на мобильном телефоне, микроволновка и даже карандаш) и тестируйте его. Можно проговаривать тест-кейсы, но лучше сразу записывать их на бумаге/компьютере в формальном виде так, как вы будете это делать уже на своей работе тестировщиком. Далее проходите эти тест-кейсы и составляйте отчеты о тестировании. Этот способ самый простой, но действенный. 

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

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

Что же дальше? Вы изучили теорию, получили небольшой практический опыт. Но перед следующим шагом вернемся к тому, как должен мыслить тестировщик. Выше я уже использовал термин «инженер по тестированию». Каждый тестировщик, как и любой другой член продуктовой команды, должен в первую очередь иметь определенный склад мышления. Инженер должен уметь системно мыслить, уметь смотреть на задачу с разных точек зрения, уметь абстрагироваться, не зацикливаться на определенном решении и наборе инструментов (технологическом стеке). На вопрос: «А как нам это сделать?» инженер не имеет права ответить: «Я не могу этого сделать, так как не умею писать на Python, Java, Ruby и т.д.». Правильным ответом будет следующий: «Я не могу это сделать, так как это повлечет за собой негативный пользовательский опыт, но у меня есть решение, как этого избежать!».  Чтобы познакомиться с таким подходом на примере известной компании, я рекомендую к прочтению книгу Джеймса Уиттакера «Как тестируют в Google». Наша компания, как и Google, поддерживает такую инженерную культуру. 

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

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

После того, как резюме составлено, его необходимо активно отправлять на все понравившиеся вам вакансии. Здесь можно применить следующую формулу: отправив резюме на 50 вакансий, вы получите 15 приглашений на собеседования и три предложения о работе. Еще один важный момент заключается в том, что если вам отказали на 9 собеседованиях из 10, а на одном вы получили предложение о работе, то это успех. И все девять отказов стоит воспринимать только как опыт, а не поражение.

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

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

Содержание программы Базового уровня:

  • Основы тестирования программного обеспечения;
  • Жизненный цикл тестирования;
  • Динамическое тестирование;
  • Статическое тестирование;
  • Управление тестированием;
  • Средства тестирования.

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

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

Что же дальше? Вы прошли интервью и получили свой первую работу тестировщиком!

Я пришел в тестирование из другой профессии и получил свой первый оффер после четвертого собеседования. Передо мной открылся новый, интересный мир, у которого я на тот момент не видел границ! У меня появилось огромное желание приходить на работу и помогать делать продукт качественнее! Но со временем встал вопрос: «А что же делать дальше? Сколько можно работать мануальным (ручным) тестировщиком?». Да, это интересно, но хотелось двигаться дальше и развиваться. Хотя я твердо убежден и вижу на практике, что ручное тестирование еще очень долгое время будет актуально, и это позволит попадать в мир IT новым тестировщикам.

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

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

Так кем вы станете в конце концов?

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

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

Желаю всем найти себя в тестировании и раскрыть инженера в себе!

Лучшие 50 инструментов для тестирования программного обеспечения в 2020 году

  • Главная страница
  • Тестирование

      • Назад
      • Гибкое тестирование
      • BugZilla
      • Cucumber
      • Тестирование базы данных
      • J2000 J2000
      • Тестирование базы данных Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Мобильное тестирование
      • Mantis
      • Почтальон
      • QTP
      • Назад
      • Центр качества (ALM)
      • SAP Testing
      • Управление тестированием
      • TestLink
  • SAP

      • Назад
      • ABAP 900 04
      • APO
      • Начинающий
      • Basis
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • FICO
      • 000
      • 000 HRM
      • 000
      • 000 HRM
      • 9000 Заработная плата
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Менеджер решений
      • Successfactors
      • Учебники SAP

        • Apache
        • AngularJS
        • ASP.Net
        • C
        • C #
        • C ++
        • CodeIgniter
        • СУБД
        • JavaScript
        • Назад
        • Java
        • JSP
        • Kotlin
        • Linux
        • Linux
        • Kotlin
        • Linux
        • js

        • Perl
        • Назад
        • PHP
        • PL / SQL
        • PostgreSQL
        • Python
        • ReactJS
        • Ruby & Rails
        • Scala
        • SQL
        • 000

        • SQL
        • 000

          0003 SQL

          000

          0003 SQL

          000

        • UML
        • VB.Net
        • VBScript
        • Веб-службы
        • WPF
    • Обязательно учите!

        • Назад
        • Бухгалтерский учет
        • Алгоритмы
        • Android
        • Блокчейн
        • Business Analyst
        • Создание веб-сайта
        • CCNA
        • Облачные вычисления
        • 00030003 COBOL 9000 Compiler
            9000 Встроенные системы

          • 00030002 9000 Compiler 9000
          • Ethical Hacking
          • Учебники по Excel
          • Программирование на Go
          • IoT
          • ITIL
          • Jenkins
          • MIS
          • Сеть
          • Операционная система
          • Назад
          • Управление проектами Обзоры
          • Salesforce
          • SEO
          • Разработка программного обеспечения
          • VB A
      • Big Data

          • Назад
          • AWS
          • BigData
          • Cassandra
          • Cognos
          • Хранилище данных40004000
          • 000 HBase

          HBase

      • 000

        21 качество хорошего тестировщика программного обеспечения

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

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

        1. Creative Mind: Это одна из самых незаменимых черт отличного тестировщика программного обеспечения. Специалисты по тестированию должны думать намного дальше того, что ожидается от программного обеспечения и пользователей.Они должны уметь думать, как пользователи могут делать то, что определенно не прописано в требованиях к программному обеспечению, или как они могут неправильно использовать программное обеспечение.
        2. Аналитические навыки: Эти навыки необходимы для анализа требований и понимания отзывов клиентов при определении стратегии тестирования. Аналитические навыки также необходимы для понимания и создания интеллектуальных решений для тестирования. Тестировщикам необходимо понимать данные, собранные в результате тестирования, и анализировать их на предмет конкретного поведения продукта или приложения.
        3. Curiosity: Эта черта незаменима, когда дело доходит до рассмотрения последствий. Любопытные тестировщики часто думают нестандартно, чтобы определять проблемы в тех областях, куда никто не может даже подумать.
        4. Хороший слушатель: Хорошее качество тестировщиков — слушать других. Они должны знать, что всегда есть возможности для улучшения. Они также должны обратить внимание, если кто-то высказывает какую-либо идею или подтекст, поскольку это, безусловно, поможет им улучшить качество тестируемой программы.Вы можете обнаружить некоторые сценарии, которые другие могут пропустить, если они не обратят внимания.
        5. Proactively Passionate: В обязанности хорошего тестировщика входит не только проверка программ на соответствие набору требований. Хорошие тестировщики увлечены своей работой и вносят предложения по улучшению продукта. Увлеченные тестировщики иногда также становятся менеджерами проектов или владельцами продуктов.
        6. Quick Learner: Хорошие тестировщики должны быть хорошо знакомы с технологиями.Они всегда должны быть открыты для изучения новых инструментов автоматизации, идти в ногу с новейшими технологиями, использовать новейшие методы при тестировании, учиться на собственном опыте и учиться придумывать новые идеи.
        7. Знание предметной области: Для успешного проведения сеанса тестирования и разработки эффективных тестов хорошие тестировщики должны обладать глубокими знаниями и пониманием предметной области. Они должны иметь глубокое понимание того, как конечные пользователи будут использовать программу. Они также должны потратить время, чтобы понять терминологию своей конкретной области и помочь разработать стратегические сценарии бизнес-обоснования.
        8. Ориентировано на клиента: Хорошие тестировщики всегда должны стараться сделать своих клиентов счастливыми. Они должны понимать, что заказчики не обладают такими же техническими навыками, как тестировщики. Клиенты могут не иметь опыта в данной области или технологии и могут не знать всех возможных сценариев и вариантов использования. Они должны наилучшим образом использовать свои навыки тестирования, не забывая о мышлении своих клиентов, при предоставлении продукта, который им действительно нужен.
        9. Автоматизация тестирования и технические знания: Они должны обладать хорошими техническими знаниями, чтобы определять, какие тесты должны быть автоматизированы на каком уровне, выполнять тесты на постоянной основе, использовать доступность различных инструментов тестирования, предоставлять организации полезные метрики и выбирать соответствующий и новейший набор инструментов, чтобы помочь усилиям по тестированию.
        10. Способность организовывать и расставлять приоритеты: Хороший тестировщик должен уметь сначала определять и организовывать важные тесты, а затем расставлять приоритеты при выполнении на основе релевантности теста. Также при оценке усилий по тестированию хорошие тестировщики должны учитывать историю дефектов.
        11. Способность общаться: Они должны уметь общаться как с нетехническими, так и с техническими людьми. Они также должны обладать способностью эффективно общаться в письменной или устной форме и передавать детали проблемы команде разработчиков.Хороший пошаговый документ по воспроизведению дефекта помогает разработчикам сосредоточить свои усилия на устранении проблемы, а не на обмене информацией.
        12. Возможность сообщения: Никого не будет интересовать количество тестовых примеров, выполненных тестировщиками программного обеспечения. Вот почему хороший тестировщик должен уметь сообщать о своем текущем статусе в конце дня. Они должны предоставить ef

        .Учебное пособие по тестированию программного обеспечения

        : бесплатный курс обеспечения качества

        • Home
        • Testing

            • Back
            • Agile Testing
            • BugZilla
            • Cucumber
            • Database Testing
            • 000
            • ETL Testing Назад
            • JUnit
            • LoadRunner
            • Ручное тестирование
            • Мобильное тестирование
            • Mantis
            • Почтальон
            • QTP
            • Назад
            • Центр качества (ALM)
            • SAP Testing
            • SAPU
            • Управление тестированием
            • TestLink
        • SAP

            • Назад
            • ABAP
            • APO
            • Начинающий
            • Basis
            • BODS
            • BI
            • BPC
            • CO
            • Назад
            • CRM
            • Crystal Reports
            • QM4000
            • QM4
            • Заработная плата
            • Назад
            • PI / PO
            • PP
            • SD
            • SAPUI5
            • Безопасность
            • Менеджер решений
            • Successfactors
            • Учебники SAP

              • Apache
              • AngularJS
              • ASP.Net
              • C
              • C #
              • C ++
              • CodeIgniter
              • СУБД
              • JavaScript
              • Назад
              • Java
              • JSP
              • Kotlin
              • Linux
              • Linux
              • Kotlin
              • Linux
              • js

              • Perl
              • Назад
              • PHP
              • PL / SQL
              • PostgreSQL
              • Python
              • ReactJS
              • Ruby & Rails
              • Scala
              • SQL
              • 000

              • SQL
              • 000

                0003 SQL

                000

                0003 SQL

                000

              • UML
              • VB.Net
              • VBScript
              • Веб-службы
              • WPF
          • Обязательно учите!

              • Назад
              • Бухгалтерский учет
              • Алгоритмы
              • Android
              • Блокчейн
              • Business Analyst
              • Создание веб-сайта
              • CCNA
              • Облачные вычисления
              • 00030003 COBOL 9000 Compiler
                  9000 Встроенные системы

                • 00030002 9000 Compiler 9000
                • Ethical Hacking
                • Учебники по Excel
                • Программирование на Go
                • IoT
                • ITIL
                • Jenkins
                • MIS
                • Сеть
                • Операционная система
                • Назад
                • Управление проектами Обзоры
                • Salesforce
                • SEO
                • Разработка программного обеспечения
                • VB A
            • Big Data

                • Назад
                • AWS

            .Пример резюме тестера программного обеспечения

            — Загрузить сейчас!

            Software Tester Resume — образец

            ABDUL XXXXXX

            Мобильный номер: 92XXXXXX
            Идентификатор электронной почты: [email protected]

            Цель

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

            Краткий профиль

            • Инженер-профессионал обладает опытом работы в ИТ более 3 лет.
            • Участие в жизненном цикле тестирования программного обеспечения.
            • Знание стандартов обеспечения качества — SEI-CMM и ISO 9000.
            • Опыт ручного тестирования.
            • Знаком с инструментом и процессом отслеживания ошибок.
            • Имеет опыт выполнения следующих тестов: функциональный тест, монтажный тест и приемочный тест на месте.
            • Отличные коммуникативные навыки. Быстро обучающийся, универсальный, адаптируемый и ориентированный на процесс с высокой ориентацией на клиента.
            • Имеет опыт использования MS office, в частности Word, Excel и Access.

            Набор навыков тестирования

            • Имею опыт работы в области QC Engineering, методов тестирования, типа тестирования.
            • Знание анализа, проектирования и анализа вариантов использования.
            • Уровень знаний Уровень тестирования и знание концепций SDLC, отслеживание ошибок, подготовка тестовых примеров и выполнение тестов.
            • Знание Mercury Interactive Win Runner (инструмент автоматизации GUI) и Test Director (8.0) (Инструмент управления проектом)

            Набор навыков

            ОС: MS Windows 9x, Windows 2000, Windows XP SP2
            Домен: Сеть
            Инструменты тестирования: Win-Runner (7.0), Директор по тестированию (8.0 )

            Certification

            • Software Testing (Manual & Automation) Certification от XXXXXX 2005.

            Сводка опыта

            Компания: XXXXX PVT Ltd.

            • Фирма по разработке программного обеспечения через Интернет, принимающая проекты клиентов из США.

            Опыт работы: Работаю с мая XXXXX
            Должность: Старший тестировщик программного обеспечения
            Обязанности

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

            Компания: XXXXX Technology Ltd.

            • Программная фирма по разработке программного обеспечения через Интернет.
            • Работа с программным обеспечением RBS в основном через программное обеспечение ISP, VOIP и Hotspot Billing.

            Опыт: Март XXXX — Май XXXX
            Сообщение: Q.A. И инженер поддержки.
            Компания: XXXXX Technologies Pvt. Ltd.

            • Ведущая компания в области программного обеспечения для страхования, в основном брокерского программного обеспечения.
            • Наличие клиентов в Ирландии для программного обеспечения для страхования.
            • Сделано программное обеспечение под названием ECR-Magic, Broker-Magic.

            Опыт: декабрь XXXXX- MarXXXX
            Сообщение: Software Tester

            Сведения о проекте
            Название проекта: xxxxxx
            Платформа: Windows 2000 Professional.
            Технология: Visual Basic, MS Access, SQL.
            Используемые инструменты: Директор по тестированию.
            Обязанности

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

            Компания: XXXXX India Limited
            Опыт работы: Декабрь XXXX — Ноя XXXXX
            Сообщение: Ручной тестер

            Сведения о проекте
            Название проекта: XXXXX
            Платформа: Windows 2000 Server, Linux.
            Используемые инструменты: Директор по тестированию (8.0)
            Обязанности

            • Участвует в подготовке планов тестирования, спецификаций дизайна тестов и тестовых примеров.
            • При тестировании приложения с графическим интерфейсом вручную учитываются его функциональные требования.
            • Сопровождение библиотеки регрессии при проведении регрессионного тестирования.
            • Сообщения об ошибках и их отслеживание.
            • Это комплексная платформа поставщика услуг для обеспечения подключения к Wi-Fi.
            • Поставщики услуг могут пользоваться надежными, масштабируемыми услугами беспроводного подключения к Интернету для конкретных требований операций по обслуживанию сетей общего пользования и мероприятий в аэропортах, отелях, конференц-центрах, конференциях и выставках.
            • Решение состоит из двух частей: сервера доступа к сети UwifiTM и центра управления сетью UwifiTM.

            Компания: XXXXXX.
            Опыт работы: дек. XXXX — ноябрь XXXXX
            Должность: Работал в качестве специалиста по технической поддержке проекта широкополосных сетей Microsoft и Windows XP-SP2.
            Обязанности

            • Работа с беспроводной сетью LAN.
            • Решение запросов для локальной сети базовых станций Microsoft MN-100, MN-500 и MN-700 и запросов на подключение беспроводных адаптеров, таких как адаптеры беспроводной связи G и адаптеры беспроводной связи B для беспроводной сети.
            • Решение проблемы совместного использования файлов и принтеров в локальной сети.

            Опыт тестирования в XXXXX
            Имя: XXXXXXX
            Технология: Visual Basic, MS Access и SQL
            Продолжительность: XXX
            Обязанности

            • Участвовал в создании и выполнении тестового примера, сбор тестов данные и обновление базы данных во время выполнения теста, отчет о дефектах, отчет о проверке и анализе дефектов.

            Квалификация

            • B.E. XXXXX University, 2003

            Личные данные

            Дата рождения:
            Адрес:
            Языки: .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *