Integração contínua com testes, utilizando Jenkins
What you'll learn
- Configurar o Jenkins para fazer a integração contínua da sua aplicação
- Trabalhar com jobs do Jenkins do tipo Freestyle e Pipeline
- Integrar testes unitários ao processo de integração contínua
- Integrar testes de API Rest ao processo de integração contínua
- Integrar testes funcionais ao processo de integração contínua
- Configurar projetos JAVA para ter análises de código feitas pelo Sonarqube
- Utilizar o Quality Gate do Sonarqube para definir critérios de aceites na aplicação
- Criar ambientes e dependências utilizando o Docker e docker-compose
- Otimizar o tempo de execução de testes funcionais através do Selenium Grid em um ambiente criado pelo Docker
Requirements
- Conhecimento básico de JAVA
Description
Seja muito bem vindo(a) ao curso de Integração contínua com testes, utilizando Jenkins.
Nesse curso, você irá aprender como criar um processo automatizado de integração e deploy contínuo CI/CD para a sua aplicação. Sempre, claro, passando por vários processos de testes visando garantir que novas versões do seu produto entrem no ar de forma rápida e segura.
Iremos adicionar ao processo de integração contínua testes unitários, de serviço e funcionais, utilizando ferramentas populares como JUnit, Rest Assured e Selenium (inclusive, para este último, configurando uma suíte para execução de testes paralelizados em um Grid criado pelo Docker). Também faremos análise de qualidade e cobertura de código testado, através do Sonarqube. Veremos o histórico dos testes e avisos sempre que tiver problemas na sua construção.
Além disso, vamos aprender a estruturar nosso processo em duas formas distintas, através de jobs do Jenkins do tipo Freestyle (que podemos configurar tudo através da interface do Jenkins). E também criaremos um processo completo do tipo Pipeline, onde centralizará todo o processo em um script (Jenkinsfile) dinâmico e poderoso.
Contaremos também com o uso de ferramentas importantes e atuais como o Docker (e docker-compose), Spring Boot, Postgres, Tomcat e Selenium Grid.
Então é isso, espero poder te encontrar nas próximas aulas. Até lá! ;)
Who this course is for:
- Analistas interessados em criar um processo integração e deploy contínuo da sua aplicação
- Desenvolvedores interessados em adicionar mais qualidade no seu processo de deploy
- Testadores que desejam entender seu papel no processo de desenvolvimento como um todo
Instructor
Formação e Experiência
Wagner Costa possui graduação em Ciências da Computação, Mestrado na área de previsão de séries temporais com Redes Neurais, ambas pela Universidade Estadual do Ceará (UECE). Trabalha com JAVA e testes há mais de 10 anos e com Javascript há mais de 3 anos.
Trabalhos atuais
Integrante da equipe de suporte à automação de testes na DATAPREV. Professor de Testes automatizados e Testes Funcionais em duas especializações em Fortaleza (Universidade 7 de Setembro - Uni7), uma focada em desenvolvimento ágil e a outra em Testes de Software. Dá aulas presenciais há mais de 8 anos e na área de aulas à distância há 2 anos.