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 esta tarefa e que permitem registrar os resultados deste trabalho. Esta popularidade acompanha o crescimento das áreas de nas á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 que 71% apontou melhor cobertura de testes. Outras 68% melhorou 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 esteja 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 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 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 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.
Ryan Yackel, gerente de produto da QASymphony.