A construção de um software é um processo longo que envolve muitas fórmulas, algoritmos e atividades feitas para atender as demandas cada vez mais específicas e complexas do mercado. Por isso, é essencial que sejam realizados testes antes da entrega final de um programa.

Imagine se, por exemplo, uma equipe está trabalhando no desenvolvimento de um aplicativo para celulares Android e, depois de lançado, descobrem que ele não funciona corretamente em versões anteriores do sistema operacional. Situações como essa, acredite, são mais comuns do que se imagina. O National Institute of Standards and Technology divulgou, em pesquisa, que falhas em softwares contabilizam milhões de dólares em prejuízos para a economia americana, e que boa parte desse valor poderia ter sido poupado se testes tivessem sido feitos.

Um teste consegue identificar saídas inesperadas, condições válidas e erros nos códigos. Antes da sua implantação, porém, é necessário conhecer as principais metodologias utilizadas para execução desses procedimentos. Listamos abaixo alguns dos métodos mais aplicados depois do término do programa. Confira!

Caixa branca ou teste estrutural

Essa técnica averigua internamente o componente do software e atua diretamente no código fonte. Por ela, é possível fazer testes de condição, de fluxo de dados, de ciclos, de caminhos lógicos e códigos nunca executados. É utilizada no início da fase Alpha — período entre a finalização do software e a entrega.

Alguns desenvolvedores alegam que a técnica não apresenta muitos ganhos, mas, mesmo assim, ela é recomendada para teste de unidade de integração, pois são funções dos desenvolvedores de software que conhecem bem o código fonte elaborado.

Caixa preta ou teste funcional

Este teste avalia o comportamento externo do software e, assim, verifica se o resultado gerado está dentro do esperado. Funciona assim: primeiramente é preciso apresentar dados de entrada, logo em seguida um teste é feito sobre eles e o resultado é comparado com aquilo que se deseja do programa. Um detalhe importante: quanto mais entradas, mais real o resultado do teste. Como é impossível oferecer todas, a dica é escolher um conjunto que represente melhor o objetivo do software.

A técnica pode ser utilizada em fases de teste (unitária, integração, de sistema e de aceitação). Porém, ela não é suficiente para apontar todos os riscos de um projeto. Além do mais, é utilizada na segunda parte da fase Alpha — período entre a finalização do software e a entrega e, vale lembrar, que neste teste não há acesso ao código fonte do programa.

Caixa cinza

É o equilíbrio entre caixa branca e caixa preta. Sendo assim, a técnica de teste de caixa cinza possibilita que se testem as estruturas de dados e algoritmos dos componentes para aprimorar os casos de teste, que são executados como na técnica da caixa preta.

Regressão

É um teste aplicado durante o processo de desenvolvimento do software e baseia-se na avaliação de cada um dos ciclos. Ao aplicá-lo é possível avaliar o impacto de alteração decorrente da nova versão.

Técnicas não funcionais

São os meios que verificam se os atributos do software estão de acordo com regras e restrições e se atendem questões importantes de confiabilidade, eficiência, usabilidade, manutenibilidade e portabilidade.

São eles:

Os testes apresentados não excluem um ao outro. Cada um possui seu objetivo para verificar toda a funcionalidade do software.

E você, tem utilizado metodologias de teste na revisão de softwares? Como tem se saído nos resultados? Deixe sua opinião e vamos compartilhar experiências!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *