sexta-feira, 20 de junho de 2008

O Teste de Software

O teste do software é um processo realizado pelo testador de software que permeia outros processos da Engenharia de Software e envolve ações que vão do levantamento de requisitos (necessidades) até a execução do teste propriamente dito. O objetivo, por paradoxal que pareça, é encontrar defeitos nos produtos, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é
utilizado como um processo da engenharia de software para encontrar defeitos.


O processo de teste de software é voltado para o alcance de um nível de qualidade de produto, que durante o processo de desenvolvimento de software muda conforme avanço das  atividadades - requisitos, protótipos, modelo de dados lógico, modelo de dados físico,
código-fonte, módulos funcionais e finalmente um sistema.

O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Nem pode-se garantir que todos os programas funcionariam corretamente, sem a presença de erros humanos, visto que os mesmos muitas vezes possuem um grande número de estados com fórmulas, atividades e algoritmos complexas. O tamanho do projeto a ser desenvolvido e a quantidade de pessoas envolvidas no processo aumentam ainda mais a complexidade.

Falhas podem ser originadas por diversos motivos, como os listados abaixo:

         • A especificação pode estar errada ou incompleta.

         • A especificação pode conter requisitos impossíveis de serem implementados, devido à limitações de hardware ou software.

         • Talvez a base de dados esteja organizada de forma que não seja permitido distinguir os tipos de usuário.

         • Pode ser que haja um erro no algoritmo de controle dos usuários

         • Pode ser que haja erros no código, o algoritmo pode estar implementado de forma errada ou incompleta.

Portanto, uma falha é o resultado de um ou mais defeitos em algum aspecto do sistema.

O teste de software pode ser visto como uma parcela do processo de qualidade de software. A qualidade da aplicação pode, e normalmente, varia significativamente de sistema para sistema mas os atributos qualitativos previstos na norma ISO 9126 que são: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade.

Nenhum comentário: