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

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

Название профессии образовано от английского слово “Test”, переводящееся как «проверка», «испытание» или же просто уже устоявшееся в русском языке «тестирование».

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

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

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

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

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

Возможные места работы

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

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

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

Плюсы

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

Минусы

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

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

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

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

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

На образовательном IT-портале GeekBrains можно освоить профессию «Тестировщик ПО » всего за 4 месяца. Во время обучения предусмотрены домашние задания, общение с живыми преподавателями, контрольные и тестовые работы. После окончания обучения выдаётся именной сертификат и возможность стажировок в настоящих IT компаниях. Средняя заработная плата тестировщика по Москве и Московской области составляет 64 000р.

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

Спешите начать обучение. Скидка на обучение профессии «Тестировщик ПО» действует для Вас всего 3 дня!

Необходимые личные качества

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

Также профессия «Тестировщик ПО» предполагает наличие терпения, целеустремлённости, усидчивости и готовности работать в команде.

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

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

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

Знание технического английского языка, представление о языке SQL, знание баз данных типа MySQL и знание программ для автоматизированного тестирования (при необходимости использования) будут Вашими преимуществами на собеседовании.

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

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

Почти год, начинал в Noveo с нуля.

Как пришёл в профессию?

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

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

Дотошность, стремление сделать всё хорошо.

Только отсутствие желания работать, как и в любом другом деле. Неприятие самой профессии.

Лично для меня - время, когда нет особенной загрузки по проектам, и начинаешь сходить с ума и потеть над каждой маленькой задачей, лишь бы занять себя. Хорошо, что такие моменты в Noveo редки!

А что самое приятное?

Видеть успешно работающий результат особо сложной задачи.

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

Подумайте хорошенько и всё взвесьте, если решились - работайте:D

Наталья, тестировщик:

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

Летом будет 3 года.

А как пришла в профессию?

Я училась на программиста, но к выпуску поняла, что писать код, а также смежные профессии вроде дизайнера или аналитика - всё же не моё. А вот ломать что-то мне всегда нравилось!

Да нет, всё было предсказуемо: есть приложение, ты проверяешь его на соответствие требованиям.

Из неожиданного - начало ломаться всё и помимо работы. Раньше я не замечала проблем, когда лазила по сайтам в интернете, а сейчас ломается даже бытовая техника. Мой муж уже говорит: “Не надо всё тестировать!” :)

Что самое сложное в этой профессии?

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

А что самое приятное?

То, что пользователь не видит проблем при работе системы.

Ну а мне просто нравится что-то ломать, ведь если всё работает идеально, начинаешь сомневаться в том, что ты нужен. Нравится находить и предупреждать проблемы.

Что, по-твоему, нужно для улучшения своих навыков?

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

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Сложно сказать, нужно пробовать!

Антон, тестировщик:

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

Почти 2 года.

Как ты пришёл в профессию?

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

Было ли что-то, чего ты не ожидал?

Со времени моего обучения многое в ИТ успело измениться: подходы к разработке, способы развёртывания, жизненный цикл продукта… Что-то мне уже было знакомо, что-то приходилось учить на ходу. Например, сейчас аuto-deployment, Git и другие вещи используются повсеместно, тогда они только развивались.

Какие личные качества говорят, что из тебя получится отличный тестировщик?

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

Что самое сложное в этой профессии?

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

А что самое приятное?

Доводить продукт до ума, действительно следить за контролем качества, не просто “протыкивать” сценарии, а тестировать usability и иметь возможность влиять на архитектуру. Приятные отзывы, довольные пользователи.

Что, по-твоему, нужно для улучшения своих навыков?

Хабр хорош для всех, кто связан с ИТ. Конечно, не все материалы одинаково полезны, но есть очень интересные. Полезно знать архитектуру, паттерны разработки ПО, шаблоны проектирования. Я постоянно читаю блоги QA testing и QA automatization.

Лучший способ улучшить свои навыки - повторить что-то 100 раз!

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

Ты ведёшь в нашей компании тренинги по автоматизации тестирования, расскажи об этом подробнее!

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

На курсах мы разбираем инструменты и фреймворки автоматизированного тестирования: Vagrant, Selenium и другие. Учимся понимать архитектуру приложения, писать код, обеспечивать взаимодействие между пользователем и приложением.

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

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Главное - помнить, что задача тестировщика - это контроль качества. Сюда входит не только проверка тестовых сценариев, но и весь комплекс свойств и качеств приложения: usability, архитектура, даже сложность поддержки и code review. Даже автоматическое тестирование - это не только способ проверки работы приложения, но и контроль качества разработки!

Татьяна, тестировщик:

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

9 - а нет! - скоро будет 10 месяцев.

Как пришла в профессию?

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

Было ли что-то, чего ты не ожидала?

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

Какие личные качества говорят, что из тебя получится отличный тестировщик?

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

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

Желание просто “протыкать” самый простой путь и успокоиться на этом. И, наверное, доброта и нежелание кого-то беспокоить. Мне кажется, тестировщик должен быть “злым” и стремиться всё испортить. Конечно, вероятность появления бага и необходимость его исправления могут быть разными, но твоя задача - найти возможность использовать приложение не так, как задумано!

Что самое сложное в этой профессии?

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

А что самое приятное?

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

Что, по-твоему, нужно для улучшения своих навыков?

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

Есть ли какие-то упражнения или ресурсы, которые ты используешь для развития внимательности и можешь посоветовать начинающим?

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

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Главное - начать. Можно бесконечно готовиться и читать, но на самом деле всё приходит с опытом. Важно не бояться и пробовать!

Андрей, тестировщик, менеджер проектов:

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

Уже 4 года.

Как пришёл в профессию?

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

Было ли что-то, чего ты не ожидал?

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

Какие личные качества говорят, что из тебя получится отличный тестировщик?

Внимательность, дотошность, недоверчивость.

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

(Смеётся) Так и есть. Тестировщик немного похож на Терминатора.

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

Сложно сказать… Наверное, пассивность, флегматичность, отсутствие логического мышления или умения прогнозировать.

Что самое сложное в этой профессии?

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

А что самое приятное?

Видеть, что проект работает, несёт в мир доброту и счастье, позитивный фидбэк.

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Дерзайте!

Татьяна, тестировщик

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

В Noveo я работаю тестировщиком 4,5 года. До этого работала в другой компании на другой должности, но по сути занималась тем же, тестированием. Так что в общей сложности лет 6:)

Как пришла в профессию?

Да как-то плавно получилось. Работая в техподдержке, волей-неволей начинаешь проверять, а работает ли то, на что жаловались клиенты, а починили ли наши разработчики всё, что требовалась. Так и начала:) Потом подружка позвала в Noveo, официально заниматься тестированием. Я согласилась, о чем ни разу не пожалела!

Было ли что-то, чего ты не ожидала?

Спецификации на французском! Честно, вот ни разу не думала, что моя работа начнётся с этого:)

Какие личные качества говорят, что из тебя получится отличный тестировщик?

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

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

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

Что самое сложное в этой профессии?

Быть всегда внимательной к деталям, не всегда удается сохранять должную концентрацию:) Ну и коммуникации:) Налаживать общение - это сложно.

А что самое приятное?

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

Что, по-твоему, нужно для улучшения своих навыков?

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

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Долго не думайте, просто попробуйте. Если это ваше - вы поймете:)

Анастасия, старший тестировщик:

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

Почти 10 лет:)

Это долгий срок, ты никогда не думала сменить профессию?

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

Это не так! Помимо вертикального роста в профессии есть и горизонтальный: тестирование не ограничивается ручным и функциональным, а для нагрузочного или автоматизированного вам придётся учиться и осваивать новые навыки.

Какие личные качества говорят, что из тебя получится отличный тестировщик?

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

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

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

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

Жизненная позиция “И так сойдёт!”

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

Как ты пришла в профессию?

Сразу после университета, заканчивала ФИТ НГУ ещё очень давно. В университете был курс по тестированию, захотелось попробовать себя в этой роли.

Было ли что-то, чего ты не ожидала?

Поскольку сфера тогда только становилась, мне приходилось иметь дело с “олдскульными” программистами лет 40-45, которые считали, что в тестировании нет необходимости, а их решения верны по умолчанию. Именно там я научилась настаивать на своём и доказывать свою точку зрения.

Что самое сложное в этой профессии?

Необходимость в постоянной концентрации: в расслабленном состоянии тестировать нельзя! Но “сложно” - не значит “плохо”, в этом есть и свой позитив!

А что самое приятное?

Гладкая выкатка на production, хорошие отзывы.

Что, по-твоему, нужно для улучшения своих навыков?

Желание и стремление! Упражнения? Сложно сказать… В детстве мне очень нравилась игра “Найди 10 отличий”, всегда ждала новых выпусков “Мурзилки” и других журналов!

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Учите базу, болейте за качество, горите своей работой, помните: «Тестировщик - адвокат пользователя»!

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

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

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

Ремарка №5

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

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

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

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

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

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

Ремарка №5

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

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

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

Теги:

  • тестирование приложений
  • тестирование
  • управление проектами
  • qa management
Добавить метки

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

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

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

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

По всему этому пишутся отчёты. Куча отчётов. Потом ещё отчёты. И ещё один отчёт... Это три.

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

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

Конечно, это всё вот так, на пальцах и сумбурно. Но, во-первых, повторюсь, в Сети очень много чего написано про тестирование ПО, а во-вторых, тут всё очень субъективно и часто "завязано" именно на проект и принятую в команде методологию.

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

Тестирование ПО это интересно, сложно и очень нужно. И скажу больше, тестировщики есть не только в IT. Помните эти печати ОТК? Это тоже тестировщики. Тестируется всё - от лампочек до карьерных самосвалов. Я уже молчу про космические корабли, которые бороздят. Кто-то тестирует телефоны, кто-то даже тестирует TheQ потихоньку, а кто-то тестировал вашу дверную ручку.

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



Справочники