devops testing tutorial
Tutorial de teste de DevOps: Uma pesquisa recente da RightScale descobriu que 54% das empresas adotaram o DevOps e o interesse em torno do DevOps está aumentando rapidamente.
Neste artigo, aprenderemos como essa nova metodologia de desenvolvimento de software impactará o controle de qualidade e como a função de controle de qualidade como um todo deve evoluir para abraçar essa mudança.
Confira => Série de tutoriais DevOps completa
Neste artigo, aprenderemos mais sobre DevOps e como ele afetará o controle de qualidade e suas funções.
O que você aprenderá:
O que é DevOps?
DevOps - é uma combinação de Devfuga eSobreerações - é uma metodologia de Desenvolvimento de Software que busca integrar todas as funções de Desenvolvimento de Software, desde o desenvolvimento até as operações dentro de um mesmo ciclo.
Isso exige um maior nível de coordenação dentro das várias partes interessadas no processo de desenvolvimento de software (nomeadamente Desenvolvimento, QA e Operações )
Ciclo DevOps
Um ciclo de DevOps ideal começaria em:
- O Dev escrevendo o código
- Criação e implantação de binários em um ambiente de controle de qualidade
- Executando casos de teste e finalmente
- Implementando na produção em um fluxo integrado suave.
Obviamente, essa abordagem dá grande ênfase à automação de Build, Implantação e Teste. O uso de ferramentas de Integração Contínua (CI), ferramentas de Teste de Automação tornam-se uma norma em um DevOps ciclo.
exemplos de cross site scripting em java
Por que DevOps?
Embora existam diferenças sutis entre Teste Agile e DevOps , aqueles que trabalham com o Agile acharão o DevOps um pouco mais familiar para trabalhar (e eventualmente adotar). Embora os princípios do Agile sejam aplicados com sucesso no desenvolvimento e nas iterações de QA, é uma história completamente diferente (e muitas vezes um pomo de discórdia) no lado das operações. DevOps se propõe a corrigir essa lacuna.
Agora, em vez de integração contínua, DevOps envolve “Desenvolvimento Contínuo” , onde o código foi escrito e comprometido com o Controle de Versão, será construído, implantado, testado e instalado no ambiente de Produção que está pronto para ser consumido pelo usuário final.
Esse processo ajuda a todos em toda a cadeia, pois os ambientes e processos são padronizados. Cada ação na cadeia é automatizada. Também dá liberdade a todas as partes interessadas para concentrar seus esforços no projeto e codificação de uma entrega de alta qualidade, em vez de se preocupar com os vários processos de construção, operações e controle de qualidade.
Ele reduz drasticamente o tempo de vida para cerca de 3-4 horas, desde o momento em que o código é escrito e comprometido, até a implantação na produção para consumo do usuário final.
diferença entre teste sit e uat
Resumindo, DevOps é uma extensão do Agile ou gosto de chamá-lo de “Agile on Steroids”.
Alteração da função de controle de qualidade no DevOps
Tradicionalmente, o QA obteria um build que é implantado em seu ambiente designado e o QA, então, começaria seu Funcional E Teste de regressão . O ideal é que o build fique com o QA por alguns dias antes da aprovação do QA no build. Todas essas etapas mudam no DevOps.
Mudanças de controle de qualidade para testes de DevOps:
- O controle de qualidade é necessário para alinhar seus esforços no ciclo de DevOps.
- Eles precisam garantir que todos os seus casos de teste sejam automatizados e alcancem quase 100% de cobertura de código.
- Eles precisam se certificar de que seus ambientes sejam padronizados e que a implantação em suas caixas de controle de qualidade seja automatizada.
- Todas as suas tarefas de pré-teste, limpezas, tarefas de pós-teste, etc. são automatizadas e alinhadas com o ciclo de Integração Contínua.
Como já mencionado, o DevOps requer um alto nível de coordenação entre as várias funções da cadeia de entrega. Isso também significa que os limites entre as várias funções dos colaboradores na cadeia se tornam porosos.
DevOps incentiva todos a contribuir para a cadeia . Portanto, entre outras coisas, um desenvolvedor pode configurar implantações. Os engenheiros de implantação podem adicionar casos de teste ao repositório de QA. Os engenheiros de QA podem configurar seus casos de teste de automação na cadeia DevOps.
Coletivamente, todos na cadeia são responsáveis pela qualidade e pontualidade das entregas.
DevOps e automação de teste
Para atingir essa velocidade e agilidade, é importante automatizar todos os processos de teste e configurá-los para serem executados automaticamente quando a implantação for concluída no ambiente de QA. Ferramentas especializadas de teste de automação e ferramentas de integração contínua são usadas para alcançar essa integração.
Isso também requer a construção de uma estrutura de teste de automação madura, por meio da qual é possível fazer o script de novos casos de teste rapidamente.
Estratégia de teste de DevOps: dicas para o sucesso de DevOps
- Os casos de teste que devem ser executados para uma determinada construção precisam ser identificados.
- A execução do teste deve ser essencialmente enxuta.
- O QA e o Dev precisam sentar juntos e identificar as áreas afetadas devido a uma determinada construção e executar os casos de teste relacionados, além de uma aprovação no teste de sanidade.
- Você também precisa configurar a análise de código especializada e ferramentas de cobertura para ter certeza de obter quase 100% de cobertura de código.
- O conceito de execução todo casos de teste de regressão para uma passagem de teste logo se tornam obsoletos.
- A estratégia em torno do teste de novos recursos precisa ser formalizada e as compilações provisórias podem ser fornecidas ao QA que, por sua vez, criaria scripts de teste e executaria esses testes de automação nas compilações provisórias até que o código se tornasse estável o suficiente para ser implantado no ambiente de Produção .
- Todos os ambientes necessários para o teste precisam ser padronizados e as implantações precisam ser automatizadas.
- Usando várias técnicas de automação, o QA deve ser capaz de disparar testes de automação em vários ambientes de plataforma cruzada (e navegador cruzado, no caso de aplicativos da web).
- A execução paralela de testes ajuda a reduzir o tempo de vida, que por sua vez é o ponto crucial para uma implementação de DevOps bem-sucedida.
- Os critérios de saída precisam ser definidos para cada execução de modo que, quando os resultados dos testes forem realimentados para a cadeia, uma decisão de ir / não ir para a produção seja tomada.
- Bugs bloqueadores ou críticos encontrados precisam ser relatados e corrigidos e passados pela mesma cadeia de eventos antes que o código seja implantado no ambiente de produção.
Monitoramento de aplicativos
O controle de qualidade também deve ser capaz de detectar problemas com antecedência e relatá-los de forma proativa. Para conseguir isso, eles precisam configurar o monitoramento no ambiente de produção para poder expor bugs antes que causem uma falha.
Configurar contadores especializados, como tempos de resposta, utilização de memória e CPU, etc., pode fornecer muitos insights sobre a experiência do usuário final.
Por exemplo , se o tempo médio de resposta para login estiver aumentando gradualmente ao longo dos vários builds, o controle de qualidade deve relatar proativamente esse problema para otimizar o código de login, caso contrário, builds futuros podem causar frustração ao usuário final devido aos altos tempos de resposta.
O QA também pode usar um pequeno subconjunto de casos de teste de alta prioridade existentes a serem executados periodicamente na produção, para monitorar ativamente o ambiente. Bugs como “Este bug aparece às vezes” ou “ Não pode se reproduzir ”Pode ser pego por essa estratégia que, no final, torna o aplicativo mais estável e também deixa os usuários finais mais satisfeitos.
Novamente, esses monitores precisam ser configurados para serem executados automaticamente com relatórios avançados (como registros e capturas de tela de falhas, etc.).
Conclusão
O Waterfall deu lugar ao V-Model, que por sua vez foi substituído pelo Agile como a escolha preferida para o desenvolvimento de software.
DevOps é o futuro. É um ciclo de melhoria contínua pelo qual os modelos de desenvolvimento de software passam de tempos em tempos. Você precisa abraçar, compreender e inculcar isso.
Você precisa dominar as várias ferramentas de automação e integração contínua para que seus esforços de automação agreguem valor à cadeia e sejam enxutos o suficiente para se adaptar rapidamente às mudanças. Você pode estar trabalhando em projetos que podem envolver alfa , beta e UAT ambientes antes de serem implantados no ambiente de produção.
O conceito permanece essencialmente o mesmo. Automação e mais automação são o núcleo de um ciclo de DevOps bem-sucedido. Mas, como um QA, você também deve ser capaz de definir o quanto de automação é excesso de automação.
Sobre o autor: Aniket Deshpande está trabalhando como gerente de QA na AFour Technologies , Pune e tem trabalhado na área de teste de software nos últimos 9+ anos em vários domínios e plataformas. Ele é apaixonado por DevOps e está trabalhando como consultor para orientar as organizações na adoção de estratégias de teste de DevOps.
Se você estiver interessado em saber mais ou se estiver procurando implementar DevOps e a Abordagem de Teste associada em sua organização, sinta-se à vontade para contato o autor.
O que você acha do teste DevOps? Você acha que fazer com que os desenvolvedores e o pessoal de operações trabalhem juntos pode beneficiar o projeto?
como retornar arrays em java
Deixe-nos saber seus comentários / sugestões sobre este artigo.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Teste Contínuo em DevOps
- Tutorial de DevOps: o guia definitivo para DevOps (mais de 25 tutoriais)
- Desmistificando DevOps: Tutorial de Vídeo (Parte 1)
- As 10 principais ferramentas de teste contínuo para teste de DevOps (lista 2021)
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- O que é teste de software? Mais de 100 tutoriais de teste manual gratuitos
- Teste Funcional Vs Teste Não Funcional
- Teste Alfa e Teste Beta (um guia completo)