Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Belo Horizonte
2018
Alex Martins Oliveira
1 ATIVIDADE .......................................................................................................................... 4
REFERÊNCIAS ..................................................................................................................... 12
1 ATIVIDADES
Tipo Objetivo
Teste unitário é o processo que tem por objetivo testar os componentes
de programa, como métodos ou classes de objeto. As funções individuais
ou métodos são o tipo mais simples de componente. Seus testes devem ser
Unitários
chamadas para essas rotinas com parâmetros diferentes de entrada. Você
pode usar as abordagens para projeto de casos de teste, para projetar testes
de funções ou métodos.
O teste de sistema, durante o desenvolvimento, envolve a integração de
componentes para criação de uma versão do sistema e, em seguida, o teste
do sistema integrado. O teste de sistema tem por objetivo verificar se os
componentes são compatíveis, se interagem corretamente e transferem os
dados certos no momento certo, por suas interfaces. Certamente,
sobrepõem-se ao teste de componente, mas existem duas diferenças
importantes:
4
O objetivo do teste de aceitação é apresentar como o mesmo aproxima o
contato entre a equipe de trabalho e como o cliente decide se aceita ou não
as funções desenvolvidas dentro de um cenário no desenvolvimento de
software. Além de que, os desenvolvedores só podem trabalhar a partir
Aceitação
dos requisitos, mas, muitas vezes, estes não refletem outros fatores que
afetam o uso prático do software. Os usuários podem fornecer
informações sobre as práticas que contribuem com projeto de testes mais
realista.
O teste de regressão envolve a execução de conjuntos de testes que
tenham sido executados com sucesso, após as alterações serem feitas em
um sistema. O teste de regressão tem por objetivo verificar se essas
mudanças não introduziram novos bugs no sistema e se o novo código
Regressão interage com o código existente conforme o esperado. O teste de regressão
é muito caro e geralmente impraticável quando um sistema é testado
manualmente, pois os custos com tempo e esforço são muito altos. Em tais
situações, você precisa tentar escolher os testes mais relevantes para
executar novamente, e é fácil perder testes importantes.
Validação Verificação
O objetivo é verificar se o software atende aos
A inexistência de erros não mostra a adequação
requisitos funcionais e não funcionais
operacional do sistema.
especificados
Verificação inclui da realização de testes para
Deve ser feita a validação com o cliente.
encontrar erros
A validação procura assegurar que o sistema
atenda as expectativas e necessidades do cliente
A validação final é realizada pelo Pergunta principal: Estamos construindo o
usuário/cliente produto corretamente?
Pergunta principal: Estamos construindo o
produto correta?
5
3 - Explique o que são testes automatizados e seus benefícios
O teste de regressão envolve a execução de conjuntos de testes que tenham sido executados
com sucesso, após as alterações serem feitas em um sistema. O teste de regressão tem por objetivo
verificar se essas mudanças não introduziram novos bugs no sistema e se o novo código interage
com o código existente conforme o esperado. O teste de regressão é muito caro e geralmente
impraticável quando um sistema é testado manualmente, pois os custos com tempo e esforço são
muito altos. Em tais situações, você precisa tentar escolher os testes mais relevantes para executar
novamente, e é fácil perder testes importantes.
A Refatoração é o processo de alterar um software de uma maneira que não mude o seu
comportamento externo e ainda melhore a sua estrutura interna. Ela é utilizada para manter um
software bem projetado mesmo com o decorrer do tempo e as mudanças que ele virá a sofrer. A
refatoração é importante e traz benefícios, quais sejam:
O melhor momento para a automação dos scripts é logo após o fim da execução dos seus
testes manuais. Os scripts de teste que eu automatizar neste momento constituirão o teste de
regressão que irá garantir a qualidade do meu software e economizar tempo nos próximos ciclos de
6
desenvolvimento, onde eu terei que me preocupar em testar apenas as novas funcionalidades. As
funcionalidades antigas estão automatizadas e podem ser testadas com a execução deste teste de
regressão automatizado.
8 - Explique o que é TDD e apresente seu ciclo e sua importância para o desenvolvimento de
Software.
7
8
O ciclo se resume em:
Escrever um teste
Codificar o mínimo possível para o teste passar
Refatorar
Assim funciona o ciclo, se o teste está passando, a cada ciclo o software vai crescendo.
9
Porque é importante? Porque é importante?
Se os usuários finais encontrarem erros que É necessário executar o programa antes que
abalem sua credibilidade na WebApp, seja entregue ao cliente para remover todos
buscarão em outro lugar pelo conteúdo de os erros, de maneira que o usuário não passe
função que precisam, e a WebApp será um por nenhuma frustação com um produto de
fracasso. Por essa razão, deve-se trabalhar má qualidade. Para encontrar o maior
para eliminar tantos erros quantos forem número possível de erros, devem ser feitos
possíveis antes que a WebApp entre no ar. testes sistematicamente e projetados casos de
teste usando técnicas bem definidas.
Quais são as etapas envolvidas? Quais são as etapas envolvidas?
10
Qual é o artefato? Qual é o artefato?
Embora nunca se possa ter certeza de ter Ao iniciar o teste, mude o seu ponto de vista.
executado todos os testes necessários, é Teste por todos os meios “quebrar” o
possível verificar se erros foram apontados (e software. Projete casos de teste de maneira
esses foram corrigidos). Além disso, se foi disciplinada e reveja os casos que você criou
estabelecido um plano de teste, é para que sejam completos.
aconselhável certificar-se que todos os testes
planejados foram realizados.
11
REFERÊNCIAS
PRESSMAN, Roger S. Engenharia de Software. 8ª edição, Rio de Janeiro: McGraw Hill, 2016.
12