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

From The Joel on Software Translation Project

Jump to: navigation, search

Автор: Джоэл Спольски
Переводчик: Влад Никифоров
В оригинале статья называлась Why Testers? и была опубликована 26 января 2010 года.
В переводе статья называется Для чего нужны тестировщики и была переведена 29 января 2010 года.


26dog!-thumbnail.JPG

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

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

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

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

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

26marzocco-thumbnail.jpg

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

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

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

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

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

Personal tools