понедельник, 31 мая 2010 г.

О разработчиках

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


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

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

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

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

Обратная же сторона медали - это та боль, которую испытываешь, когда работаешь вместе с программистом, которому наплевать на работу. Даже не разбираясь сильно в программировании, порой понимаешь, как халтурно исправляются баги и какие "костыли" вставляются в код. Только попадая на ленивых и безответственных программистов, я как будто начинаю сомневаться в своей "второй аксиоме тестирования", но вовремя понимаю, что такие программисты - это сами по себе ошибки на проекте, с которыми надо бороться :) К счастью, таких меньшинство.

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

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

9 комментариев:

  1. >>второй аксиомой тестирования - тестеры и разработчики находятся по одну сторону баррикад

    Странно, всегда считал, что тестер = разработчик, точно также как и программист = разработчик...

    ОтветитьУдалить
  2. Ну, что программист = разработчик, то я так и употребляю эти термины.

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

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

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

    Может я Вас неправильно понимаю - что Вы имеете в виду под этим равенством?

    ОтветитьУдалить
  3. Попробую пояснить...
    Скажу сразу, что написанное мной выше ни капли не противоречит тому, что вы написали в вашем посте, а даже наоборот :)
    Итак:
    1.
    Разработчик - человек принимающий участие в процессе разработки ПО.
    Человек принимающий участие в процессе разработки ПО - разработчик.
    :)

    2.
    Процесс разработки, в общем виде, выглядит так:
    Анализ бизнес требований - планирование - разработка архитектуры - кодирование - тестирование - документирование - внедрение - саппорт

    Когда дискеты были большими, а винчестеры маленькими, всем этим мог заниматься один человек и он, естественно, назывался разработчиком. И, в те самые "первобытные" времена, львиную долю разработки занимало программирование. С тех пор слово "разработчик" и стало синонимом слова "программист". Но времена изменились. Мегагерцев в процессорах стало больше, интернет-каналы жирнее, а заказчики умнее :) Теперь в процессе разработки ПО участвует множество людей. Да, не все они умеют писать код, но разве от этого они перестают быть участниками процесса разработки? Вряд ли...

    И что из этого следует?
    А то, что и программист, и тестировщик, и еще много всяких людей, работающих над продуктом, являются разработчиками. А это значит, что все они делают общее дело. И, следовательно, они «по одну сторону баррикад».

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

    З.Ы. Сорри, за сумбурный текст. Три часа ночи как-никак... Нормальные люди уже спят, наверно... :)

    ОтветитьУдалить
  4. Мысль Вашу я, наверное, поняла. Хотя с таким определением понятия «разработчик» я всё-таки не соглашусь: для меня разработчик (developer) - это именно человек, который непосредственно разрабатывает продукт, т.е. программист. Конечно, и тестер, и аналитик, и технический писатель, и переводчик, и руководитель - все имеют отношение к этому процессу, но не зря же были выделены отдельные профессии/роли/специальности, чтобы не мешать всё в одну кучу. В любом случае не люблю я спорить по вопросам терминологии, т.к. считаю, что всё равно каждый вкладывает в те или иные понятия что-то своё, сколь бы точно и чётко кто-то ни пытался их определять (и с этой моей точкой зрения всяко будут несогласные).

    Что же касается темы моей заметки, то она посвящена отношениям тестеров и программистов (разработчиков) вообще.

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

    ОтветитьУдалить
  5. А я вот до сих пор не могу смириться с тем, что сижу в одной комнате с разработчиками, а не с тестерами. Все дело в том, что у каждого места есть свои плюсы и свои минусы. Лично мне кажется, что тестеры должны вариться в одной кастрюле с тестерами, т.к. у них намного больше общих профессиональных тем (это и интересные кейсы и баги, и передача опыта, и обсуждение планов и т.д.) Работая в одной комнате с разработчиками, честно говоря начинаешь впитывать их ауру, что может в итоге негативно сказаться на твоей работе. Ну не понимают разработчики того, как думает тестировщик!!!

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

    Но это все мои личные тараканы :)

    ОтветитьУдалить
  6. Алексей, не знаю, чьи тараканы тараканистее :) Может это моё заблуждение, что сидеть с программистами эффективнее, но лично мне так больше нравится - хотя бы погружение и вовлечённость в проект гораздо выше именно в таком случае, а для работы я считаю это немаловажным.

    Конечно, общение с другими тестерами тоже очень важно, но по мне - не обязательно находиться с ними в одной комнате для этого, вполне подойдёт и формат «курилки».

    В общем, у меня всё наоборот :)

    ОтветитьУдалить
  7. (хм... опять что ли блогспот глючит и не показывает все комментарии?..)

    ОтветитьУдалить
  8. а может это проблемы с кешем в браузере? :)

    ОтветитьУдалить
  9. Не, кеш браузера точно не при чём, хотя бы потому, что не только у меня были проблемы с отображением комментов и что я пробовала разные браузеры :)

    Но уже вроде как прошло - после 7го коммента отображение стало нормальным :)

    ОтветитьУдалить