Desenvolvimento

22 ago, 2018

A automação de testes de software atinge a maturidade

Publicidade

As equipes de testes de software expandirão significativamente os seus esforços de automação de testes no próximo ano. Nosso objetivo aqui é abordar os maiores desafios que serão enfrentados. Se você trabalha com desenvolvimento de software, sem dúvida já ouviu falar bastante sobre automação de testes, que nos últimos anos tem tido a sua popularidade aumentada graças ao uso de ferramentas que facilitam essa tarefa, e que permitem registrar os resultados deste trabalho. Essa popularidade acompanha o crescimento das áreas de DevOps e desenvolvimento Ágil nas companhias.

Essas três tendências caminham juntas, segundo uma pesquisa da TechWell, em parceria com a QASymphony, que ouviu profissionais que atuam em testes de software e tomadores de decisões de QA (Quality Assurance) em empresas de médio e grande porte, e descobriu que 72% das organizações estão atualmente automatizando os testes, sendo que 76% adotaram metodologias ágeis e outras 55% estão usando as práticas DevOps.

As empresas estão adotando essas práticas devido a mudanças no mercado e as expectativas dos usuários. A maioria usa o software como principal meio de interação com seus clientes e, para atender às expectativas, devem ser mais proativas em relação ao que os usuários querem e precisam. Isso significa desenvolver, testar e liberar aplicações de negócios com muito mais frequência do que nunca e com a maior agilidade possível. A concorrência global exige isso.

Tem havido também muitas pesquisas mostrando o impacto positivo que a entrega contínua de software tem sobre a as organizações na ajuda em alcançar essas metas, mas nem tanto na área de automação de testes, um componente essencial para manter a alta qualidade em ambientes de entrega contínua.

Os benefícios implementação da automação de testes são claros

A pesquisa da TechWell descobriu que as organizações que automatizam 50% ou mais de seus testes experimentam ciclos de testes mais rápidos (88%), enquanto 71% apontaram melhor cobertura de testes. Outras 68% melhoraram sua capacidade de detectar bugs antecipadamente; isso significa um time-to-market mais rápido sem sacrificar a qualidade.

Outros benefícios importantes incluem maior eficiência nos testes e melhoria da moral de toda a equipe de QA. Adoramos quando podemos ser produtivos e entregar bens e serviços excelentes; o trabalho se torna divertido e significativo.

Ainda assim, a automação de testes é uma prática incipiente. Embora a maioria das organizações pesquisadas estejam automatizando pelo menos alguns testes hoje, a maioria (76%) está automatizando menos da metade de todos os testes. Isso sinaliza a existência de alguns desafios na transição do teste manual para o teste automatizado:

  • A implementação da automação de testes exige que as equipes de controle de qualidade desenvolvam novas estratégias de teste, implementem novas ferramentas e aprendam novas habilidades;
  • Existem novos processos e fluxos de trabalho que afetam os testadores e outros membros importantes da equipe, incluindo desenvolvedores e analistas de negócios;
  • As organizações podem precisar contratar engenheiros capacitados em automação de testes que possam atingir o chão e liderar outros.

Tudo isso demanda tempo, dinheiro e paciência.

Os entrevistados afirmaram que suas empresas lutam para criar equipes com o conjunto de habilidades apropriado, além de buscarem ganhar a adesão da organização para as mudanças, justamente porque os testadores devem trabalhar mais rápido e necessitam atuar em colaboração contínua com outras áreas. Alguns testadores podem, também, se ressentirem ou temerem a necessidade de se tornarem mais técnicos em seus trabalhos.

A adoção de tecnologia também desempenha um papel significativo na automação de testes. Novas ferramentas de teste e estruturas que suportam práticas de automação de testes e DevOps complementares, como a integração contínua, são necessárias. Isso pode introduzir novas e mais complexidades para as equipes tradicionais de controle de qualidade.

Existem dezenas de ferramentas e plataformas disponíveis hoje, tanto de código aberto quanto comercial. A escolha pode ser acertada, mas a seleção pode ser confusa. Muitas vezes, as organizações acabam trabalhando com muitas ferramentas repetitivas.

Quase um terço das organizações pesquisadas afirmam que é difícil acompanhar o trabalho de automação em várias ferramentas. Aproximadamente a mesma porcentagem expressou dificuldade em encontrar ferramentas que atendam às suas necessidades.

Liderança necessária

Além de selecionar as melhores ferramentas para o trabalho, os testadores de software também precisam ter liderança – e isso geralmente significa combater expectativas irreais e estabelecer novas. Equívocos comuns incluem que a automação de testes é rápida e fácil de implementar, que exigirá menos recursos do que testes manuais e que é gratuita ou tem custos mínimos.

A verdade é que é preciso tempo para construir uma estratégia de automação de testes e habilidade para escrever os scripts que a irão capacitar. E, embora existam muitas ferramentas eficazes de código aberto, recursos serão necessários para implementá-las e mantê-las. É melhor esclarecer isso antecipadamente, definir os cronogramas com base no que é realista e garantir que recursos necessários sejam reservados e alocados para o projeto.

Estas são as “dores” que surgem, existentes em qualquer grande transformação no local de trabalho. A vantagem é que as organizações que obtiverem sucesso na automação de testes e a expandirem com o tempo, serão capazes de oferecer mais valor aos negócios e aproveitar melhor seu tempo.

A automação complementa o teste manual de software

Muitos dos testes manuais que a automação substitui são aqueles que são repetidos várias vezes. A automação reduz os erros que podem ocorrer em testes repetitivos e evita que os profissionais fiquem entediados. A automação permite que as equipes dediquem mais tempo aos testes mais criativos e à resolução de problemas; preencher as lacunas e oferecer uma experiência de usuário realmente incrível.

Os entrevistados pela TechWell também afirmaram que a automação permite que eles gastem seu tempo de forma mais estratégica – planejando e executando planos melhores de automação e realizando testes exploratórios, que não podem ser substituídos pela automação.

Um respondente resumiu assim: “Não usamos a automação para reduzir os testes manuais; a usamos para aumentá-los e permitir que nossos testadores humanos se concentrem em novas funcionalidades e trabalhos de testes de alto valor”.

As equipes de QA devem ver a automação como uma atividade complementar ao teste manual versus a substituição de insight inestimável por ferramentas.

Também, quase 50% dos entrevistados afirmou que esperam automatizar 50% ou mais de todos os testes daqui a um ano. Preparar-se cedo para essa nova etapa pode capacitar a sua equipe para menos dores e a obter o sucesso de maneira mais rápida. Se a sua organização ainda não está automatizando os testes, provavelmente – acreditamos – que ela estará em breve.