• Nenhum resultado encontrado

INTRODUÇÃO AO TESTE DE SOFTWARE

No documento PROJETO, IMPLEMENTAÇÃO E TESTE DE SOFTWARE (páginas 128-132)

O teste é uma atividade de verificação e validação do software e consiste na aná- lise dinâmica, isto é, na execução do produto de software com o objetivo de verificar a presença de defeitos no produto e aumentar a confiança de que está correto.

Hoje existe uma crescente preocupação pela necessidade de melhoria do sof- tware, percebida pelas próprias empresas, seja por exigência do mercado ou pelos clientes, como você, que utilizam esses softwares. Uma das formas das empre- sas melhorarem a qualidade do software por elas desenvolvido é por meio da implantação equipes de testes, cujo o objetivo é testar os sistemas produzidos e atingir um nível de qualidade aceitável e em um espaço de tempo cada vez menor. Entretanto, quando uma empresa desenvolvedora de software busca garantir a qualidade, ela percebe que é necessário investir pesado em testes de software. Levando em conta que existem vários tipos de testes no mercado para aten- der as suas necessidades, a empresa deve levar em conta que pode ser preciso implantar mais de um tipo ou investir em métricas de software para garantia da qualidade desses testes.

1.

Planejamento

2.

Preparação

3.

Especificação

4.

Execução

5.

Entrega

Introdução ao Teste de Software Repr odução pr oibida. A rt . 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

Para Sommerville (2011, p. 144), “o teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso”. Conforme Sommerville, quando se testa o software, devemos exe- cutar o programa e incluir dados fictícios (simular como se fosse um usuário) e os resultados do teste são utilizados para procurar erros, anomalias ou se algum atributo não estiver funcionando adequadamente.

Segundo Pressman (2011, p. 427), “uma vez gerado o código fonte, o sof- tware deve ser testado para descobrir (e corrigir) tantos erros quanto possível antes de fornecê-lo ao seu cliente”.

Mas você deve estar se perguntando: Por que testar? Quando é preciso tes- tar? Como testar? E quando os testes devem começar?

Para responder a estas dúvidas, vamos ver o que pensa Tsui e Karam (2013, p. 147). Os autores afirmam que os testes de software geralmente possuem dois objetivos principais:

■ Os testes devem encontrar defeitos no software, para que eles possam ser corrigidos ou minimizados.

■ Os testes fornecem uma avaliação geral de qualidade e uma estimativa das possíveis falhas.

Para Tsui e Karam (2013), exceto os programas mais simples, os testes de sof- tware não podem provar que um produto funciona e sim que ele pode apenas encontrar defeitos e que ele funciona para as situações em que foi testado, mas sem garantir seu funcionamento em outras situações que não foram testadas.

Mas se os testes não foram executados de forma correta? Nesse caso, pode for- necer alguma garantia de que o software irá funcionar para as situações semelhantes às dos testes, não temos, porém, como provar que o software irá funcionar para todos os casos. Vale ressaltar que, mesmo se um teste não detectar defeitos, isso não quer dizer necessariamente que o produto não é um produto de boa qualidade. Muitas vezes, a atividade de teste empregada pode ter sido conduzida sem planejamento, sem critérios e sem uma sistemática bem definida, sendo, por- tanto, os testes de baixa qualidade. Ainda que os testes não possam demonstrar a ausência de defeitos, como benefício secundário, podem indicar que as funções do software parecem estar funcionando de acordo com o especificado.

Repr odução pr oibida. A rt. 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

Passamos agora a conhecer algumas definições de teste:

■ Testar é verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e não está fazendo o que não deveria fazer (RIOS; MOREIRA, 2013).

■ Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (MYERS, 1979).

■ Testar é qualquer atividade que a partir da avaliação de um atributo ou capacidade de um programa ou sistema, seja possível determinar se ele alcança os resultados desejados (HETZEL, 1998).

De acordo com Pressman (2011), todo software que se destina ao público e/ou ao mercado deve sofrer um nível mínimo de teste. Assim, quanto maior o nível de complexidade do software, mais testes e técnicas de testes se tornam neces- sários para a obtenção da sua qualidade.

Segundo Tsui e Karam (2013, p. 147), “os testes de software consistem na veri- ficação dinâmica do comportamento de um programa com base em um conjunto finito de situações de teste, selecionado de forma apropriada a partir do habitual- mente infinito domínio de execuções, em relação ao comportamento esperado”.

Mas como toda atividade complexa que possui muitas ações, o teste deve ser planejado, ter seus objetivos determinados, a definição de quais metodologias e técnicas devem ser aplicadas, e de quais recursos e ferramentas devem ser utili- zados para executar os testes.

“Um testador bem treinado, com experiência prática e com o espírito aberto para novos aprendizados dificilmente será derrotado.”

Introdução ao Teste de Software Repr odução pr oibida. A rt . 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

Portanto, teste é um conjunto de atividades que podem ser planejadas com antecedência e executadas sistematicamente. Por essa razão, deverá ser definido para o processo de software um modelo, que pode ser chamado de template para o teste. Nesse template criamos um conjunto de etapas no qual pode-se colocar técnicas específicas de caso de teste e métodos de teste.

Para Sommerville (2011, p. 144), o processo de teste apresenta dois objeti- vos distintos:

1. Demonstrar ao desenvolvedor e ao cliente que o software atende seus requisitos.

2. Descobrir situações em que o software se comporta de maneira incorreta, indesejável ou de forma diferente do que foi especificado.

No próximo tópico, vamos conhecer os conceitos básicos utilizados na fase de teste de software. Boa leitura!

O teste, da maneira como é executado pela maioria das empresas – como uma etapa dentro do processo de desenvolvimento e, em geral, executado pelos próprios desenvolvedores e pelos usuários do sistema, serve apenas para garantir que as especificações ou os requisitos do negócio foram de fato implementados. Como o processo de desenvolvimento cria produtos com defeitos, necessário se faz descobrir esses defeitos. Em um modelo de garantia de qualidade, isso é suficiente. Quem poderia garantir que um sof- tware testado pelos próprios desenvolvedores está corretamente testado? Com toda a certeza, existem exceções, mas a melhor maneira de testar um software é ter um processo de teste claramente definido. Os defeitos exis- tentes nos softwares, na maior parte das vezes, constituem-se em riscos tan- to para o negócio, quanto para a imagem da empresa.

©shutterstock Repr odução pr oibida. A rt. 184 do C ódigo P enal e L ei 9.610 de 19 de f ev er eir o de 1998.

No documento PROJETO, IMPLEMENTAÇÃO E TESTE DE SOFTWARE (páginas 128-132)