2. • Conceito de Teste;
• Objetivo dos Testes;
• Processo de Teste;
• Fases do Processo de Teste;
• Procedimento de Testes;
• Reflexões;
• Exercícios.
AGENDA
3. Teste
• O termo vem testum (Latim) que significa pote de barro usado
para ensaios com metais para terminar a sua presença ou medir
a massa de seus vários elementos. Assim, colocar algo em teste,
do inglês to put to the test vem desta origem. Ou seja, colocar
um software em testes significar verificar a presença de
defeitos.
4. Objetivo do teste
A atividade de Testes tem por objetivos verificar:
Aspectos estruturais;
Lógicos do software;
Aspectos sistêmicos.
Descobrir defeitos:
A um custo adequado;
Conceitos;
Estratégias;
Técnicas e Métricas.
+ Integrados em um processo de testes definido e controlado.
5. Processo de teste
• Apoiar a atividade de testes;
• Fornecer um guia para as equipes
– Desde o Planejamento até a avaliação dos resultados.
6. Fases do processo de teste
Deve ser executado em fases para, de forma a torná-lo mais eficaz.
Testes de Componente Testes de Integração Testes de Sistema
Desenvolvedor de Software Equipe de Testes
7. Fases do processo de teste
Testes de Componente (ou Teste de Unidade):
Realizada pelo próprio desenvolvedor;
Relacionados com atividade de codificação;
Testa individualmente os módulos ou componentes de software
desenvolvido;
Testa-se se o módulo ou componente que realmente executa a tarefa
para a qual foi projeto.
8. Fases do processo de teste
Testes de Integração:
O desenvolvedor testa a integração dos componentes do sistema;
Unidades ou aplicações que foram testadas em separado são testadas de
forma integrada;
O teste de integração deve ser feito de forma incremental, ou seja, as
unidades devem ser integradas em pequenos segmentos;
A integração dos módulos pode ser feita através das abordagens:
Top-down; ou
Bottom-up.
9. Fases do processo de teste
Teste de Sistema:
Realizada por de equipe de testes independente;
Teste do software do ponto de vista sistêmico;
Foco no sistema como um todo.
10. Procedimento de testes
Projetar Casos de
Teste
Preparar Casos de
Teste
Executar Programa
com Dados de Teste
Comparar Resultados
com os Casos de Teste
Casos de Teste Dados de Teste Resultados de Teste Relatórios de Teste
11. Procedimento de testes
Plano de teste:
Define objetivos para cada tipo (ou fase) de teste;
Estabelece estratégias de testes;
Cronograma e responsabilidades;
Procedimentos e padrões (usados na execução e elaboração de
relatórios);
Define critérios para a conclusão do teste, bem como o sucesso de cada
teste;
A norma IEEE 829-2008 descrever o que é necessário para uma boa
documentação de teste.
13. Planejamento
❶
A atividade de testes é fortemente influenciada pelo seu planejamento
antecipado, durante as fases iniciais do desenvolvimento do software.
❷
A capacidade de encontrar defeitos está diretamente relacionada a este
planejamento.
14. Negligências
Embora importantes, os testes são muitas vezes negligenciados por
vários motivos, tais como:
Projeto atrasado;
Testes não planejados;
Falta de ferramentas adequadas;
Falta de Pessoal qualificado.
17. 1. Há possibilidade de detectar todas os defeitos de um software? Justifique.
2. Quais são as condições mínimas para realizar um bom teste?
3. A finalização de testes deve obedecer a critérios definidos no plano de testes. Cite dois critérios para
esta finalização.
4. Quais são os pontos fracos de testes que visão somente o aspectos funcional sistêmico do software?
5. Um teste bem-sucedido é aquele que revela um defeito ainda não descoberto. Quantos testes seriam
necessários para descobrir a maioria dos defeitos?
6. Qual deve ser o percentual de esforço de desenvolvimento de software (sequencial ou evolutivo)?
7. Os testes de componentes estão relacionados com atividade de codificação. Espera-se que o
programador faça os devidos testes nos componentes que desenvolveu. Quais são os problemas
desta abordagem?
8. Quais são as diferenças entre teste de integração e teste de sistema?
9. Existem duas estratégias para os testes de integração: topdown e bottom-up. Pesquise o que são
estas estratégias e descreva as suas principais diferenças.
10. Por que os testes de sistemas devem ser realizados por uma equipe independente?
19. Referência
HIRAMA, Kechi. Engenharia de Software: qualidade e produtividade com tecnologia /
Kechi Hirama. Rio de Janeiro: Elsevier, 2011. ISBN 978-85-352-4882-1