Quer ter acesso a todos os cursos desse Guia?
Testes e DevOps
Neste Guia de Referência você encontrará diversos conteúdos sobre Testes, DevOps e Integração Contínua, tópicos fundamentais na carreira do programador Java.
Introdução aos Testes
Geralmente presentes em todas as etapas do desenvolvimento, testes asseguram que cada parte do sistema está funcionando de acordo com o esperado. Atualmente, entretanto, esse processo vai além da funcionalidade, procurando validar também usabilidade, performance, entre outras características desejáveis em uma aplicação de qualidade. Os artigos abaixo te apresentarão aos diferentes tipos de testes:
Testes Unitários
Imagine se todas as peças de um carro fossem testadas de uma só vez? O resultado poderia ser um desastre devido à complexidade desse artefato. A fim de antecipar falhas e garantir a qualidade, os testes unitários se concentram na menor unidade em sistema sistema. Apresentar essa técnica é papel do seguintes curso:
E para complementar, indicamos os seguintes artigos:
Test-Driven Development - TDD
TDD é uma técnica de desenvolvimento de software na qual o teste é criado antes da funcionalidade ser codificada. Apesar de parecer contraintuitivo a princípio, muitos têm adotado o desenvolvimento baseado em testes devido às suas vantagens, como menor quantidade de falhas apresentadas, possibilidade de reavaliar durante o desenvolvimento tanto as regras de negócio quanto a modelagem da aplicação, além da certeza de que cada funcionalidade do sistema estará documentada através de um ou mais testes. Conheça essa técnica no curso:
Para saber mais consulte também os artigos:
Behavior-Driven Development - BDD
BDD é um conjunto de práticas de engenharia de software projetado para ajudar as equipes a construir e entregar mais rápido software de alta qualidade. Além de proporcionar uma melhor integração entre programadores/testadores, o BDD procura facilitar a codificação das regras de negócio. Para isso é utilizado, entre outras técnicas, um vocabulário comum para descrever a funcionalidade, conforme demonstrado nos artigos abaixo:
Testes de Integração
Dentre as diferentes etapas de teste, nesta os módulos são combinados e testados em grupo. Estes testes ocorrem após a realização de todos os testes unitários e antecede os testes de sistema, a fim de verificar os requisitos funcionais, de desempenho e de confiabilidade na modelagem do sistema. Com ele é possível descobrir erros de interface entre os componentes do sistema. Acompanhe os artigos abaixo para ficar por dentro desse tema:
Testes Funcionais
A fim de permitir encontrar as não conformidades em relação aos requisitos do sistema, os testes funcionais, ou testes de caixa preta, como também são chamados, procuram avaliar como o sistema se comporta ao receber dados diferentes do esperados. Durante essa etapa observamos se o sistema acata os dados incorretos, falha, alerta o usuário, etc. Para conhecer melhor essa técnica acompanhe os seguintes artigos:
Testes de desempenho, carga e stress
Os testes de performance, também chamados testes de carga, têm por objetivo submeter o software a situações intensas de uso e avaliar seu comportamento. Esse tipo de teste é muito comum em aplicações web, que são submetidas a um grande número de requisições para verificar se o servidor suportará tamanha carga. Nesta etapa normalmente são utilizadas ferramentas específicas que simulam o uso da aplicação em grande escala, como você verá nos artigos abaixo:
Testes automatizados
Durante o desenvolvimento de um software vários testes podem ser realizados e normalmente cada um será executado várias vezes. A automação desse processo visa reduzir o tempo gasto nessa etapa, bem como reduzir a probabilidade de falha humana. No entanto, nem todo teste pode ser feito dessa maneira com facilidade, portanto é importante planejar adequadamente e usar ferramentas eficientes.
Testes na Prática
Aqui separamos um conteúdo adicional para que você possa aprofundar seus estudos sobre testes de software.
Introdução ao DevOps
Em um modelo DevOps as equipes de desenvolvimento, operações e infraestrutura são integradas a fim de permitir a otimização e o aperfeiçoamento de produtos em um ritmo mais acelerado. Do ponto de vista do negócio, essa melhor colaboração permite uma vantagem estratégica sobre empresas que utilizam modelos tradicionais. Conheça a cultura, assim como as práticas e ferramentas envolvidas nessa metodologia nos artigos:
DevOps na Prática
Reunimos nesta seção mais alguns posts que lhe ajudarão a compreender conceitos relacionados a DevOps, assim como ter uma visão mais detalhista, com base em estudos aplicados, de como obter mais dessa prática de desenvolvimento de software.
Integração Contínua
Integração contínua é uma prática dentro da DevOps que procura criar a cultura de “entregar com frequência”. Nela, os programadores utilizam um repositório central para o qual enviam alterações continuamente. Com isso é possível identificar falhas mais rapidamente, melhorando a qualidade do software, reduzindo o tempo entre as atualizações. Os artigos a seguir trazem uma apresentação completa dos conceitos inerentes a esta prática:
Ferramentas
Por exigir muita disciplina e um constante acompanhamento, grande parte das tarefas definidas na DevOps são automatizadas. Com isso a equipe pode se dedicar a entrega e deixar o início dos testes, construção da aplicação e relatórios de falhas para um sistema especialista. Esta seção reúne as mais utilizadas dentre essas aplicações.
Jenkins
Com o Jenkins é possível agendar o início dos testes, bem como criar alertas de falhas, erros de compilação, entre outras, para as equipes responsáveis. Saiba mais sobre o Jenkins nos artigos:
-
VídeoJava: Integração Contínua com o Jenkins
-
ArtigoAutomatizando a geração de pacotes com o Jenkins
Hudson
Hudson é uma ferramenta de integração contínua de código aberto, criada pela Sun e atualmente mantida pela Eclipse Foundation em parceria com a Oracle. Atualmente apontado como um dos servidores de mais fácil implementação e baixa curva de aprendizado, suas funcionalidades são exploradas no artigo:
Apache Software Foundation
Responsável por projetos de código aberto como Tomcat, Cordova, Hadoop e muitos outros casos de sucesso, a Apache Software Foundation possui inúmeras ferramentas para integração contínua. Confira as principais dentre elas nos artigos:
Integração contínua na prática
A seguir reunimos mais alguns posts que abordam a integração contínua na prática:
Mais sobre Java
Além dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre Java, os quais você pode conferir nos Guias de Consulta abaixo:
-
Guia de CarreiraProgramador Java Guia
-
Guia de consultaLinguagem Java Guia
-
Guia de consultaHibernate Guia
-
Guia de consultaJSF - JavaServer Faces Guia
-
Guia de consultaSpring Framework Guia
-
Guia de consultaJava Enterprise Edition - Java EE Guia
-
Guia de consultaREST e Java Guia
-
Guia de consultaPadrões de Projeto em Java Guia
-
Guia de consultaBigData com Java Guia
Além disso, você pode conferir todo o conteúdo de Java clicando aqui.
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>