SóProvas


ID
8251
Banca
ESAF
Órgão
Receita Federal
Ano
2005
Provas
Disciplina
Engenharia de Software
Assuntos

Analise as seguintes afirmações relacionadas a Teste de Software:

I. Um critério de cobertura de teste é uma regra sobre como selecionar testes e quando parar o processo de testes.

II. No critério de teste denominado "teste de todos os ramos" o objetivo é passar por ambos os caminhos em todas as decisões. No teste de subdomínio a idéia é particionar o domínio de entrada em subdomínios mutuamente exclusivos, requerendo um número igual de casos de teste de cada subdomínio. A idéia de subdividir subdomínios é eficaz quando se deseja isolar erros potenciais dentro dos subdomínios individuais.

III. No teste funcional, o critério de "cobertura de todo o comando" especifica que todo comando do código fonte deve ser executado por algum caso de teste.

IV. A seleção dos casos de teste baseada na especificação é denominada teste estrutural.

Indique a opção que contenha todas as afirmações verdadeiras.

Alternativas
Comentários
  • I. Certo. A cobertura de testes é um critério usado para determinar se um programa foi suficientemente testado, além de ser uma indicação direta dos defeitos potenciais e custos futuros com manutenção. Existem ferramentas que, utilizando este critério, buscam melhorar a qualidade dos testes, permitindo assim a melhoria da qualidade do software que está sendo desenvolvido. Tais ferramentas, por exemplo, podem detalhar quais blocos de código do software nunca são utilizados.

    II. Certo. Em inglês chama-se Branch Testing. Mais em: http://gsd.ime.usp.br/seminars/testedepuracao.pdf e http://www.bullseye.com/coverage.html

    III. Errado. O critério de TESTE ESTRUTURAL, o qual é baseado na estrutura do código fonte, mais simples é o de COBERTURA DE TODO COMANDO, também chamado de cobertura C0. O teste de cobertura de todo comando diz que todo comando de código fonte deve ser executado por algum caso de teste.

    IV. Errado. Como "especificação" entenda-se documentos de análise elaborados utilizando a linguagem UML, por exemplo. O teste estrutural é apoiado na implementação, isto é, no fluxo de controle e informações dos fluxos dos dados. Utilizam também os erros típicos do processo de desenvolvimento de software para derivar os requisitos de teste. Já o teste funcional é apoiado na especificação funcional do software;

    Mais em: http://www.async.com.br/~kiko/papers/testcriteria/ , www.pucrs.br/inf/eventos2003/ workshop/arquivo/MiniCurso_Teste.pdf e http://www.cnptia.embrapa.br/modules/tinycontent3/content/2003/bp10.pdf
  • teste funcional é tb black box testing (comportamento) e estao relacionados ao teste de requisitos funcionais. estes testes incluem unidade, integracao, systema, interface, regressao e beta/aceite. testes nao funcionais tb sao white box testing ou testes estruturais e testam algoritmo ou codigo. eles envolvem: performance, stress, volume, segurança, compatbilidade, instalacao, recovery. usabilidade etc