Для чего нужны тестировщики

Мой перевод статьи Джоэла Сполски "Why testers?"

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

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

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

Это одна из причин, по которой существуют тестировщики. Хороший тестировщик дает программисту практически моментальную оценку того, что он сделал хорошо и что он сделал плохо. Хотите верьте, хотите нет, но одно из важнейших качеств тестировщика - это умение давать положительные отзывы. Нет лучшего средства, позволяющего поднять программисту боевой дух и чувство собственного достоинства, а также сделать его счастливым, чем кофе-машина La Marzocco «Linea» тестировщик, который регулярно получает от него новые версии продукта, испытывает их, а затем дает отрицательные и обязательно положительные отзывы! В противном случае очень грустно быть программистом: "Вот он я, такой красивый, пишу замечательный код - и всем пофигу, бу-бу-бу..."

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

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

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

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

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

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

Комментарии

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

Изображение myx

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

Джоэл - он такой :) Статья, кстати, и прочиталась, и перевелась на одном дыхании, что особенно приятно.