Инженерные практики в iOS (2х дневный тренинг) Training

Czhbiqtmn85qqfwovksuu6mcthquw27cs7ntnobe3k9h=w243-h175-no Киев, Украина
02 Aug 2013 (till 03 Aug 2013)
http://www.scrumguides.com.ua/

Зачем нужен этот тренинг

На сегодняшний день Agile отлично себя зарекомендовал и де факто является рабочей методологией разработки ПО в подавляющем большинстве коммерческих проектов. Бизнес-среда требует от разработчиков высочайшего качества продуктов и максимально быструю их поставку в условиях постоянно меняющихся требований. Это невозможно реализовать без активного использования инженерных практик, призванных внедрить качество в сам процесс разработки. Оценить все приемущества использования инженерных практик можно только начав их практиковать. Принято считать, что инженерные практики плохо применимы на мобильных проектах. Данный тренинг призван развеять этот миф.

Целевая аудитория

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

Цель тренинга

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

Программа:

  • Введение
  • Code review
  • Инструменты. Управление зависимостями
  • Модульное тестирование. Введение
  • Модульное тестирование. Практика
  • Разработка через тестирование
  • Функциональное тестирование
  • Автоматизация сборки приложения
  • Непрерывная интеграция

В результате прохождения тренинга вы:

  • Ознакомитесь с инженерными практиками в Agile
  • Узнаете о новых подходах и инструментах для iOS
  • Получите опыт управлением зависимостями при помощи CocoaPods
  • Попрактикуетесь в написании модульных тестов с помощью OCUnit/OCMock
  • Ознакомитесь с инструментами для модульного тестирования - Kiwi / Cedar
  • Узнаете о подходах и инструментах для функционального тестирования
  • Ознакомитесь с практикой разработки через тестирование
  • Получите представление о практике автоматизации сборки и распространения приложения
  • Ознакомитесь с практикой непрерывной интеграции
  • Узнаете как обеспечить качество и предсказуемость разработки в условиях команды
  • Узнаете о подводных камнях внедрения инженерных практик на мобильных проектах

Продолжительность тренинга

2 дня (16 часов)

Стоимость тренинга

  • 1600 грн при оплате до 1 июля
  • 1800 грн при оплате после 1 июля

Тренера

Максим БазалийПрактикующий iOS разработчик. Более 7 лет в ИТ. За это время успел пройти путь от разработчика до руководителя мобильной разработки. Последние 4 года Максим активно работает с Agile методологиями, обучает команды инженерным практикам и процессам. Приверженец ХР практик. Обладатель нескольких профильных сертификатов (PMI Agile Certified Practitioner, Certified Scrum Professional).
Александр ПерепелицынАлександр – увлеченный iOS разработчик. Начал карьеру в ИТ с автоматизации веб приложений. Быстро разобравшись с подходами и популярными инструментами начал успешно обучать коллег желающих научиться автоматизации на Selenium. Открыв для себя продукты компании Apple профессиональный интерес Александра естественным образом перешел на программирование на Objective-C. Последние 2 года он активно применял практики XP и Scrum для разработки iPhone и iPad приложений. Помимо разработки под iOS в сферу интересов входят Ruby on Rails и Sinatra, а также проектирование UI/UX для мобильных приложений.

Детальная программа:

1. Введение

  • Знакомство
  • Типичные проблемы. Качество кода. Технический долг.
  • Обзор инженерных практик
  • Проектное окружение

2. Code review

  • Цели code review
  • Роли и стратегии
  • Практические советы по проведению
  • Статический анализ кода
  • Стандарты написания кода
  • Обзор. Техники рефакторинга

3. Инструменты. Управление зависимостями.

  • Cocoapods
  • Обзор вспомогательных инструментов для разработки

4. Модульное тестирование. Введение

  • Dependency Injection, типы верификаций, Testability vs Information hiding
  • Категории тестов (Тесты уровня приложения / логические тесты, UI)
  • Структура модульных тестов
  • Мок объекты (Custom fakes vs OCMock): Fakes / Stubs
  • Возможные стратегии модульного тестирования
  • Фреймворки для модульного тестрования
  • GHUnit, OCMockito, OCHamcrest
  • Specta, Kiwi, Cedar

5. Модульное тестирование. Практика

  • Тестирование View Controllers
  • Тестирование User Defaults
  • Тестирование Notification Center
  • Тестирование TableView Datasources \ Delegates
  • Тестирование Gesture Recognizers
  • Тестирование CoreData
  • Тестирование работы с сетью (NSURLConnection + AFNetworking)
  • Тестирование Block-based API

6. Разработка через тестирование

  • Что такое TDD ?
  • Преимущества и недостатки TDD
  • TDD на практике

7. Функциональное тестирование

  • Обзор инструментов. KIF, Calabash, Frank, UIAutomation
  • Функциональное тестирование на практике

8. Автоматизация сборки приложения

  • Проблемы которые решает автоматизация
  • Шаги автоматизации сборки
  • Автоматизация работы с provision portal
  • Автоматизация сборки приложения. Xcodebuild.
  • Метрики. Покрытие тестами
  • Метрики. Анализ кода.
  • Автоматизация публикации приложения. TestFlight.


9. Непрерывная интеграция

  • Какие проблемы решает непрерывная интеграция?
  • Шаги непрерывной интеграции
  • Непрерывная интеграция как практика
  • Триггеры для сборки
  • Сервер непрерывной интеграции
  • Обзор инструментов. TeamCity
  • Непрерывная интеграция в iOS на примере TeamCity


10. Ответы на вопросы

Organizers Contacts

Organization SCRUMguides
Contact Person Лина Шишкина
Phone Number +380 50 374 04 38
Email shishkina@scrumguides.com
Participants: 6

Seats remained: 14 of 20