
Распараллеливание тестов(Selenium+PHPUnit)
#1
Отправлено 04 октября 2011 - 12:12
Не мог бы кто-нибудь рассказать про то как лучше распараллелить запуск тестов, У меня используется PHPUnit, Selenium rc,Grid.Selenium сервер используется старый. Кто как решил для себя данную задачу?
Заранее спасибо!
#2
Отправлено 05 октября 2011 - 14:24
А как ты собираешься прогнать скажем 10к тестов при каждом комите, даже если у тебя есть ферма машин. Дело в том, что в твоём случае лучше всего разбить тестирование на регрессионное и приёмочное. Согласно бест практис - прогон приёмочных тестов не должен быть занимать более 3-х часов (в зависимости, конечно, от приложения). А регрессия - один раз в билд. Бывали случаи когда регрессия проходила за 7 дней беспрерывного прогона на 10ти (!!!) машинах.
Конечно же все зависит от модели разработки ПО которая укоренилась в вашем проекте но все же иметь разделение регрессия\приемочные все же надо. Прогоняйте приемочные после каждого комита и регрессию раз в билд и все будет гуууут.

Успехов!!
#3
Отправлено 06 октября 2011 - 05:59
А вы часом не путаете коммиты, билды и релизы?Конечно же все зависит от модели разработки ПО которая укоренилась в вашем проекте но все же иметь разделение регрессия\приемочные все же надо. Прогоняйте приемочные после каждого комита и регрессию раз в билд и все будет гуууут.
![]()
Обычно, чтобы прогнать UI-тесты после коммита, надо собрать билд и задеплоить его на тестовый сервер. Таким образом, тесты всегда прогоняются на конкретном билде (который может собираться после каждого коммита / раз в день / по еще каким-нибудь правилам). Гонять регрессию на каждом билде или нет очень сильно зависит от тестов, проекта, уровня автоматизации. Может там уже все заавтоматизировано для того, чтобы использовать практику чертова колеса, а может для проекта оно и вообще не нужно.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#4
Отправлено 06 октября 2011 - 06:00
На каком/каких браузерах вам нужно тестировать? Если сейчас все в одном потоке, то для чего используется Grid?Cейчас возникла проблема, что набор тестов, написанных на selenium rc, проводится очень долго на системe Continuous Integration Cruisecontrol(Тестов стало много). Тесты запускаются последовательно в одном окне браузера в порядке указанном в phpunit.xml в прокте. Это не хорошо так как теряется смысл предназначения регрессионных тестов(прогон после каждого комита).
Не мог бы кто-нибудь рассказать про то как лучше распараллелить запуск тестов, У меня используется PHPUnit, Selenium rc,Grid.Selenium сервер используется старый. Кто как решил для себя данную задачу?
Заранее спасибо!
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#5
Отправлено 07 ноября 2011 - 12:26
Demon_ex у вас есть 10к тестов?)
Проверка идет (к примеру) только в одном браузере. Да Grid настроен и может раскидывать на разные машины с разными браузерами, но он всеравно делает это по-порядку, согласно файлу phpunit.PHPUNIT не может распараллеливать тесты если я всё правильно понимаю.
#6
Отправлено 22 ноября 2011 - 14:00
#7
Отправлено 22 ноября 2011 - 16:28
На почитать по теме:
http://codeascraft.e...ide-and-concur/
Линки на их перепилы того же PHPUnit на гитхабе инклюдед. Если что, им можно писать и они охотно отвечают на вопросы.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных