Programa do Curso
QA/CI
- O que é QA?
- O que é CI?
- Os custos do desenvolvimento de software, refatoração e correção de erros
- Identificação e compreensão do projeto
- Lucro para a organização
DDD
- Desenvolvimento de software baseado em requisitos de negócios, pressupostos DDD
- Problemas na comunicação entre TI e Negócios
- Modelo de Domínio
Melhores Práticas
- Princípio KISS e DRY
- Padrões de codificação
- Criação de código reutilizável através da OOP e padrões de design
- Identificação e redução da complexidade ciclomática
Métricas de Software
- Peso do Método por Classe
- Resposta para uma Classe
- Profundidade da Árvore de Herança
- Coplamento entre Objetos
- Falta de Coesão dos Métodos
- Número de Filhos
- Complexidade ciclomática
- Métrica de classe
- Métricas do modelo
- Métricas para uso
Testes de Software
- O que, quando e como testar?
- O método "caixa branca" e "caixa preta"
- O papel dos testes nas metodologias ágeis
- TDD: um aumento potencial no custo do projeto
- Testes unitários com JUnit (Java), PHPUnit (PHP)
- Testes comportamentais com JBehave (Java), Behat e Mink (PHP)
- Testes funcionais
Refatoração
- O que é refatoração?
- Dívida técnica
- Código cheiroso (code smell)
- Padrões de refatoração
Documentação
- O papel da documentação nas metodologias ágeis
- O que documentar?
- Tipos de documentação
- Documentação e metodologias ágeis, ou você pode chamar (Software funcional sobre documentação abrangente)?
- Padrão XMI
- Geração automática de documentação a partir do Javadoc (Java), ApiGen (PHP)
Ferramentas e Ambiente CI
- Ferramentas e Ambiente CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Contador de Linhas de Código (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Servidor de Integração Contínua Jenkins
Ágil e CI/QA
- Planejamento e desenvolvimento incremental
- Aceitação das mudanças
- Etapas curtas
- Equipe interdisciplinar
- Programação Extrema, Revisão de Código
- Indivíduos e interações sobre processos e ferramentas
Somatório
- Discussão
- Perguntas
- Como começar o processo de implementação?
Requisitos
Conhecimento dos processos de desenvolvimento de software
Declaração de Clientes (5)
Engajante e prática hands on.
Balavignesh Elumalai - Scottish Power
Curso - SonarQube for DevOps
Máquina Traduzida
O formador tem uma experiência profunda e está bem familiarizado com a ação. A profundidade dos conhecimentos e a paixão pelo ensino são muito apreciadas.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Curso - Jenkins 2: Building CI/CD Pipelines
Máquina Traduzida
O instrutor estava muito bem organizado. Ele explicou sobre todas as ferramentas necessárias para o treinamento no início. O instrutor esclareceu prontamente todas as dúvidas e casos práticos foram discutidos.
Vivek Verma - Global Knowledge Network Training Ltd
Curso - DevOps Practical Implementation and Tools
Máquina Traduzida
Muito detalhado, o instrutor conhece muito bem o assunto e abrangeu muitos tópicos
Gabriel Kelly Navarro - Opswerks
Curso - Advanced Spinnaker
Máquina Traduzida
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
Curso - Test Automation with Selenium and Jenkins
Máquina Traduzida