Ревью автотестов: стоит ли проводить и как строго?
#1
Отправлено 23 сентября 2013 - 13:31
Я столкнулась с двумя сторонами этого вопроса.
Как минимум, ревью стоит проводить у молодых начинающих автотестировщиков.
Для опытных плюсами будет:
- "одинаковость" кода,
- следование сложившимся специфичным стандартам,
- знание существующих методов и уже реализованных велосипедов с целью переиспользования в новых задачах.
С другой стороны, на ревью нужно время. И оптимизация некоторых скриптов никогда не принесет выгоды. Ну что такого, что мы делаем одни и те же функции 20-ю строками, а не двумя, если это никак не влияет на внешнюю работу скрипта? И, возможно, в этот скрипт никто и никогда больше не будет залазить, т.к. эта часть ПО не будет меняться или скрипт станет вообще не актуальным. Но заранее этого мы никогда не знаем на 100%.
Понятливость для нового сотрудника? Опять же, это такие неосязаемые выгоды, которые не выразишь ни в каких цифрах.
Некоторые автоматизаторы считают, что они и так хорошо пишут код и ревьювить там нечего.
Вот и получается, что набросать кучу повторяющихся строк кода по разным методам, захардкодить половину редко-меняющихся параметров, не до конца продумать мобильность/модульность/расширяемость скрипта будет гораздо быстрее, чем делать это все по-человечески (а именно такие ошибки находятся в процессе ревью). В результате качественные скрипты и ревью займут в два раза больше времени и дадут на выходе в два раза меньше тестов.
Конечно же, всегда нужно смотреть по ситуации и с головой подходить к каждой задаче, иногда выбор очевиден: стоит делать ревью или нет.
Мне интересно, какая существует практика у других людей.
Поделитесь, это происходит у вас :)
#2
Отправлено 23 сентября 2013 - 15:06
Да, единоразово написанное что-то в целях быстрой проверки, и что не будет использоваться в дальнейшем, можно не ревьюить и не рефакторить.
Остальное же на мой взгляд стоит того, чтобы было ревью и рефакторинг плохо написанных частей.
Ибо это:
- минимизирует ошибки в самих тестах и фреймворке (которые очень часто скрыты и неочевидны)
- упрощает чтение и понимание кода
- упрощает поддержку кода
- исключает ошибки в дальнейшем (поправили в трех местах из 5, а потом долго думаем, почему тесты падают или хуже того, работают неверно и пропускают баги в приложении)
В реальности написать сразу правильно или заговнокодить занимает примерно одинаковое время, вот только чтобы написать правильно надо уметь это делать. А если все время писать как придется, то не получится научиться писать правильно.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#3
Отправлено 23 сентября 2013 - 15:53
Если автотесты и продакшен код пишутся на одном языке, думаю, выгодно привлечь разработчиков к ревью, как минимум, фреймворка.
#4
Отправлено 23 сентября 2013 - 21:34
Както работал в компании, где писать автотесты поручили чисто программистам.Конечно же, всегда нужно смотреть по ситуации и с головой подходить к каждой задаче, иногда выбор очевиден: стоит делать ревью или нет.
Мне интересно, какая существует практика у других людей.
Поделитесь, это происходит у вас :)
в результате получилось:
документация по тестам практически не велась,
было не возможно понять, что проверял автотест, ибо логирование отсутствовало напрочь
автоматизаторы и мануалы работали параллельно, выполняя одни и те же тесты (покрытие мануальных тестов автоматизацией за 3 года было смехотворным, а команды были немаленькие)
ревью автотестов должно было быть обязательным, но увы....
#5
Отправлено 24 сентября 2013 - 05:02
Поделитесь, это происходит у вас :)
Автотесты - программа. Ревью находит много ошибок в программах, факт (см. сюда), не требует инфраструктурных вложений. Также - один из лучших способов обучения и диалога.
Поэтому обязательное ревью кода как для старших, так и для стажеров.
Пока в команде всего 4 человека - каждый коммит просматривается всеми, ревью делает кто-то один.
#6
Отправлено 24 сентября 2013 - 10:41
#7
Отправлено 25 сентября 2013 - 10:50
У нас в компании ревью кода автотестов нет, так как ими занимается всего один человек, хотя проектов много... />/>/>
Это работает, пока не появится второй человек или имеющийся единственный не решит куда-нибудь уйти ... Но об этом, конечно, в первую очередь должна болеть голова у начальника.
У нас ревью проводятся по мере сил и времени. Хотя я знаю команды, где ревью нет, а на код тестов страшно смотреть.
Хорошо, конечно, надо подумать, что конкретно имеет смысл ревьюить (об одноразовых тестах написали выше).
#8
Отправлено 02 октября 2013 - 09:58
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных