Кто такой тестировщик и чем он занимается

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

Сначала попробуем ответить в общем и целом:

1. Что такое тестирование?

Тестирование — это процесс сравнения фактического поведения объекта тестирования с ожидаемым поведением. Объектом тестирования может быть программа, сайт и т.д.

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

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

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

Тестировщик — это специалист, который сравнивает фактическое поведение объекта тестирования с ожидаемым поведением.

Но кто-то скажет — это всё скучная теория… А вот если бы спросить самих тестировщиков, чем они занимаются… Сказано — сделано!

Мы спросили у тестировщиков (в чатах тестировщиков и не только, примечательно, что в опросе участвовали не только тестировщики), что они думают о том, что такое тестирование и чем они сами занимаются:

Вот мнения в разрезе работы в команде разработки:

Аноним1: тестирование — это комплекс мероприятий по обеспечению качества продукта, а тестировщики — это те, кто доводит качество продукта до приемлемого уровня.

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

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

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

Volodimir: я обычно говорю, что проверяю программу за программистами.

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

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

Capsolo: тестировщик находит расхождения между требованиями к выпускаемому продукту и текущим его состоянием.

Аноним4: это проверка соответствия реального и ожидаемого результатов.

Оптимистичные и не очень высказывания про работу тестировщиков:

Alex_124: это доведение разработчика до ненависти тебя и твоей деятельности сравнения ожидаемого и фактического результатов :)

Аноним5: тестирование нужно, чтобы всё везде было хорошо.

Tyanini: а для меня тестировщик — человек, радующий за качество и счастье конечного пользователя.

И ещё немного:

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

С тестировщиками всё понятно. А вот к кому тестировщики обращаются, когда нужно узнать ожидаемое поведение системы… А, точно! Аналитики!

Спросим у аналитиков, кто такие тестировщики:

Аноним6: тестировщик — это человек, который после этапа разработки проверяет, что реализованная функциональность соответствует тому, что есть в аналитике.

Аноним7: тестирование помогает спасти программу от ошибок, которых не предусмотрели раньше.

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

Что же думают разработчики про тестирование:

Очень емкое и запоминающееся высказывание от Dotnetsoftwareengineer: тестировщики это те, кто портят настроение разработчикам.

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

Аноним8: тестировщики — это те, кто могут по-другому взглянуть на продукт, свежим взглядом, и всегда подсказать, если что-то пошло не так.

Немного провокационный вопрос для участников опроса, но всё же — не менее интересные ответы:

Вопрос: чем тестирование отличается от разработки?

Ответы:

Аноним9: тем, что тестировщики работают с результатом разработки.

Alex_124: тестирование — это часть разработки.

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

Аноним10: разработчик создаёт баги, тестировщик их находит :)

И, наконец, забавные факты про тестирование:

Виктор: всегда развиваешься, участвуешь в создании продукта, высоко ценится твоя работа.

Аноним11: ничто нельзя проверить на 100%.

QA automation engineer: прекрасный факт — востребованность, ужасный — конкуренция.

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

Alex_124: прекрасный факт — тестировщик необходим для экономии и преумножения финансов бизнеса.

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

+1
+1
Апостол 1 месяц назад #

Тестировщик — проводит тестирование по факту готовности ПО, по готовой тестовой документации.

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