вторник, 22 декабря 2015 г.

Где грань между программистом и тестировщиком?

Такой вот полет мысли, может достаточно сумбурный родился после прочтения сегодня двух хороших статей: "Roles and Fluidity" Алана Пейджа и история про изменения в процессе разработки в Yahoo! "Who Needs QA? Not Yahoo!"

Еще вчера с товарищем Papa Minos (aka Никита Макаров) делились впечатлениями от выпуска RadioQA "QA: Пациент жив или мертв?", где @umputun раскатывал всех в тонкое тесто (хотя получилось это у него натужно и скорее в силу авторитета, а не согласия оппонентов).

Как мне кажется, всё сходится к одному: ролей, которые приходится играть при разработке ПО, много (здравствуй, КО). И искусство, мастерство, если хотите, заключается в том, чтобы уметь между этим ролями переключаться.

Кому то это удается хорошо, кто то справляется хуже, а кому то это вообще неинтересно, но роли есть и это факт.


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

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

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

И даже если объединение профессий программиста и тестировщика в разработчика (привет Леше Виноградову) мы пока (пока?) рассматриваем только в отдаленной туманной перспективе, то что делать со специализациями в рамках этих профессий?
Например, уже есть тестировщики, которые занимаются только нагрузочным тестированием, при этом навыки проверки UI у них слабые. Программисты, которые с закрытыми глазами напишут драйвер, но спасуют перед SQL-скриптами. И таких примеров можно приводить много. Контраргументом часто приводят точку зрения, что "знать все невозможно", а "специализация рождает скорость и правильность".

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

Возможно вам будет интересно:

Комментариев нет:

Отправить комментарий