Тестировщики: зачем и почему?

Joel Spolsky, “Why testers?”, public translation into Russian from English More about this translation.

Translate into another language.

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

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

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

Это одна из причин необходимости тестировщиков. Выдающийся тестировщик дает программистам мгновенную обратную связь о том, что они сделали правильно, а что — неправильно. Хотите верьте, хотите нет, но одно из самых ценных качеств тестировщика — умение дать позитивное подкрепление. Лучший способ укрепить дух программиста и дать ему ощущение личного счастья и благополучия (да, даже лучше, чем эспрессо-машина La Marzocco Linea) — это наличие увлеченных тестировщиков, которые часто получают версии от разработчиков, испытывают их и дают отрицательный или положительный отзыв. Иначе программирование удручает. Вот он я — печатаю, пишу замечательный код — а всем всё равно. :'(

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

Вот признаки хорошего тестировщика:

— технически подкован;

— обожает хорошие загадки — даже такие, на решение которых уходят дни;

— любит методичный подход;

— в целом любит работать с компьютерами и иметь дело с программами.

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

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

Если вы:

— обожаете программы и компьютеры,

— хотите работать в софтверной команде и

— не особенно любите программирование,

вам стоит подумать о карьере тестировщика. (Кстати — какое совпадение! — мы ищем тестировщиков!)

© Joel Spolsky

Original (English): Why testers?

Translation: © Xendz, Александр, shkoda, TDelphiBlog .

translated.by crowd

Like this translation? Share it or bookmark!