Порядок - прежде всего!
Отправлено myx в Вт, 2008-02-19 19:49
Ну, для начала - описание большинства дефектов сделано так, что, кроме автора, никто не может понять, в чем, собственно, состоит дефект и что тут надо тестировать. Когда такое описание делает вечно занятой менеджер проекта - я еще могу понять, но когда я натыкаюсь на подобное описание, сделанное моим предшественником, коллегой-тестировщиком - это уже как-то выше моего понимания.
В результате мне приходится идти либо к автору, либо к менеджеру и допытываться, о чем тут речь. Человек, как правило, пару минут чешет затылок, пытаясь вспомнить, о чем тут шла речь. Потом его озаряет:
- А! Вспомнил! Это уже давно исправлено.
- Замечательно, только я не привык в таких вопросах верить на слово. Как это воспроизводилось?
- Э-э-э... а я не помню.
В результате тратилась куча времени (моего и собеседника) на то, чтобы вспомнить подробности. И, помимо всего прочего, примерно в каждом третьем случае оказывалось, что дефект либо не исправлен, либо исправлен не до конца - как правило, потому, что разработчик толком не знал, что именно надо исправлять.
Вторая беда - это версии. Такое ощущение, что никто не знает, для чего в свойствах дефекта существуют поля "Найдено в" и "Исправлено в". Они, как правило, оставляются пустыми, а если они и заполняются, то от балды. Но тех, кто это делает, трудно винить, потому что, во-первых, по названию версии ничего нельзя определить (да и заводятся они от случая к случаю), а во-вторых, никто попросту не знает, что туда надо писать. Формального процесса, описывающего жизненный цикл дефекта, не существует - его никто не формализовывал и не прописывал.
Третьей (хотя по хронологии - самой первой, с которой я столкнулся) проблемой был тот факт, что с тестовой машиной все творят, что хотят, и никого не волнует, что я там тестирование провожу. К примеру, возникает у меня глюк. Я по привычке делаю несколько скриншотов и пытаюсь это дело воспроизвести. Никак. Посылаю скриншоты разработчикам:
- Как это получилось?
- Не обращай внимания, это мы сервис на тестовой машине перезапустили, поэтому и глюк возник.
- И что, на клиентской системе тоже все будет падать от малейшего перезапуска?
- А на клиентской мы так делать не будем.
Пару раз на эту машину вообще без спроса выкатили новую версию. Только почему-то нам, QA-щикам, забыли сказать об этом. Система, естественно, колом встала, а я понять не могу, что происходит. Но тут мы достаточно быстро договорились, что новая версия будет развертываться не когда им захочется, а когда мы, QA, этого попросим. И желательно - со "сказкой", т.е. со списком изменений относительно предыдущего билда, чтобы хоть было понятно, что тестировать.
Последней каплей стала следующая ситуация. Наткнулся на багу в состоянии "исправлено". Даже проставлена версия - как раз та, что у меня стоит на тестовой системе. Вроде даже вполне приличное описание, по крайней мере, понятно, что тестировать. Минут двадцать пытаюсь ее воспроизвести разными способами - не воспроизводится. Со спокойной совестью закрываю. Через пять минут приходит сообщение от разработчика, который над ней работал:
- Ты зачем ее закрыл?
- Я ее протестировал - на QA-билде она не воспроизводится.
- А у меня воспроизводится.
- Как? Расскажи шаги?
- Не знаю, я просто вижу, что в коде ошибка, а как воспроизвести - не знаю. Я как раз над ней работаю.
- Ладно, а почему ты ее пометил как "исправлено"?
- А я ее для себя пометил. Ты тестируй только те, что мы тебе в списке, прилагавшемся к билду выдали.
- А какого ж черта ты версию указал ту, которая уже в QA?
- А какая сейчас в QA?
В общем, стало ясно, что так дальше нельзя, поэтому на ближайшем собрании команды я поставил вопрос о процессе. Поскольку я сам в руководителях какое-то время побывал, больные точки менеджмента примерно представляю, поэтому знал куда бить: напирал на продуктивность и прозрачность. Записал в книжечку все эпизоды, когда из-за неразберихи в процессе неэффективно тратилось время, на пальцах объяснил, откуда это все пошло и показал, что корень зла - в отсутствии формального процесса. Да, мол, я понимаю, что у нас сейчас идет ускоренная черновая разработка, но это означает, что нужно использовать упрощенный процесс, а не отвергать все процессы полностью. Иначе все сэкономленные усилия не окупят тех рисков, что мы огребем ближе к концу проекта.
К моему удивлению, особых препятствий эта мысль не встретила, и на следующий день была назначена встреча, посвященная обсуждению процесса. Я подготовился к встрече основательно, даже задержался на полтора часа на работе. В итоге на свет появилась черновая презентация, где я расписал основные преимущества использования формального процесса, предлагаемую схему самого процесса и распределение ответствености. Для красоты даже понадергал цитат из статьи давно мною любимого Джоэла Сполски. Утром мы с моим непосредственным руководителем QA-щиком еще немножко эту презентацию подкрутили и получилось вполне достойно.
Встреча прошла гладко. Были долгие споры - но все конструктивные. Правда, я допустил пару чисто дипломатических ляпов. Во-первых, чуть не оттер на задний план собственного руководителя (поскольку процессы - это мой конек, и я действительно неплохо в них разбираюсь), во-вторых - в запале заявил, что "худшее описание дефекта - это то, которое содержит copy-paste из поля Summary". Да, это действительно так, только я забыл, что самый большой любитель создавать такие описания - наш менеджер проекта. Надо было все-таки как-то помягче :-)
Но все вроде обошлось. Менеджер признал за собой такую оплошность и сказал, что понимает всю важность того, чтобы описание дефекта содержало всю необходимую информацию (еще бы, я до него докапывался по несколько раз на дню с просьбой объяснить, что он имел в виду под той или иной лаконичной формулировкой). Я, в свою очередь, заверил его, что от него не требуется детального описания - достаточно просто пары строчек с расшифровкой.
И вот мы уже неделю работаем по новому процессу - вроде пока полет нормальный. Конечно, возникают мелкие недопонимания и сложности, но все это решаемо в рабочем порядке. Зато есть четкая видимость: кто за что в данный момент отвечает и насколько та или иная стадия проекта близка к завершению.
Я доволен :-)
Сидят Маугли и Каа. Маугли видит банан.
- Каа, этот банан никто не может достать?
- Да, Mаугли, его никто не может достать.
- Каа, даже сильный Балу не может его достать?
- Да, даже Балу не может.
- Каа, даже быстрая Багира не может его достать?
- Даже она не может.
- И даже ты, мудрый Каа, не можешь его достать?
- Да, Mаугли, даже я не могу.
Маугли задумался.
- Тогда я его достану!!!
- Да, Маугли, ты достанешь. Ты кого хочешь достанешь...
Началось все где-то в конце третьей недели с того момента, как я приступил к работе в офисе UBS. Примерно к этому времени я окончательно осознал, что в проекте творится полный бардак, куда ни ткнись. Особенно с учетом того, что я теперь на работе дурака не валяю, я очень хорошо чувствую значимость своего времени - а на что оно уходит, понять я никак не могу.- Каа, этот банан никто не может достать?
- Да, Mаугли, его никто не может достать.
- Каа, даже сильный Балу не может его достать?
- Да, даже Балу не может.
- Каа, даже быстрая Багира не может его достать?
- Даже она не может.
- И даже ты, мудрый Каа, не можешь его достать?
- Да, Mаугли, даже я не могу.
Маугли задумался.
- Тогда я его достану!!!
- Да, Маугли, ты достанешь. Ты кого хочешь достанешь...
Анекдот
Ну, для начала - описание большинства дефектов сделано так, что, кроме автора, никто не может понять, в чем, собственно, состоит дефект и что тут надо тестировать. Когда такое описание делает вечно занятой менеджер проекта - я еще могу понять, но когда я натыкаюсь на подобное описание, сделанное моим предшественником, коллегой-тестировщиком - это уже как-то выше моего понимания.
В результате мне приходится идти либо к автору, либо к менеджеру и допытываться, о чем тут речь. Человек, как правило, пару минут чешет затылок, пытаясь вспомнить, о чем тут шла речь. Потом его озаряет:
- А! Вспомнил! Это уже давно исправлено.
- Замечательно, только я не привык в таких вопросах верить на слово. Как это воспроизводилось?
- Э-э-э... а я не помню.
В результате тратилась куча времени (моего и собеседника) на то, чтобы вспомнить подробности. И, помимо всего прочего, примерно в каждом третьем случае оказывалось, что дефект либо не исправлен, либо исправлен не до конца - как правило, потому, что разработчик толком не знал, что именно надо исправлять.
Вторая беда - это версии. Такое ощущение, что никто не знает, для чего в свойствах дефекта существуют поля "Найдено в" и "Исправлено в". Они, как правило, оставляются пустыми, а если они и заполняются, то от балды. Но тех, кто это делает, трудно винить, потому что, во-первых, по названию версии ничего нельзя определить (да и заводятся они от случая к случаю), а во-вторых, никто попросту не знает, что туда надо писать. Формального процесса, описывающего жизненный цикл дефекта, не существует - его никто не формализовывал и не прописывал.
Третьей (хотя по хронологии - самой первой, с которой я столкнулся) проблемой был тот факт, что с тестовой машиной все творят, что хотят, и никого не волнует, что я там тестирование провожу. К примеру, возникает у меня глюк. Я по привычке делаю несколько скриншотов и пытаюсь это дело воспроизвести. Никак. Посылаю скриншоты разработчикам:
- Как это получилось?
- Не обращай внимания, это мы сервис на тестовой машине перезапустили, поэтому и глюк возник.
- И что, на клиентской системе тоже все будет падать от малейшего перезапуска?
- А на клиентской мы так делать не будем.
Пару раз на эту машину вообще без спроса выкатили новую версию. Только почему-то нам, QA-щикам, забыли сказать об этом. Система, естественно, колом встала, а я понять не могу, что происходит. Но тут мы достаточно быстро договорились, что новая версия будет развертываться не когда им захочется, а когда мы, QA, этого попросим. И желательно - со "сказкой", т.е. со списком изменений относительно предыдущего билда, чтобы хоть было понятно, что тестировать.
Последней каплей стала следующая ситуация. Наткнулся на багу в состоянии "исправлено". Даже проставлена версия - как раз та, что у меня стоит на тестовой системе. Вроде даже вполне приличное описание, по крайней мере, понятно, что тестировать. Минут двадцать пытаюсь ее воспроизвести разными способами - не воспроизводится. Со спокойной совестью закрываю. Через пять минут приходит сообщение от разработчика, который над ней работал:
- Ты зачем ее закрыл?
- Я ее протестировал - на QA-билде она не воспроизводится.
- А у меня воспроизводится.
- Как? Расскажи шаги?
- Не знаю, я просто вижу, что в коде ошибка, а как воспроизвести - не знаю. Я как раз над ней работаю.
- Ладно, а почему ты ее пометил как "исправлено"?
- А я ее для себя пометил. Ты тестируй только те, что мы тебе в списке, прилагавшемся к билду выдали.
- А какого ж черта ты версию указал ту, которая уже в QA?
- А какая сейчас в QA?
В общем, стало ясно, что так дальше нельзя, поэтому на ближайшем собрании команды я поставил вопрос о процессе. Поскольку я сам в руководителях какое-то время побывал, больные точки менеджмента примерно представляю, поэтому знал куда бить: напирал на продуктивность и прозрачность. Записал в книжечку все эпизоды, когда из-за неразберихи в процессе неэффективно тратилось время, на пальцах объяснил, откуда это все пошло и показал, что корень зла - в отсутствии формального процесса. Да, мол, я понимаю, что у нас сейчас идет ускоренная черновая разработка, но это означает, что нужно использовать упрощенный процесс, а не отвергать все процессы полностью. Иначе все сэкономленные усилия не окупят тех рисков, что мы огребем ближе к концу проекта.
К моему удивлению, особых препятствий эта мысль не встретила, и на следующий день была назначена встреча, посвященная обсуждению процесса. Я подготовился к встрече основательно, даже задержался на полтора часа на работе. В итоге на свет появилась черновая презентация, где я расписал основные преимущества использования формального процесса, предлагаемую схему самого процесса и распределение ответствености. Для красоты даже понадергал цитат из статьи давно мною любимого Джоэла Сполски. Утром мы с моим непосредственным руководителем QA-щиком еще немножко эту презентацию подкрутили и получилось вполне достойно.
Встреча прошла гладко. Были долгие споры - но все конструктивные. Правда, я допустил пару чисто дипломатических ляпов. Во-первых, чуть не оттер на задний план собственного руководителя (поскольку процессы - это мой конек, и я действительно неплохо в них разбираюсь), во-вторых - в запале заявил, что "худшее описание дефекта - это то, которое содержит copy-paste из поля Summary". Да, это действительно так, только я забыл, что самый большой любитель создавать такие описания - наш менеджер проекта. Надо было все-таки как-то помягче :-)
Но все вроде обошлось. Менеджер признал за собой такую оплошность и сказал, что понимает всю важность того, чтобы описание дефекта содержало всю необходимую информацию (еще бы, я до него докапывался по несколько раз на дню с просьбой объяснить, что он имел в виду под той или иной лаконичной формулировкой). Я, в свою очередь, заверил его, что от него не требуется детального описания - достаточно просто пары строчек с расшифровкой.
И вот мы уже неделю работаем по новому процессу - вроде пока полет нормальный. Конечно, возникают мелкие недопонимания и сложности, но все это решаемо в рабочем порядке. Зато есть четкая видимость: кто за что в данный момент отвечает и насколько та или иная стадия проекта близка к завершению.
Я доволен :-)
Current Music:
Dire Straits - Sultans Of Swing
Tags:
testing, job
![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|

![]() |
|
