Перейти к содержимому

Фотография

Ревью автотестов: стоит ли проводить и как строго?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 anele

anele

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Футорняк Елена


Отправлено 23 сентября 2013 - 13:31

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

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

С другой стороны, на ревью нужно время. И оптимизация некоторых скриптов никогда не принесет выгоды. Ну что такого, что мы делаем одни и те же функции 20-ю строками, а не двумя, если это никак не влияет на внешнюю работу скрипта? И, возможно, в этот скрипт никто и никогда больше не будет залазить, т.к. эта часть ПО не будет меняться или скрипт станет вообще не актуальным. Но заранее этого мы никогда не знаем на 100%.
Понятливость для нового сотрудника? Опять же, это такие неосязаемые выгоды, которые не выразишь ни в каких цифрах.
Некоторые автоматизаторы считают, что они и так хорошо пишут код и ревьювить там нечего.

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

Конечно же, всегда нужно смотреть по ситуации и с головой подходить к каждой задаче, иногда выбор очевиден: стоит делать ревью или нет.
Мне интересно, какая существует практика у других людей.
Поделитесь, это происходит у вас :)
  • 0

#2 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 23 сентября 2013 - 15:06

Автоматизация обычно делается ради того, чтобы гонять тесты часто.
Да, единоразово написанное что-то в целях быстрой проверки, и что не будет использоваться в дальнейшем, можно не ревьюить и не рефакторить.
Остальное же на мой взгляд стоит того, чтобы было ревью и рефакторинг плохо написанных частей.
Ибо это:
  • минимизирует ошибки в самих тестах и фреймворке (которые очень часто скрыты и неочевидны)
  • упрощает чтение и понимание кода
  • упрощает поддержку кода
  • исключает ошибки в дальнейшем (поправили в трех местах из 5, а потом долго думаем, почему тесты падают или хуже того, работают неверно и пропускают баги в приложении)
А также учит людей, как правильно писать код.
В реальности написать сразу правильно или заговнокодить занимает примерно одинаковое время, вот только чтобы написать правильно надо уметь это делать. А если все время писать как придется, то не получится научиться писать правильно.
  • 1

#3 ShortLegged

ShortLegged

    Постоянный участник

  • Members
  • PipPipPip
  • 155 сообщений
  • Город:Moscow

Отправлено 23 сентября 2013 - 15:53

Для фреймворка ревью обязательно, для тестов очень желательно. Выгода будет видна именно при поддержке кода (доработки/изменения).
Если автотесты и продакшен код пишутся на одном языке, думаю, выгодно привлечь разработчиков к ревью, как минимум, фреймворка.
  • 0

#4 VASya

VASya

    Опытный участник

  • Members
  • PipPipPipPip
  • 364 сообщений


Отправлено 23 сентября 2013 - 21:34

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

Както работал в компании, где писать автотесты поручили чисто программистам.
в результате получилось:
документация по тестам практически не велась,
было не возможно понять, что проверял автотест, ибо логирование отсутствовало напрочь
автоматизаторы и мануалы работали параллельно, выполняя одни и те же тесты (покрытие мануальных тестов автоматизацией за 3 года было смехотворным, а команды были немаленькие)
ревью автотестов должно было быть обязательным, но увы....
  • 0

#5 Wolonter

Wolonter

    Постоянный участник

  • Members
  • PipPipPip
  • 205 сообщений
  • ФИО:Макс
  • Город:Екатеринбург


Отправлено 24 сентября 2013 - 05:02

Поделитесь, это происходит у вас :)


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

Пока в команде всего 4 человека - каждый коммит просматривается всеми, ревью делает кто-то один.
  • 0

#6 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 24 сентября 2013 - 10:41

У нас в компании ревью кода автотестов нет, так как ими занимается всего один человек, хотя проектов много... :smile:
  • 0

#7 Cler

Cler

    Новый участник

  • Members
  • Pip
  • 25 сообщений
  • ФИО:CC
  • Город:St-Petersburg -> Germany, Karlsruhe

Отправлено 25 сентября 2013 - 10:50

У нас в компании ревью кода автотестов нет, так как ими занимается всего один человек, хотя проектов много... :smile:/>/>/>


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

У нас ревью проводятся по мере сил и времени. Хотя я знаю команды, где ревью нет, а на код тестов страшно смотреть.
Хорошо, конечно, надо подумать, что конкретно имеет смысл ревьюить (об одноразовых тестах написали выше).
  • 0

#8 leftCh

leftCh

    Постоянный участник

  • Members
  • PipPipPip
  • 179 сообщений

Отправлено 02 октября 2013 - 09:58

Ревью и оптимизация скриптов не одно и тоже. Ревью должно проводиться, но надо понимать, что нет смысла в тестовых скриптах полностью избавляться от копипаста и хардкода тестовых данных. Не надо пытаться довести до идеала тестовые скрипты, но вот фреймворк должен соответствовать всем требованиям, то есть для кода фреймворка поблажек быть не должно.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных