A ascensão do software de gerenciamento de teste

16/03/2016

Se a sua empresa é como a maioria das organizações que tem realizado testes automatizados há algum tempo, você provavelmente está observando um aumento das linguagens de programação. Em razão das formas mais específicas de abstração nas atuais linguagens de programação de nível mais elevado, esse problema não desaparecerá tão cedo. Na verdade, está se intensificando.

Como chegamos a esse estágio? A evolução está totalmente baseada na história das linguagens de programação e no anseio por níveis mais altos de abstração, e começa com a primeira linguagem de programação de alto nível, FORTRAN. Desenvolvida em 1953 por John Backus, a FORTRAN atendeu à necessidade de um maior nível de abstração nos processos das máquinas criados com base no modo como os humanos comunicam naturalmente suas ideias — por meio da linguagem.

Após o sucesso da FORTRAN, mais linguagens, como C, Pascal, ATLAS e PAWS, foram desenvolvidas, cada uma apresentando novas estruturas e modelos de computação. Junto com cada nova linguagem vieram níveis mais poderosos de abstração, como a programação orientada a objeto que é hoje uma das estruturas de programação mais utilizadas. Além disso, esses modelos de computação mais novos muitas vezes são desenvolvidos para solucionar problemas comuns. Alguns deles são desenvolvidos para tarefas de programação de uso geral e outros para uma aplicação específica. Por exemplo, o LabVIEW foi desenvolvido para aplicações de controle, teste e medição, e o Python para tarefas rápidas de script.

Esses níveis crescentes de abstração resultam em linguagens mais adequadas para tarefas específicas. Hoje, os melhores gerentes de testes projetam sistemas que aproveitam a capacidade de diversas linguagens e economizam o tempo de desenvolvimento usando um software de gerenciamento.

Desenvolvimento de sistemas de testes tradicionais

Considerando que o software é a base da automação ao desenvolver um sistema de testes, muitas empresas preferem padronizar uma única linguagem usada para todos os aspectos do projeto, do teste de componentes individuais ao gerenciamento dos testes. O resultado é o desenvolvimento de uma abordagem de software homogênea e a principal vantagem é que todos os membros da equipe podem trabalhar em um único ambiente padronizado, o que facilita o compartilhamento de bibliotecas e de módulos de código. O treinamento para essa abordagem também é bem simplificado, já que a equipe trabalha em um único ambiente.

No entanto, padronizar uma única linguagem também tem suas desvantagens. Essa padronização pode limitar novas contratações a uma determinada qualificação ou forçar novos funcionários a aprender novas ferramentas. Esse tópico foi uma das tendências abordadas no e-book de 2014. Quando os alunos se graduam, muitas vezes preferem ter experiência em uma ou mais linguagens específicas. E quando novos gerentes assumem o cargo, eles geralmente optam por implementar uma linguagem de sua escolha. Isso pode ser dispendioso e muitas vezes exige migração e revalidação do código base, além de treinamento na nova linguagem.

Os melhores gerentes de testes precisam buscar uma abordagem mais nova para o desenvolvimento de sistemas heterogêneos com diversas linguagens. Com essa abordagem, a equipe pode usar diversas linguagens, cada uma com suas vantagens, para criar sistemas de testes mais poderosos. Como todas as linguagens são projetadas para aplicações específicas, usar cada uma de suas vantagens economizaria tempo e dinheiro.

Embora benéfica, essa abordagem pode apresentar um novo desafio para o desenvolvimento de sistemas de testes: linguagens diferentes precisam agora se comunicar e trabalhar juntas para formar um único sistema. Para solucionar essa questão, todos os engenheiros de testes precisam entender o ambiente no qual se especializam, além do ambiente de todas as demais linguagens utilizadas.

A solução de software

Os departamentos de testes estão migrando para um software de gerenciamento de testes pronto para uso que opera como um Rosetta Stone, integrando as diferentes linguagens. Além de oferecer aos usuários um ambiente comum no qual eles podem trabalhar com qualquer tipo de código de teste, o software executa tarefas executivas, como sequenciamento e chamada de cada teste, tratamento do registro de dados e geração de relatórios. Desse modo, cada engenheiro pode se concentrar em escrever o melhor teste para cada componente do DUT sem precisar se preocupar em como se comunicar com outras partes do código. Uma vez que os engenheiros podem usar os ambientes mais cômodos para eles, a empresa pode se dedicar em contratar engenheiros especializados em determinadas aplicações, mesmo que eles não tenham conhecimento prévio ou treinamento na linguagem que a empresa precisa.

Além disso, os gerentes de testes podem aproveitar todo o potencial de um projeto heterogêneo enquanto evitam os novos desafios que esse projeto apresenta. Isso inclui o uso do software de gerenciamento de testes para um processo de desenvolvimento mais modular, que produz um sistema mais fácil de manter e atualizar porque cada componente pode ser atualizado individualmente sem afetar o resto do sistema.

Por fim, os gestores normalmente incluem o suporte de fornecedores que atualizam e corrigem o software continuamente, o que reduz ainda mais o custo de manutenção e aumenta a sustentabilidade desses sistemas. Unir essas vantagens aos benefícios de um projeto de sistema de testes heterogêneo é a solução encontrada pelos gestores de testes que estão criando o futuro dos testes automatizados.

(*) Kevin Flanagan é Engenheiro de Aplicação da Automated Test da National Instruments

Site: CIO
Data: 15/03/2016
Hora: 17h09
Seção: Tecnologia
Autor: Kevin Flanagan
Foto: ——
Link: http://cio.com.br/tecnologia/2016/03/15/a-ascensao-do-software-de-gerenciamento-de-teste/