A automação de testes de software atinge a maturidade
porRyan Yackel
As equipes de testes de software expandirão significativamente os seus esforços de automação de testes no próximo ano, segundo uma pesquisa da TechWell que ouviu profissionais que atuam em testes de software e que são tomadores de decisões de QA (Quality Assurance) em empresas de médio e grande porte. 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 esta tarefa e que permitem registrar os resultados deste trabalho. Esta popularidade da automação de testes acompanha o crescimento das áreas de nas áreas de DevOps e desenvolvimento Ágil nas companhias.
Essas três tendências – esforços para automação, uso de ferramentas e de metodologias Ágil e DevOps – caminham juntas, segundo a mesma pesquisa, que também descobriu que 72% das organizações estão atualmente automatizando os testes, sendo que destas, 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 delas utiliza 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 e com a maior agilidade possível. A concorrência global este tipo de ação imediata.
Somado a esses fatores, tem havido também muitas pesquisas mostrando o impacto positivo que a entrega contínua de software tem sobre a as organizações com o objetivo de 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 que 71% apontou 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 na autoestima de toda a equipe de QA. Em essência, as pessoas adoram quando podem 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 pouco utilizada nas empresas. Embora a maioria das organizações pesquisadas esteja automatizando pelo menos alguns testes, 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 conforme elencados a seguir:
- 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 de software capacitados em automação de testes que possam atingir o chão e liderar outros.
Tudo isso demanda tempo, dinheiro e paciência
As pessoas entrevistadas afirmaram que suas empresas lutam para criar equipes com o conjunto de habilidades apropriado, além de buscar 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 ressentir ou temer 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 afirma 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 os 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 expandirem esta prática 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 dos respondentes resumiu da seguinte forma:
“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”.
Conclusão
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.
Quase 50% dos entrevistados afirmou que esperam automatizar 50% ou mais de todos os testes daqui a um ano. Preparar-se cedo para esta 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.