Imagine uma softhouse (empresa que fabrica softwares) em seu setor de desenvolvimento. Há os desenvolvedores que criam os produtos conforme a demanda do mercado e há os testadores que validam os produtos, testando as suas funcionalidades e regras de negócio. Agora imagine que, durante alguns anos, os produtos desenvolvidos vão ganhando mais e mais funcionalidades e as regras de negócio vão se modificando ou evoluindo de acordo com a legislação, tendências de mercado e solicitações dos clientes que os utilizam. Obviamente, a quantidade de código inserido nos softwares (produtos) vai aumentando e a necessidade de testar os pedaços de código e a sua totalidade continua da mesma maneira quando no início de seu nascimento. Pense também na velocidade do mercado, que exige que se libere rapidamente as tualizações das correções, melhorias e novos recursos que vão sendo produzidos no software.
Contudo, com cada vez mais códigos para se testar e garantir que as funcionalidades continuem sendo validadas corretamente, quantos testadores seriam necessários para dar conta de todo o trabalho em curto espaço de tempo? Seria inviável, economicamente, ter a quantidade de testadores necessários para atender toda a demanda.
Então é primordial haver uma maneira automática para testar as funcionalidades já existentes e as novas, de modo que se garanta que o que funcionava antes continua funcionando agora da mesma maneira.
Existem no mercado várias ferramentas que fazem esse trabalho automático, dentre elas o Test Complete. Vamos falar um pouco sobre essa que é uma das ferramentas utilizadas pela Alterdata para o teste automatizado de seus produtos, como o Bimer, software ERP Alterdata.
O que é o Test Complete
O Test Complete é uma ferramenta desenvolvida pela AutomatedQA, empresa dos EUA, que permite a automação de testes de software. Possui acesso nativo em várias tecnologias, como Borland Delphi, .Net, Java, Visual Basic, FoxPro, WEB, entre outros. Realiza os testes e verifica a lógica do negócio, o desempenho, a funcionalidade, a interface, a persistência dos dados, o desempenho do servidor, etc, conforme programado pela equipe de testes. Gera relatórios com os resultados, detalhando o que foi feito, onde passou, o que deu certo e o que falhou, isso numa velocidade muito superior ao que um humano poderia ter, além de que os testes tendo sido programados e direcionados para o que de fato se necessita testar, elimina-se a questão empírica do que um testador quer em relação ao que se deve testar. Possui uma suíte de testes onde é possível criar um ou mais projetos e agrupá-los em grupos de produtos ou funcionalidades.
Cada projeto possui um ou mais scripts de testes, sendo possível organizar e até reaproveitar os mesmos testes em projetos diferentes. Com o Test Complete podemos aplicar várias técnicas de teste, entre as quais destacamos:
- Caixa preta: técnica que testa o software através de suas entradas e saídas pela interface. Avalia a funcionalidade da tela, sem considerar o funcionamento interno. Verifica o comportamento de acordo com a entrada fornecida e a saída devolvida. É um teste funcional que é recomendado para as várias fases de teste: teste unitário, teste de integração, teste de sistema e teste de aceitação.
- Regressão: técnica que tem por objetivo efetuar testes já existentes em cada nova versão liberada, verificando se as funcionalidades foram impactadas pelas alterações realizadas no código. O teste de regressão automatizado é indicado em softwares robustos com grande quantidade de código, uma vez que a velocidade da automação é muito maior do que se poderia fazer manualmente.
- Não funcionais: técnica que visa efetuar testes para encontrar situações inesperadas, fora da especificação de requisitos. Espera-se efetuar uma crítica sobre as funcionalidades do software, procurando saber sobre a robustez em relação a uma grande quantidade de dados inseridos ou desempenho em relação à resposta e tratamento de violações, e também a persistência dos dados.
O Test Complete, devido à sua versatilidade, permite uma série de verificações nas mais variadas possibilidades de teste, numa velocidade muito maior a que seria possível ao testador humano, oferecendo um meio sólido para minimizar os defeitos de um software.
Excelente!
Ótimo, estou entrando nessa área de teste, sempre aprendendo!
Que bom que gostou 😉