4. CI - введение Непрерывная интеграция ( Continuous Integration ( CI ) ) – практика разработки ПО, когда все члены команды интегрируют результаты своей работы с некоторой частотой , обычно каждый участник интегрирует хотя бы раз в день, что приводит ко множетвенным интеграциям в течение дня. Вы хочите ссылок? Их есть у меня! http://en.wikipedia.org/wiki/Continuous_Integration http://www.martinfowler.com/articles/continuousIntegration.html
10. JMeter Вопрос залу: На сколько процентов JMeter лучше, чем ничего? Ответ: Как минимум в 2 раза больше. Функциональное тестирование RESTful интерфейса + Легко создавать тесты + Навыков программирования не нужно - Тесты неуклюжие
12. Ходят слухи, что DSL ... http://code.google.com/p/selenium/wiki/GettingStarted Это – не DSL
13. DSL Предметно-ориентированный язык программирования (англ. domain-specific programming language, domain-specific language, DSL ) — язык программирования, специально разработанный для решения определённого круга задач, в отличие от языков программирования общего назначения , таких, как Си, или языков моделирования общего назначения наподобие UML, PostScript, SQL и др. http://ru.wikipedia.org/wiki/Предметно-ориентированный_язык_программирования
16. Пожалуй хватит. Спасибо за внимание! Сергей Андреев, JetBrains [email_address] [email_address]
Editor's Notes
Программы сами себя не напишут, особенно хорошие, их всё-таки пишут люди. Инфа - 100% Когда пишущих людей много начинаются проблемы где рванёт после коммита? – Функциональное тестирование совместимы ли коммиты с жизнью приложения? – собирается ли вообще? тестерам постоянно нужна новая жертва – свежий билд как-то это все затягивается....
Согласно интернетам впервые об этом вслух заговорили Мартин Фаулер и Кент Бек ещё в прошлом веке. ( Extreme Programming Explained. 1999.) Сам Фаулер описывает свои ощущения так: Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.
Continuous integration процесс состоит из нескольких этапов, некоторые из которых обязательны, другие нет: Срабатывает триггер (Происходит некоторое событие) – коммит, таймер Сервер выбирает подходящего агента (требования к агенту можно задавать) и отправляет ему задание Агент скачивает исходный код и билд-скрипты, происходит сборка, тестирование Результаты и артефакты этой деятельности передаются обратно серверу Сервер сохраняет у себя артефакты (готовые билды, статистику, скриншоты, логи и т.п.) и отправляет уведомления о результатах Добавления: code-analyze : статический анализ кода, code style-guides , вычислени метрик Application deployment – если хочется / или нужно 3) Command from comment – TC and YT integration 4) Pretested commit – TC feature. Кнопка «Сделать прикольно»
Selenium RC server Selenium Grid Агент должен запускает у себя собранный билд, Он должен знать где Selenium Grid Hub, отдать имя своего хоста, и желаемый браузер 4) Параметры можно задать через web- интерфейс
Class; Method; Blocks: Line 1) Overall 2) By Packages 3) Per each Package 4) Per each Class in Package Для чего нужен – посмотреть куда вы не стреляете вообще.
Время сборки Время нахождения в очереди заявки на сборку Соотношение Забитых к пропущенным Как долго жили мертвые тесты Code Coverage
Вообще это г. Мухсаранск, но девелопер описАлся. Это трасса специально создана – в ней много конкурентных запросов из оазных тредов Driver – DB Трасса – оперцаии над базой