Notícias > Artigos de opinión

Automatização de testes, a solução para as novas demandas do mercado

13 Dezembro, 2015

Por José Urbano González, Consultor de Qualidade do Software na MTP

Até pouco tempo atrás, a automatização de testes não era uma atividade muito conhecida, no entanto, no último ano observou-se um crescente interesse por esta atividade. Cada vez é maior o número de empresas que olham a automatização buscando uma solução para seus problemas de time‑to‑market e de redução do esforço manual nos testes.

Embora possamos dizer que o principal benefício da automatização é a redução do esforço manual nos testes, seus benefícios são muito maiores. A automatização permite executar um volume de casos de testes maior em menos tempo para adaptar‑se a time‑to‑market exigentes; Dá aos testes maior exaustividade, já que permite incluir verificações que não seriam realizadas manualmente e, finalmente, também consegue liberar a execução dos casos de testes do executor.

É preciso levar em conta que a automatização não substitui a atividade dos engenheiros de testes, sendo um complemento que melhora e fortalece essa atividade. Sempre será necessário realizar testes manuais, mas com a automatização consegue-se direcionar os esforços manuais para atividades de maior valor, como o design e a execução dos casos de testes das novas funcionalidades, o acompanhamento e a gestão de ocorrências e defeitos, etc. Ou seja, a automatização de testes não contribui apenas em termos de quantidade, mas também de qualidade.

Durante muito tempo existiram duas grandes tendências na automatização de testes: a automatização através de ferramentas comerciais que permitiam alta produtividade em troca de um valor pelas licenças, e as das ferramentas open source que ofereciam um custo baixo em troca de uma maior especialização por parte dos recursos e que eram implementadas nas etapas próximas ao Desenvolvimento. Posteriormente evoluímos para a visão de negócio, com, por exemplo, ferramentas de automatização como SAP TAO, que implementam uma série de funções e bibliotecas que permitem construir processos de negócio complexos.

Atualmente, a maior revolução ocorreu com os dispositivos móveis. Hoje em dia existem aplicativos móveis, tanto web como nativos, que devem funcionar em uma infinidade de dispositivos, sistemas operacionais e navegadores. Já não podemos nos limitar a realizar os testes em um PC com um navegador padrão, mas... Como podemos garantir que um aplicativo funciona em todas as plataformas e dispositivos? A automatização de testes é uma solução que permite executar casos de testes nas diferentes plataformas, economizando o esforço manual de ter que repetir uma e outra vez o mesmo teste para cada ambiente e dispositivo. Permite, inclusive, paralelizar a execução automática em vários dispositivos, de forma que um mesmo caso de teste possa ser executado simultaneamente em várias plataformas.

Por outro lado, os testes na nuvem (cloud testing) representaram uma revolução na forma de oferecer os serviços e ferramentas de testes. A maioria das ferramentas de automatização já são oferecidas na modalidade SaaS, e é possível utilizar a nuvem como plataforma de testes com um investimento inicial mínimo e em regime de pagamento por uso. Por exemplo, podemos gerar nossos casos de testes automáticos e colocá‑los na nuvem para executá‑los unicamente quando necessitemos, simulando o acesso de diferentes pontos geográficos ou diferentes dispositivos. A nuvem permitiu aproximar potentes soluções de testes de empresas de qualquer tamanho; já não são necessários grandes investimentos iniciais em infraestrutura e licenças para utilizar as soluções de automatização. Além disso, já se está falando de TaaaS (Test Automation as a Service) como um novo modelo para o fornecimento de serviços de automatização de testes de forma global.

Na hora de realizar um processo de testes é importante ter em conta que a automatização não pode ser feita de qualquer maneira. Iniciar a automatização de testes sem um plano específico, sem contar com recursos especializados e sem uma metodologia e procedimento comprovados pode levar ao fracasso do projeto. O caminho para o sucesso da automatização consiste em contemplar esta atividade como uma mais dentro do plano geral de garantia da qualidade, elaborar um plano de implementação realista e contar com o apoio da empresa.

Neste sentido, a MTP oferece um serviço integral de automatização que cobre as diferentes necessidades dos nossos clientes. Cobrimos as diferentes tecnologias e ferramentas existentes atualmente no mercado, mas o mais importante é que em nossos projetos de automatização implementamos uma metodologia de automatização destinada a obter o maior retorno desde as primeiras etapas do projeto, priorizando os casos que serão automatizados em função de parâmetros-alvo que permitam selecionar os casos mais rentáveis para automatizar e aplicando uma estratégia de automatização acelerada dirigida a uma alta produtividade.

Nossa estratégia está baseada na criação de um framework que nos permita diminuir os tempos de design e manutenção. Não nos limitamos à automatização de testes de regressão, utilizamos a automatização para dar maior eficiência e qualidade a outras áreas. Por exemplo, utilizamos a automatização para realizar extrações de dados ou gerar dados válidos para poder fornecê‑los a outras áreas, automatizamos processos que por sua complexidade ou repetitividade são caros de realizar ou automatizamos a geração de relatórios. Para este tipo de tarefa, a MTP dispõe de recursos especializados em automatização e uma metodologia testada, além de uma infraestrutura já criada nos diferentes projetos realizados.

Para mais informações sobre a proposta de Qualidade do Software e Automatização da MTP, entre em contato conosco.

Share