План на курса
QA/CI
- Къде е QA?
- Къде е CI?
- Разходите за разработка на софтуер, преработка и отстраняване на грешки
- Идентифициране и разбиране на проекта
- Печалба за организацията
DDD
- Разработка на софтуер, базирана на бизнес изисквания, предположения DDD
- Проблеми в комуникацията ИТ-Бизнес
- Домейн модел
Най-добри практики
- Принцип KISS и DRY
- Стандарти за програмиране
- Създаване на повторно използвани кодове чрез OOP и дизайн паттерни
- Идентифициране и намаляване на цикломатната сложност
Метрики на софтуера
- Метод за тежест на клас
- Отговорност на клас
- Дълбочина на дървото на наследяване
- Взаимосвързаност между обекти
- Липса на единство на методите
- Брой на децата
- Цикломатна сложност
- Метрики на клас
- Метрики на модели
- Метрики за използване
Тестване на софтуер
- Какво, кога и как да тестваме?
- Методът „бял кутий“ и „черна кутия“
- Ролята на тестването в агилни методики
- TDD само потенциално увеличение на разходите по проекта
- Единично тестване с JUnit (Java), PHPUnit (PHP)
- Бихевиорални тестове на JBehave (Java), Behat и Mink (PHP)
- Функционални тестове
Преработка
- Какво е преработка?
- Технологичен дълг
- Кодово мирисене
- Паттерни за преработка
Документация
- Ролята на документацията в агилни методики
- Какво да документираме?
- Видове документация
- Документация и агилни методики, или можете да кажете (Работен софтуер над обширна документация)?
- Стандарт XMI
- Автоматично генериране на документация от Javadoc (Java), ApiGen (PHP)
Инструменти и среда CI
- Инструменти и среда CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Счетчик на редове код (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Сървър за непрекъснато интегриране Jenkins
Агилни и CI/QA
- Планиране и инкрементална разработка
- Приемане на промени
- Кратки етапи
- Междудисциплинарен екип
- Екстремно програмиране, преглед на кода
- Индивиди и взаимодействия над процеси и инструменти
Събрание
- Обсуждение
- Въпроси
- Как започваме процеса на внедряване?
Изисквания
Познаване на процесите на разработка на софтуер
Отзиви от потребители (5)
Захващаващо и практично обучение.
Balavignesh Elumalai - Scottish Power
Курс - SonarQube for DevOps
Машинен превод
Треньорът има задълбочен опит и добре разказан на дело. Дълбочината на знанията и страстта към преподаването са високо оценени.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Курс - Jenkins 2: Building CI/CD Pipelines
Машинен превод
Треньорът беше много добре организиран. Той обясни всичко за инструментите, необходими за обучението, от началото. Треньорът щателно разясни всички въпроси и беха обсуждени практическите случаи за приложение.
Vivek Verma - Global Knowledge Network Training Ltd
Курс - DevOps Practical Implementation and Tools
Машинен превод
Много подробен, треньора знае добре темата и е покрила множество теми
Gabriel Kelly Navarro - Opswerks
Курс - Advanced Spinnaker
Машинен превод
Luke was very knowledgeable, patient, and very open to satisfy my curiosity, for example I asked him to generate errors to see how system will response, etc. He would go above and beyond to answer questions or demonstrate the functionalities, even some of my questions were out of the class scope. He gave me a real experience with the system. I definitely will take another class with him and recommend him as a teacher for others. Thank you Luke!.
Tina Henderson
Курс - Test Automation with Selenium and Jenkins
Машинен превод