Garantia de Qualidade.

Garantindo a melhor tecnologia.

Um sistema de garantia de qualidade visa aumentar a confiança e a credibilidade de produtos, processos e serviços. Ao mesmo tempo, melhora os processos de trabalho e a eficiência, além de permitir que a empresa tenha o máximo controle e prevenção contra defeitos e avarias.

O controle de qualidade é uma necessidade pois todos cometemos erros.

Pense assim: você compraria um carro, telefone celular ou fogão que não tivesse sido testado ao limite de forma programática e aleatória?

 

Automatizando testes de qualidade.

Automação de testes é o uso de software para controlar a execução de testes de software através da aplicação de estratégias e ferramentas, comparando os resultados esperados com os resultados reais para garantia de qualidade. 

 

Seus objetivos são:

  • A redução do envolvimento humano
    em atividades manuais;
  • A redução de tempo requerido;
  • E de custo final.

 

Afinal, o que automatizar e por quê?

Testes de regressão podem ser maçantes, pois são repetições de testes já realizados após modificações a um programa. Eles procuram descobrir a existência de defeitos introduzidos ou não cobertos originalmente no desenvolvimento das alterações ao programa. Esses testes são desenvolvidos, geralmente, de forma vagarosa e precisam ser executados repetidas vezes e em diferentes dispositivos.

 

Só para ilustrar, os benefícios são:

  • Evitar o trabalho manual em excesso.
  • Prover feedback de forma frequente.
  • Reduzir a probabilidade de erros das tarefas de teste.
  • Prevenir erros antes de chegar ao cliente.
  • Otimização do tempo de verificação de layout.
  • Execuções podem ser iniciadas a qualquer momento ou agendadas .

 

Quais os tipos de testes automatizados?

 

Testes Funcionais

Execução das principais funcionalidades apresentadas no site: 

  • Calcular frete.
  • Cadastrar cliente.
  • Efetuar Pedido.


Testes Visuais

Verificação do template padrão com o apresentado no momento da execução do teste, exemplo:

  • Alinhamentos e posições.
  • Fontes e tamanhos.
  • Cores e conteúdos .

 

Por onde começar?

Funcionalidades consideradas críticas devem ser um dos focos iniciais das atividades de automação, pois são partes do sistema de muita importância, que certamente serão muito utilizadas e terão alta visibilidade.

Exatamente por isso, essas funcionalidades
requerem cuidados especiais. 

 

Planejamento

  • Entender o contexto.
  • Escrever casos de testes antes de automatizar.
  • Focar  nas regras de negócios.
  • Avaliar bloqueios.
  • Usar boas práticas.

 

Arquitetura de uma ferramenta de testes funcionais automatizados.

Utilizamos as melhores tecnologias disponíveis no mercado para otimizar cenários de testes automatizados. Com o foco de minimizar e otimizar o trabalho de todo o ciclo de desenvolvimento.

 

Arquitetura de uma ferramenta de testes automatizado visuais com foco em garantia de qualidade.

Nesse fluxo de testes visuais, uma vez que o script de testes está codificado no Cypress e versionado no Gitlab, construímos por meio do CI/CD um pipeline de execução onde será construído o ambiente para execução dos testes, quando um teste for iniciado, irá chamar o serviço externo do Percy.io que irá gerar no seu App um build com os resultados das execuções.

 

Infraestrutura

Como mencionado no planejamento, no primeiro momento precisamos entender o contexto, ou seja, toda orientação do software com visão de negócio. No segundo momento, inicia-se a fase técnica de desenvolvimento dos testes, utilizando os artefatos do contexto, com as melhores ferramentas e boas práticas de desenvolvimento.

 

Pipelines de Execução

  • Validações em homologação e produção automatizados através de pipeline.
  • Processo de aprovação baseado nos testes.

 

Artefatos

  • Report dos testes.
  • Release homologada.

 

Exemplos de Ferramentas

  • Gitlab (repositório e pipeline)

 

Report

Cypress Dashboard Service é um componente opcional baseado na web que fornece vários recursos relacionados a projetos e execuções de teste no Cypress.

Ele fornece a representação visual das execuções de teste, seus relatórios e status em uma única janela da web. Além disso, é útil no planejamento e visualização das execuções de teste dos scripts de teste Cypress.

O serviço Cypress Dashboard oferece vários outros recursos. Vamos entender alguns deles.

 

 

Notificação

A arquitetura da ferramenta permite, ainda, enviar notificações para todas as execuções de testes.

Contendo nessas notificações todos os artefatos de resultados positivos/negativos  e link direto para o Dashboard e Pipeline, para consultar uma visão mais detalhada da execução. 

 

 

Apresentação da Ferramenta

 

Proposta com manutenção da ferramenta:

  • Sugestão analista/hora.
  • Criação – 240  horas.
  • Manutenção.

 

Proposta com disponibilização do código fonte:

  • Sugestão analista/hora.
  • Criação – 240  horas.

 

 

Outros benefícios

 

Atualização de componentes da VTEX:

  • Hoje a VTEX atualiza, continuamente, seus componentes, podendo quebrar as customizações geradas no front-end. 

Alguma dúvida? Entre em contato com o nosso time para entender melhor como a automação de testes de qualidade de software pode ajudar suas operações digitais a serem cada vez mais confiáveis e seguras.