Struttura del corso
QA/CI
- Cosa è QA?
- Cosa è CI?
- I costi dello sviluppo software, del rifattorizzazione e della correzione degli errori
- L'identificazione e la comprensione del progetto
- Il profitto per l'organizzazione
DDD
- Sviluppo software basato sui requisiti aziendali, assunzioni DDD
- Problemi nella comunicazione IT-Azienda
- Modello di dominio
Migliori Pratiche
- Principio KISS e DRY
- Standard di codifica
- Creazione di codice riutilizzabile attraverso OOP e pattern di design
- Identificazione e riduzione della complessità ciclotomica
Metriche Software
- Peso del metodo per classe
- Risposta di una classe
- Profondità dell'albero di ereditarietà
- Coupling tra oggetti
- Mancanza di coesione dei metodi
- Numero di figli
- Complessità ciclotomica
- Metrica classe
- Metriche del modello
- Metriche per l'uso
Test Software
- Cosa, quando e come testare?
- Il metodo "white-box" e "black box"
- Il ruolo del testing nelle metodologie agili
- TDD e il potenziale aumento dei costi del progetto
- Test unitari con JUnit (Java), PHPUnit (PHP)
- Test comportamentali di JBehave (Java), Behat e Mink (PHP)
- Test funzionali
Rifattorizzazione
- Cosa è la rifattorizzazione?
- Debito tecnico
- Codice puzzolente (code smell)
- Pattern di rifattorizzazione
Documentazione
- Il ruolo della documentazione nelle metodologie agili
- Cosa documentare?
- Tipi di documentazione
- Documentazione e metodologie agili, o si può dire (Software funzionante più che documentazione esaustiva)?
- Standard XMI
- Generazione automatica di documentazione da Javadoc (Java), ApiGen (PHP)
Strumenti e Ambiente CI
- Strumenti e ambiente CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Contatore di righe di codice (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Jenkins Continuous Integration Server
Agile e CI/QA
- Pianificazione e sviluppo incrementale
- Accoglienza del cambiamento
- Fasi brevi
- Squadre interdisciplinari
- Extreme Programming, Code Review
- Individui e interazioni piuttosto che processi e strumenti
Riassunto
- Dibattito
- Domande
- Come iniziare il processo di implementazione?
Requisiti
Conoscenza dei processi di sviluppo software
Recensioni (5)
Coinvolgente e pratica manuale.
Balavignesh Elumalai - Scottish Power
Corso - SonarQube for DevOps
Traduzione automatica
Il formatore ha un'ampia esperienza e sa raccontarla bene. La profondità delle sue conoscenze e la passione per l'insegnamento sono altamente apprezzate.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Corso - Jenkins 2: Building CI/CD Pipelines
Traduzione automatica
Il formatore era molto ben organizzato. Ha spiegato tutti gli strumenti necessari per il corso all'inizio. Il formatore ha chiarito con piacere tutte le dubitazioni e sono state discusse varie situazioni pratiche.
Vivek Verma - Global Knowledge Network Training Ltd
Corso - DevOps Practical Implementation and Tools
Traduzione automatica
Molto dettagliato, l'inistruttore conosce molto bene l'argomento e ha trattato numerosi argomenti
Gabriel Kelly Navarro - Opswerks
Corso - Advanced Spinnaker
Traduzione automatica
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
Corso - Test Automation with Selenium and Jenkins
Traduzione automatica