Уведомления

Группа в Telegram: @pythonsu

#1 Март 1, 2011 17:38:34

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Юниттесты

Профит? Питоновская надстройка, хорошо интегрированная с nose. Впрочем, рекламировать не буду - сам не использовал.

У нас техпроцесс чуть другой был. Практика показала, что полностью переложить всю работу на QA не выходит.



Офлайн

#2 Март 1, 2011 18:24:04

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Юниттесты

Ну, мы nose не используем, так что пока не актуально.
Вот и у нас практика то же показывает. Кроме того регрешен тестирование разбухло по времени настолько, что срочно надо что-то с этим делать. Вот и пытаемся наших QA пересадить на рельсы автоматизированного тестирования. И желательно поменьше привлекая в это дело разработчиков.

Я думаю что проблема с javascript решится самими javascript-юнит тестами.

Офлайн

#3 Март 1, 2011 18:49:17

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Юниттесты

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

Мне кажется, что юниттесты для javascript - замечательная вещь. Только, как и с такими же тестами для Питона, одним модульным тестированием не отделаться.



Офлайн

#4 Март 1, 2011 19:42:26

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Юниттесты

Очень интересно.

Ты знаешь, я вот пообщался на эту тему с Pawel Lipinski, так вот товарищ говорит что у них QA нету в принципе, и обходятся они только юнит-тестированием, и только совсем недавно начали писать тесты на GUI. По мне, так это blade running, но вот, бывает и такое.

Отредактировано (Март 1, 2011 19:42:48)

Офлайн

#5 Март 1, 2011 20:14:27

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Юниттесты

Нуу. Это - очень круто, если только юниттесты. Проект под названием Питон так и поступает.

Но даже для моей маленькой тулзы для блога дешевле и проще было написать функциональные, чем покрывать все юниттестированием. При том что как бы исключительно я веду разработку (непонятно, кому она еще потребуется - но привык делать “правильно”) - выбор однозначен: функциональные тесты нужны.

Они реально сокращают мои усилия по созданию тестового окружения - покрываю модульными только “библиотечную” часть.

Для “большой” работы отличие гораздо значительней. Команда QA необходима, если имеем конечное приложение, а не либу. И ребята из QA должны тестировать именно приложение. Они знают предметную область - но не всегда владеют Питоном. И уж точно они не настолько осведомленные программисты, чтобы читать код и модульные тесты, выявляя несоответствия.

С регрессинонками поступали так: часть QA объявлялась regression и переносилась в отдельную папку. Разработчик *обязан* выполнить regression и те QA, которые непосредственно относятся к теме. Это - долго и напрягает. Порядка получаса. После чего шел commit в trunk. При использовании DVCS немного проще - делать только перед push/merge.

Полная картинка была сложнее, конечно. Много мелких вопросов между тестерами и разработчиками, ежедневный и еженедельный внутренние релизы, отдельная головная боль с официальными релизами… Регулярная сборка… Уххх!



Офлайн

#6 Март 2, 2011 21:33:28

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Юниттесты

Он вообще о продукте для корп. сектора говорил. А питон практически и есть сплошная бибилиотека :)
У меня проблема так не стоит - я в TDD стиле программирую.
По поводу QA - так и есть. Но у них тоже есть regression тестирование и оно у нас очень много забирает (вручную) так что будут переезжать на автоматизированное тестирование. Вот я и думаю на них большую часть acceptance перекинуть (пусть seleniumom и тестируют), оно им ближе. У себя высокий уровень только по необходимости делать. (что-то я повторяюсь)

Я вот по поводу “объявлялось regression” не понял — это как? И зачем тесты отдельно переносить? Или имелись в виду функциональные, типа как c selenium?
Мы перед отправкой изменений запускаем все тесты, и собственно push делаем только если все отработают. Долго, конечно, но спасает то, что обычно такое происходит только когда готова реализация User Story.

Офлайн

#7 Март 2, 2011 21:49:05

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Юниттесты

QA - только автоматический. Тесты с ручным выполнением просто отсутствовали.

Есть story. На нее QA уже накидало тестов. Они должны пройти, чтобы story была закрыта. Запускает их программист. Если в тестах лажа - садятся с тестером и вместе правят.
Еще есть старые тесты, которые относятся, например, к этой форме. Их вообще-то тоже нужно запускать перед фиксацией.
А еще существует немного regression. Это - тоже функциональные, “по верхам” проходящиеся по всей программе. В детали лезть не нужно - слишком долго выполнять. Но самую базовую функциональность regression проверяют. И эти regression тоже нужно запускать перед отправкой изменений.
И, конечно модульные - но они как раз личное дело программистов и тестеров эта часть не касается.

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

Тестеры запускают QA потом опять, как часть процесса автосборки - чтобы все QA успели провериться до утра.
И тестеры пишут свои тесты, правят уже готовые, принимают участие в составлении/проверки story, делают первичную диагностику по сломавшимся на ночном прогоне.

Так и работали.



Офлайн

#8 Март 3, 2011 23:40:03

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Юниттесты

А что за проект был, если не секрет? Десктоп/веб?

Офлайн

#9 Март 3, 2011 23:56:19

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Юниттесты

Распределенный десктоп. Веба - чуть. Финансы. Точнее, биржевые спекуляции для довольно серьезных контор.



Офлайн

#10 Март 9, 2011 13:22:55

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Юниттесты

Я это к чему спрашиваю — интересно чем тестировали и как.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version