вторник, 3 мая 2011 г.

Смертные грехи тестировщика: темные стороны и самоэкзорцизм


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

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

Не задавать вопросов
Это, наверное, самый рискованный грех, который можно выявить в тестировщике. Потому что:

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

Почему же тестировщики не задают вопросы?

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

Я замечал, дело зарыто в отношениях.

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

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

Что делать?

Налаживать отношения.

Со всеми.

Программистов кормить печеньем, ведь айтишники падкие на сладкое ;).

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

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


Тратить чужое время впустую
Этот грех выводит из себя наших работодателей - программистов. Шучу конечно, не работодателей, но людях, помогающим сделать нашу профессию очень восстребовательной.
Я замечал, что некоторые специалисты имеют гипертрофированную активность дергать разработчика по поводу и без.Возник вопрос - сразу спросить, возник другой - опять. Ни разу не подумав, и не поискав информации в документации беспокойный назойливый тестировщик бежит и отвлекает разработчика. А иной раз кричит с другого конца комнаты: "Эй Паша, так эта кнопка слева, которая красная, должна вызывать окно подтверждения или не должна?" С учетом, что openspace культура уже подразумевает шум - назойливый тестировщик вносит свою лепту в снижение производительности.

А как же справляться, если требований нет, сам не разобрался, а тестировать нужно?

Я поклонник метода 30-60-60:   

Если не понял за 30 минут - пойди спроси.

В следующий раз приди не раньше, чем через 60 минут. 

Если ты действительно ни черта не понимаешь, лучше спланируй митинг, потрать 60 минут общего времени (своего и разработчика), чтобы разработчик тебе на пальцах и экране показал как на самом деле рабоает фича. Не забудь подготовить вопросы. 

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


Врать

Этот грех касается всех. Тестировщик может сказать неправду относительно багов, времени, сроков окончания...

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

Как не врать? Ответ только один - не врать. Я, честно, не знаю другого способа. Как в анекдоте - нужно себя заставить!

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

Но если ты не учишь уроки и не учитываешь своих ошибок, то ты совершаешь еще один смертный грех тестировщика: не учишься.

Не учиться
Это грех лени.

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

Называйте как хотите.

Человек всю жизнь учиться, а тестировщику, как касте айтишников учиться прекращать нельзя. В мире нулей и единиц ноль означает смерть. В нашем случае смерть это конец карьере.

Что лежит в основе этого греха? Я бы ответил - незнание своей истинной цели или нежелание ее иметь.

Как бороться?

Черт меня дери, если я знаю, как вам лично заиметь цель в жизни!

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

Что вами движет, кроме желания иметь самые вкусные печеньки в обед и - в подружках  Мисс-Вселенную, если вы парень или в парнях - Хью Джекмана, если вы девушка (хотя кто я такой, чтобы осуждать, если будет наоборот)? На этот вопрос нужно покопаться в своих тараканах самому.


Знать, но не сказать
Этот грех от неуверенности.

Замолчал риски, потому что забоялся? Думал, что пронесет? Ну вот, поздравляю - тебя  таки принесло. Детские страхи, что тебя "заругают" вылезают и отплясывают польку-бабочку в голове.

Что делать?

Ничего оригинального - сказать.

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

Если сегодня недостаточно информации - скажи о рисках и предложи варианты борьбы с ними. Не знаешь как выявить риски или устранять их - спроси. Пусть научат.

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

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

А если твой "профессиональный" сослуживец беситься - попробуй "Психологическое Айкидо" Литвака.


Использовать только свои стандарты качества
Это грех от чрезмерной гордыни.

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

Кто 100% может определить насколько критичен тот или иной баг?
От кого мы слышим, что продукт реально хорош или плох?
Кто определил, что пользователю удобно пользоваться новым функционалом?

Вариантов совсем мало - пользователь и только - пользователь.

Что делать? - напроситься на обед с разработчиками, клиентами, менеджером. Попросить поделиться опытом. Изучать продукт (а не только те фичи, что уже доступны к тестированию). Спросить как продукт работает в проде. Подписаться на рассылку мусора о проблемах в бизнесе. Почитать пару книг про проблемную область...

Если вы все еще считаете себя супер-аналитиком, имеющим в запасе сумку с бест-практиками, то очень интересно будет познакомиться с Context Driven подходом Кема Канера и Джеймса Баха. Чтобы уяснить, что лучших практик не бывает, т.е. лучших практик выявления качественных продуктов - не бывает тоже. Статья Алексея Лупана также внесет позитивный настрой в этом направлении.

Испытывать безразличие 

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

Я замечал в себе и окружающих безразличие двух типов - короткое (я его еще называю ленивое) и длительное-застойное.
Самое опасное - длительное безразличие. И тут очень тонкий момент. Человека, вроде бы, стоит за подобное отношение клеймить позором или даже - изгонять. А вот если человек перегорел на работе? Устал сидеть на одном месте? Проблемы в семье? Кризис среднего возраста тестировщика?

Шутки шутками, но как самому бороться с собой в этому случае?

Скатываемся в психоанализ - а ты сам, то как думаешь?

Безразличие также может быть связано с отсутствием цели. Я распинался о ее приобретении выше.

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

Если менеджер занят - мой трехлетний сын всегда меня готов выслушать. Особенно если - мы играем. Особенно если - в роботов. Полезная саморефлексия - потренироваться на роботах. Попробуйте играя с ребенком сказать "Ой, мне не хочется". Ребенок просто повернется и будет играть сам или с кем-то еще (с вашим заядлым конкурентом - мамой). В жизни будет точно также. Кто-то будет играть в команде вместо вас. И, возможно, даже лучше. Если вас это не не трогает - может пора поискать другую песочницу, в которой будет больше/меньше народу, более/менее профессионализма, больше/меньше денег или времени...вкуснее печеньки ;)

Короткие периоды безразличия - лень. И вот что тут сделаешь? Нужно взять себя в руки? - ага счас. Вот только постою на солнышке. Зальюсь кофем. Прочитаю спеку. Возьму в руки мышь и запущу программу и... Неа.Если сравнивать количество багов в критические дни безразличия, то в такие - проценты зашкаливают в понятную сторону.

Одно из последствий лени - самобичевание. Сродни диете, стоит съесть лишний бублик и тебя распирает от упреков к собственной тени. Самобичевание приносит стресс. Не помню в какой книге я прочитал эту удивительную мысль: Если вы ленитесь, то ленитесь на 100%. В дни, когда на мозг давит усталость, и время действительно не критично (час-два можно дополнительно потратить на себя) гуляйте, найдите таких же ленивых, позвоните маме...Ну с мамой конечно - перебор. Но поболтать с людьми, которые тебе интересны полезно. И еще повторять карму - если ты ленишься, то ты просто устал. 

Заключение

Я сознательно избегал позиции, что люди делают подобные вещи для удовольствия.  Кто-то меня может упрекнут в гуманизме и человеколюбии. Заранее, чтобы избежать споров, соглашусь - избегал. И да - я знаю, что есть склочные, глупые, ленивые, безразличные люди способные (по крайней мере только и делающие) положить все свои длинные 8 часов на рабочий день и ничего не делать, но много рассуждать как должно быть на самом деле. Встречал - знаю. Хорошо, что мы с вами - не такие, поэтому и будем думать позитивненько ;)

Я смог выделить 7 своих жизненных грешков:
- Не задавать вопросов.
- Тратить чужое время впустую.
- Врать.
- Знать, но не сказать.
- Испытывать безразличие.
- Использовать свои стандарты качества.

Возможно у кого-то жизненный опыт длиннее моего и набор шире. Что ж - мне есть куда расти ;). 

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

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

  1. можно ещё "гордыню" добавить (прямо как в библии). когда со временем, с накоплением опыта работы начинает проростать корона, и твердая вера в собственную офигительность, мол я ужо настолько многоопытный тестировщик, овладел целой кучей методик, практик одна другой best-ее, я тут поставлен ошибки-баги находить, значит сам ошибаться не могу, только одно моё участие в проекте гарантирует... и т.д. и т.п. возьмите уважаемый(-ая) полотенце и утритесь, вы, извиняюсь слюной забрызгались, и присутствие ваше ничего не гарантирует ещё.и ведь после этого чака норриса от тестирования находятся такие детсткие баги... детсткие и подлые, лапками сучат так ехидненько "а в рот вам кегли, уважаемый, а вот они мы..." причем находятся каким нибудь бегинером зеленым. потом начинается, мол это не МОЕГО уровня баги, Я так мелко не плаваю и дальше по тексту. а так ведь не бывает, корона она мало того что на голову давит, ухудшая кровообращение, так ещё и на глаза сползает - уменьшает кругозор.
    должен в тестировщике червячок сомнения копошиться, и копошением своим стимулировать рост и развитие, вперед и вверх.

    ОтветитьУдалить
  2. Статья хороша, действительно сдержанная, культурная, чего сейчас очень нехватает в статейках о тестировщиках)) и при этом все точно описано.
    А вот комментарий-добавление - то, чем сейчас кишит инет, в таком же тоне....
    Автору спасибо

    ОтветитьУдалить
  3. Александр, спасибо за статью.
    Особенно понравилось "люди проецируют свои страхи на других и именно свои недостатки меньше всего прощают другим людям." Именно эту черту стараюсь в себе давить, в последнее время получается все чаще.

    ОтветитьУдалить
  4. Спасибо за статью. Ещё одно напоминание о том, что никогда нельзя расслабляться, получив работу, надо работать не только над профессиональными качествами, но и над самим собой.
    Я вот сама всегда боюсь задавать вопросы, по разным причинам, боюсь отмашек, боюсь показаться глупой. Надо исправляться.

    ОтветитьУдалить
  5. Статья очень понравилась. Супер. Большое спасибо

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

    Особенно интересно, что комментарии появились спустя 13 дней после поста - может пора отпусков закончилась? ))))

    Коллеги, спасибо, что зашли. Приходите еще, можете не только с цветами ;)

    ОтветитьУдалить
  7. Я бы добавил про то, что необходимо, чтобы люди стремились делать работу не только вовремя, но и качественно. Так, чтобы набор тестов выдержал впоследствии не один цикл регрессии. Так, чтобы потом не было стыдно.

    ОтветитьУдалить
  8. И ещё. Статья ничего, но корректуру (т.е. верификацию) не провели. В результате в статье грамматические ошибки вроде "Человек всю жизнь учиться [...]" или "бизнесс".

    Я понимаю, что теперь русскому языку учат в школе уже не так, как раньше. Но надо же, в конце концов, работать над собой! Тем более, что про это тоже в статье написано.

    Как говорится, сапожник без сапог.

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

      Удалить
    2. Да согласен балбес я малограмотный )))

      Удалить
  9. >Статья ничего, но корректуру (т.е. верификацию) не провели.

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

    Мою школу ругать не нужно - это я такой балбес, сам по себе ))).

    ОтветитьУдалить
  10. >Так, чтобы набор тестов выдержал впоследствии не один цикл регрессии. Так, чтобы потом не было стыдно.

    Мне бы вашу уверенность, что качество работы зависит от набора или количества тестов ))).

    В последних 3 проектах тестирование свободным поиском показало преимущество перед сценарным подходом.

    Так что тут целое болото для размышлений и споров ;)

    ОтветитьУдалить
  11. А если тестировать ПО реального времени с высоким уровнем критичности, то зависит

    Всё зависит от того, что именно тестируешь :)

    ОтветитьУдалить
  12. Спасибо за статью, Александр! молодец )
    Действительно, есть такие сложности в работе )
    а ещё я иногда пишу непонятные баги и ленюсь писать подробные тест-кейсы

    ОтветитьУдалить
  13. Каждый в мелочах "грешит" по своему ;)

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