Cadastre-se

Cadastre-se para acesAcesse conteúdos exclusivos que só usuários cadastrados no site tem acesso.

Fases de um projeto – As 5 etapas e suas características

O gerenciamento de um projeto vem acompanhado de grandes desafios e com o objetivo de minimizar tais desafios. Assim, projetos são normalmente divididos...
HomeProjetosAgilAutomação de Testes - Dicas de automação e aumento de performance

Automação de Testes – Dicas de automação e aumento de performance

A Automação de Testes não significa que, num passe de mágica,  o teste de software ou testes ágeis será mais rápido, mais confiável e mais barato. Ou muito menos que nunca mais teremos erros nos sistemas. Os custos iniciais em ferramentas de automação e infraestrutura, bem como contratar e capacitar a equipe, podem ser elevados.

Testes automatizados só compensam se a redução de custos a longo prazo compensa os investimentos iniciais.

Além disso, nem todas as ferramentas de automação e metodologias têm as mesmas características, funções e capacidades, e cada projeto pode ter necessidades diferentes que afetam os seus custos e benefícios.

Automação de Testes

Para ajudá-lo a obter o máximo benefício de testes automatizados, oferecemos dicas com base em nossa experiência com mais de 200 projetos de teste de nível empresarial automatizados, nos últimos 16 anos.

Projetos que incluem sistemas WEB, Batch, cliente/servidor, web services, mobile, bancos de dados, sistemas legados (com e sem documentação disponível) e testes de performance.

Seguindo essas dicas você poderá ter condições de aumentar o ROI de automação de teste e melhorar a qualidade do software.

Dicas para Automação de Testes

1 – Planejar e projetar os testes

Entender qual o trabalho a ser feito, em qualquer área, é primordial para se obter sucesso. Em projetos de testes automatizados não é diferente.

Ter um bom projeto do que será testado, quais funcionalidades mais importantes, qual a arquitetura do sistema ou aplicativo que será testado. Um bom projeto de testes, feito de forma detalhada, irá determinar um percentual alto de sucesso do projeto.

Um bom projeto para automação de testes irá gerar também o benefício de se ter documentação do sistema atualizada e consistente. Testes servem como documentação (são a melhor documentação que você vai ter).

Se trata de uma documentação viva, especificação executável. Testes devem informar a intenção de um desenvolvedor.

2 – Código de teste é tão importante quanto código de produção

A automação de testes precisa ser encarada com o mesmo rigor, padrões, melhores práticas e regras de um bom desenvolvimento de sistemas.

Automatizar testes é gerar código executável de testes!

Logo, testes bem escritos, com boa lógica de programação, clareza e em grupos pequenos no mesmo contexto, vão fazer com que a automação de testes tenha uma maior qualidade.

3 – Independente

A automação de testes trará maior produtividade e alcançará o ROI mais rápido se eles forem independentes.

Um  caso de teste não pode influenciar o resultado de outro e precisa ter feedback rápido.

A independência dos testes precisa estar definida no projeto dos testes e está ligada diretamente à natureza do sistema ou funcionalidade que será alvo de testes.

4 – Consistente e Confiável

Uma etapa muito importante de toda mudança de processo é a conquista da confiança da equipe de desenvolvimento e do cliente em relação ao processo novo. Em se tratando de processo de testes automatizados não é diferente.

O ambiente de testes automatizado deve conquistar a confiança da sua equipe, do seu gerente e do cliente.

Um ambiente estável, consistente e confiável mantém seu valor durante toda a vida do produto.

5 – Foque a cobertura nas funcionalidades que mudam com maior frequência

Saber aquele monte de informação que você registra e não sabe quando irá usar? Então, chegou a hora!

Usar estatísticas para projetos de testes automatizados é quase uma obrigatoriedade. Escreva e automatize testes para os erros encontrados em produção – você automaticamente estará testando o mais crítico.

Funcionalidades que tem maior uso tendem a ter maior risco de se encontrar erros.  Faça testes que realmente vão encontrar erros.

Testar somente o fluxo principal de um processo de negócio ou de uma funcionalidade não garante cobertura completa.

6 – Não deixe o teste para o final

Faça testes ao longo do projeto, com entregas parciais. Não automatize testes somente no final do projeto.

Quão mais próximo for a automação dos testes do momento em que se finalizou os testes manuais, maior será o benefício. Não se preocupe com a performance de execução de um teste, mas sim, com o paralelismo e concorrência.

Quanto mais independente for o seu teste, mais rápido será a sua execução.

7 – Ter uma boa massa de testes é essencial

Planejar a massa de testes adequada para os cenários é uma atividade de extrema importância para a automação dos testes. Projete os testes de uma forma que não tenha que substituir banco de dados a cada nova versão a ser testada.

Isto fará você perder todos os testes criados. Pense na possibilidade de se ter mais de uma base de teste (por cliente, por conjunto de cenários, etc).

É melhor ter 1000 registros diferentes do que ter 1.000.000 iguais, ou seja, a variabilidade é melhor do que igualdade.

Aumento de Produtividade

Software de alta qualidade, entregue de forma rápida e constante ao mercado, é o objetivo das equipes de desenvolvimento de software em todo o mundo. Muitas das equipes de alta performance possuem um processo comum para atingir esse objetivo. Este processo é a automação de teste.

No entanto, simplesmente, implementar a automação de teste nem sempre resultará em alcançar esse objetivo. Costumo dizer que não basta fazer o download da ferramenta, seja Open Source ou paga, instalar e começar a fazer a gravação de casos de teste. É muito mais do que isso!

Detalhando um pouco mais a atividade de automação de testes, podemos destacar o seguinte:

1 – Ter uma equipe qualificada

Este é um diferencial enorme para a automação de testes. Tivemos uma experiência na attps, quando começamos com automação de testes no início dos anos 2000, onde a equipe que tínhamos não sabia desenvolver softwares, eram pessoas que tinham uma formação incompatível com o que era necessário.

Havia um mito que dizia o seguinte:

Para testar software, temos que ter pessoas que não conhecem de software.

Pode até ser que esta afirmação tenha tido alguma aplicação prática com resultado positivo em algum lugar do planeta, mas não foi uma experiência positiva para nós.

Passado algum tempo, remontamos a equipe de homologação para ter pessoas preparadas, qualificadas e que sabiam desenvolver código. Com isso conseguimos ter um grande aumento da produtividade na automação de testes.

2 – Ter um framework para automação de testes

Assim como no desenvolvimento de software, que para ter produtividade tem que utilizar padrões, bibliotecas de código reutilizável, Desing Patterns, é também recomendado que na automação de testes tenhamos um Framework de componentes reutilizáveis, que auxiliem na produtividade da equipe.

Automação de testes é desenvovimento de código e como tal, deve ser tratado com igual ou maior rigor e atenção que o código do software a ser testado.

Um bom Framework, bem projetado e bem construído é um fator chave para a automação de testes funcionar adequadamente e em níveis satisfatórios de qualidade.

3 – Montar uma infraestrutura para automação de testes

Para que os seus testes sejam executados de forma automatizada e em larga escala, é necessário ter uma infraestrutura robusta, escalável e adaptável a múltiplas configurações de ambiente de testes.

Isso é parte do projeto de automação de testes. Logo, não deixe de pensar com atenção sobre a montagem desta infraestrutura. Ela será independente quanto ao acesso, cabeamento, servidores, etc.?

Estará em um datacenter local ou estará em um datacenter externo? É possível utilizar recursos in cloud? Quanto custará esta infraestrutura? Temos pessoas com perfil e competências necessárias para montar e gerenciar este ambiente?

Responder a estas perguntas e outras que podem surgir irão direcionar os esforços e investimentos necessários para montar a infraestrutura de automação de testes.

4 – Gerar automaticamente códigos e massa de teste

Tem muitos tipos de testes básicos que podem ser gerados de forma automática, sem ter a necessidade de acesso a informação do negócio ou comportamento da aplicação que será testada, fazendo com que a produtividade da automação dos testes aumente de forma significativa.

Testes de validação básica de campos em tela (tamanho, padrões, entrada de dados inválidas), paginações, validação de links, sql injection,  são exemplo de testes que podem ser feitos de forma automática.

O framework de automação de testes deve ser capaz de gerar estes tipos de testes e executá-los de forma produtiva, repetível, correta e em um tempo dentro do SLA (service level agreement ou acordo de nível de serviço) contratado.

No nosso caso, o framework cria e executa todos estes testes de forma automática e sem intervenção humana. Isto nos deu um aumento de produtividade nestas atividades de mais de 100%!

5 – Automatizar atividades rotineiras que ainda são manuais

Muitas atividades relativas a testes são rotineiras e repetidas constantemente a cada nova execução de testes.

Montagem de ambientes, atualização de banco de dados, instalação de sistemas, configurações, verificações de resultados, evidênciação de resultados de testes, etc. Todas estas e muitas outras atividades precisam ser automatizadas.

Por exemplo, um grande desafio nosso sempre foi executar o mesmo script de teste em ambientes de SGBD diferentes, ou seja, temos que rodar os tests em SQL SERVER e ORACLE.

Tivemos que automatizar este processo no nosso framework e com isto ganhamos em velocidade de execução de testes, aumento de produtividade e ganho de qualidade. Sem ter um framework de automação robusto não teríamos conseguido fazer isto.

Este site utiliza cookies para melhorar a sua experiência de navegação. Ao continuar navegando, assumiremos que você consente com isso. Fique à vontade também para ler nossa Política de privacidade. Mais informação

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close