SóProvas


ID
267880
Banca
CESPE / CEBRASPE
Órgão
TRE-ES
Ano
2011
Provas
Disciplina
Engenharia de Software
Assuntos

Considerando que a aplicação de testes em um programa possibilita
verificar se ele atende à sua especificação e se realiza o que o
cliente deseja, julgue os itens subsecutivos, relativos a testes de
software.

Inspeções de programa correspondem a um teste de verificação amplamente utilizado, que deve ser realizado no momento em que o programa está sendo executado.

Alternativas
Comentários
  • Inspeção do programa = Inspeção do código (leitura) = Verificação.
    É importante ter em mente a diferença de teste:
    Verificação = Teste estático (sem execução o programa).
    Validação = Teste dinâmico (com execução o programa).
  • Inspeções não sao testes, e sim uma revisão técnica formal. Ela é realizada em todos os artefatos gerados durante o desenvolvimento de software.
  • Software inspections: Concerned with analysis of the static system representation to discover problems (static verification)
     • May be supplement by tool-based document and code analysis

    Software testing: Concerned with exercising and observing product behaviour (dynamic verification)
     • The system is executed with test data and its operational behaviour is observed

    Fonte: Sommerville, 6 Edição Capitulo 19

  • As inspeções centram-se principalmente no código-fonte de um sistema, mas qualquer representação legível do software, como seus requisitos ou modelo de projeto, pode ser inspecionada. Ao inspecionar um sistema, você usa o conhecimento do sistema, seu dominio de aplicação e a linguagem de programação ou modelagem para descobrir erros.
    Existem três vantagens da inspeção de software sobre os testes:
           1 - Durante o teste, erros podem mascarar (esconder) outros erros. Quando um erro conduz saídas inesperadas, você nunca tem certeza se as anomalias seguintes são devidas a um novo erro ou efeitos colaterais do erro original. Como a inspeção é um processo estático, você não precisa se preocupar com as interações entre os erros. Consequentemente, uma sessão unica de inspeção pode descobrir muitos erros no sistema.
            2 - Versões incompletas de um sistema podem ser inspecionadas sem custos adicionais. Se um programa é incompleto, você precisa desenvolver dispositivos de teste especializados para testar as partes disponiveis. Isso, obviamente, aumenta os custos de desenvolvimento do sistema.
            3 - Bem como a procura por defeitos de programa, uma inspeção pode considerar outros atributos de qualidade de um programa, como a conformidade com os padrões, portabilidade e manutenibilidade. Você pode procurar ineficiencias, algoritmos inadequados e um estilo de programção que poderiam tornar o sistema de dificil manutenção.
    As inspeções de programa são uma ideia antiga, e vários estudos e experimentos demonstraram que as inspeções são mais eficazes na descoberta de defeitos do que os testes de programa. Fagan (1986) relatou que mais de 60% dos erros em um programa podem ser detectados por meio de inspeções informais de programa. No processo Cleanroom (PROWELL et al, 1999), afirma que mais de 90% dos defeitos podem ser descobertos em inspeções de programas.

    Fonte: Ian Sommerville, Engenharia de Software, 9ª Edição.

    Logo, se a inspeção de programa centra-se no Código-fonte, sendo assim um processo estático, ela não vai ser executada quando o sistema está rodando.
  • Resumindo...

    Inspeções de programa correspondem a um teste de verificação amplamente utilizado (CERTO), que deve ser realizado no momento em que o programa está sendo executado (ERRADO: Inspeção = verificação estática).


    Bons estudos!