Plan Szkolenia

QA/CI

  • Czym jest QA?
  • Czym jest CI?
  • Koszty tworzenia oprogramowania, refaktoryzacja i naprawa błędów
  • Określenie i zrozumienie projektu
  • Zysk dla organizacji

DDD

  • Tworzenie oprogramowania na podstawie wymagań biznesowych, założenia DDD
  • Problemy w komunikacji IT-Biznes
  • Domain Model

Dobre praktyki

  • Zasady KISS i DRY
  • Standardy kodowania
  • Tworzenie kodu wielokrotnego użycia dzięki OOP i wzorcom projektowym
  • Określanie i redukcja złożoności cyklomatycznej

Metryki oprogramowania

  • Weight Method per Class
  • Response For a Class
  • Depth of Inheritance Tree
  • Coupling Between Objects
  • Lack of Cohesion of Methods
  • Number of Children
  • Złożoność cyklomatyczna
  • Metryki klasy
  • Metryki modelu
  • Metryki przypadku użycia

Testowanie oprogramowania

  • Co, kiedy i jak testować?
  • Metoda "białej skrzynki" i "czarnej skrzynki"
  • Rola testowania w metodykach zwinnych
  • TDD, tylko potencjalny wzrost kosztu projektu
  • Testy jednostkowe z JUnit (Java), PHPUnit (PHP)
  • Testy behawioralne z JBehave (Java), Behat i Mink (PHP)
  • Testy funkcjonalne

Refaktoryzacja

  • Czym jest refaktoryzacja?
  • Dług technologiczny
  • Code smell
  • Wzorce refaktoryzacji

Dokumentacja

  • Rola dokumentacji w metodykach zwinnych
  • Co warto dokumentować?
  • Rodzaje dokumentacji
  • Dokumentacja a metodyki zwinne, czy możliwe jest połączenie (Working software over comprehensive documentation)?
  • Standard XMI
  • Automatyczne generowanie dokumentacji z Javadoc (Java), ApiGen (PHP)

Narzędzia i środowisko CI

  • Narzędzia wspomagające refaktoryzację
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Lines Of Code Counter (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Jenkins Continuous Integration Server

Agile a CI/QA

  • Planowanie i przyrostowe tworzenie oprogramowania
  • Gotowość na zmiany
  • Krótkie etapy
  • Interdyscyplinarność zespołu
  • Extreme Programming, Code Review
  • Individuals and interactions over processes and tools

Podsumowanie

  • Dyskusja
  • Pytania
  • Od czego zacząć proces wdrożenia?

Wymagania

Wiedza z zakresu procesów tworzenia oprogramowania

 14 godzin

Liczba uczestników



Cena za uczestnika

Opinie uczestników (1)

Szkolenia Powiązane

Jenkins for .Net Continuous Integration (CI)

14 godzin

Powiązane Kategorie