суббота, 21 февраля 2015 г.

Лайфхак. Как уговорить разработчиков начать писать автотесты

Обсуждали в чате со студентами, как писать автотесты. После гугления возникает мнение, что начинать надо с Selenium и GUI тестов. Но это же не так. Какой в них смысл, если ничего нет на уровне ниже?

Начинать надо с unit-тестов, которые пишут разработчики. Потом писать тесты на уровне API. Чем они хороши, я рассказывала в этом докладе. А потом уже заавтоматизировать через GUI минимальную часть. Но тут возникает проблема...

Проблема

Unit-тесты у нас никто не пишет, а к мнению джуниоров мало прислушиваются. Sad :(
Особенно разработчики. Как их убедить начать?

Лайфхак

Лайфхак подходит только в ситуации мальчик-разработчик и девочка-тестировщица!

А вы выберите самого умного разработчика (или самого дружелюбного, по ситуации), принесите ему блинчиков на масленицу и скажите:

— Ох, Вася, как было бы здорово юнит-тестами наше приложение покрыть! Ты такой умный, помоги, пожалуйста, начать... Вот ты мне приложение отдаешь, руки только через полдня до него доходят, а там баг! Мог бы фидбек быстрее получать, будь у тебя тесты (объясняете проблему в его мире)...


Главное — похвалить! И накормить Smile :)

И облегчить его боль, если это возможно. Например, попросить начать писать unit-тесты, то есть сделать фреймворк и 1-2 теста. И отдать в таком виде тестировщику на пополнение. Да, придется вникать, как тесты пишутся, ну и что? Прокачаете скилы автоматизации, круто же!

И разработчику не сильно внапряг заниматься "не своим делом", один тестик много времени не займет. И вообще не надо разработчикам давать тестами код покрывать, знаем мы их "покрытие" (поучительная история).
.
Написали unit-тесты, просите фреймворк для API. Джуниор его полгода будет пилить, а разработчик за день сделает. Особенно если никто не будет его просить еще и тесты туда добавлять Smile :)

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

Так что я к нему пришла с вкусняшками:

— Здравствуй, Васенька! Хочешь конфетку?
— Ух ты, спасибо! *довольный, жует*
— Слууууушай, я тут хочу на конференции выступить... *ручки за спину, взгляд — сама скромность*
— Ну и что?
— А было бы так здорово показать им реальный код! Представляешь, скачал — и оно все само запустилось! У нас же такие классные тесты, я бы вот это и это показала...
*Взгляд становится настороженным* А от меня ты что хочешь?
— А можешь сделать мне такое тестовое приложение? Я вообще не знаю, с чего начать! А ты у нас ТАКОЙ умный, любую сложную задачу как орешки щелкаешь! (это правда, он умеет за пару часов сделать то, что казалось невозможным)
*Гордо приосанивается* Ну да, это так.
— Ну вот! Я уверена, что у тебя такая задача буквально часик займет, ты же так быстро все делаешь! А я одна не справлюсь (((( Помоги мне, пожалуйста! А я тебе котлеток сделаю))))
— Ну лааадно, давай посмотрю...

Приложение он мне написал Smile :)
Котлетки свои тоже получил ))) Тут главное было — подойти заранее, я пришла с просьбой за полгода до выступления и где-то через месяц у него дошли руки сделать мне folks. Так что лайфхак вполне реальный Wink ;)

После обсуждения лайфака в чате студенты попросили: Ольга, пишите еще в блог такие небольшие лайфхаки от себя, мелочь, а джуниорам полезно и не все очевидно!) Я бы с удовольствием читала.

Так что вот — пишу! Появился лейб "лайфхак", ну и в названии будет мелькать, если влезет)))

3 комментария:

  1. Такой-то сексизм, категорически одобряю.

    ОтветитьУдалить
  2. Оля, спасибо за статью!
    Я жду, когда жертва-разработчик вернется из отпуска :D
    Вопрос вдогонку: разве тестировщики пишут unit-тесты???

    ОтветитьУдалить
    Ответы
    1. Ждите ждите))) И удачи вам!
      По поводу написания unit-тестов — а почему бы и нет? В конце концов, если разработчикам так впадлу, то можно и самим написать :) У нас сейчас тестировщики проводят ревью написанного разработчиками и пополняют это счастье

      Удалить