Verificação refere-se a checar se o produto foi construído corretamente, enquanto validação refere-se a checar se o produto atende às necessidades do cliente. Validar um programa é particularmente difícil porque é difícil prever todos os cenários de uso. Programas raramente estão totalmente livres de defeitos antes do lançamento, e testes podem ser usados para validar se o programa atende às necessidades do cliente dentro de certos limites.
1. Exercícios sobre V&V e teste de software<br />Explique as diferenças entre verificação e validação e explique por que a validação é um processo particularmente difícil.<br />Explique por que não é necessário que um programa seja completamente livre de defeitos antes de ser entregue a seus clientes. Até que ponto o teste pode ser usado para validar que o programa esta adequada ao seu produto.<br />Explique por que a inspeções de software são uma técnica eficiente para descobrir erros em um programa. Que tipos de erro são improváveis de serem descobertos por meio de inspeções?<br />Usando seus conhecimento de Java, C++, C ou alguma outra linguagem de programação, desenvolva um checklist de erros comuns(não erros de sintaxe) que não poderiam ser detectados por um compilador, mas que poderiam ser detectados por um inspeção de programa.<br />Faça uma lista de condições que poderiam ser detectadas por um analisador estático para Java, C, C++ ou outra linguagem de programação que você usa.<br />O que o desenvolvimento de software cleanroom. Quais suas vantagens e desvantagens?<br />Quais os tipos de teste de sistema existem? Explique de forma sucinta cada um.<br />O que é um teste caixa-preta e um teste caixa-branca?<br />Qual é a função do framework JUnit e do Lint?<br />