Upload
phungliem
View
217
Download
0
Embed Size (px)
Citation preview
Teste de SoftwareTeste de Software
Professor Maurício Archanjo Nunes Professor Maurício Archanjo Nunes CoelhoCoelho
ConteúdoConteúdo
1. Definição de Teste e suas Classificações1. Definição de Teste e suas Classificações1.1 - Introdução1.1 - Introdução1.2 – O que é homologação1.2 – O que é homologação1.3 – História do teste.1.3 – História do teste.1.4 – A falta de teste1.4 – A falta de teste1.5 – O que é um software de qualidade.1.5 – O que é um software de qualidade.1.6 Como o teste funciona no RUP.1.6 Como o teste funciona no RUP.1.7 – Classificação dos Defeitos1.7 – Classificação dos Defeitos
ConteúdoConteúdo
2 – Detalhamento dos vários tipos de teste2 – Detalhamento dos vários tipos de teste
2.1. Teste Exaustivo2.1. Teste Exaustivo
2.2. Teste Estrutural2.2. Teste Estrutural
2.3. Teste de Regressão2.3. Teste de Regressão
2.4. Teste de Software Estático2.4. Teste de Software Estático
3 – Estudos de Caso3 – Estudos de Caso
Os Softwares no Mundo Os Softwares no Mundo ModernoModerno
O Software tem um papel importante no apoio aos O Software tem um papel importante no apoio aos negócios das empresas.negócios das empresas.
As empresas dependem cada vez mais de Software.As empresas dependem cada vez mais de Software. Os softwares tem se caracterizado, na sua maioria, Os softwares tem se caracterizado, na sua maioria,
por apresentar um gradne números de defeitos, por apresentar um gradne números de defeitos, afetando a usabilidade, a funcionalidade, a segurança afetando a usabilidade, a funcionalidade, a segurança e a confiabilidade dos mesmos. (prejuízos)e a confiabilidade dos mesmos. (prejuízos)
Exemplo: Exemplo: INTERNETINTERNETOs usuários abandonam o site, insatisfeitos com a sua Os usuários abandonam o site, insatisfeitos com a sua
usabilidade e/ou funcionalidade.usabilidade e/ou funcionalidade.
O que é Teste?O que é Teste?
Prova pela qual se colhem amostras de Prova pela qual se colhem amostras de comportamento. Exame crítico ou prova das comportamento. Exame crítico ou prova das qualidades de uma pessoa ou coisa. PROVA, qualidades de uma pessoa ou coisa. PROVA, EXAME, VERIFICAÇÃOEXAME, VERIFICAÇÃO
TESTAR – Submeter a Teste, experimentar, TESTAR – Submeter a Teste, experimentar, por a prova.por a prova.
Fonte: Aurélio.Fonte: Aurélio.
O que é HomologaçãoO que é Homologação
APROVAR, RATIFICARAPROVAR, RATIFICAR
Por a prova, considerar bom, Por a prova, considerar bom, comprovar, confirmar, comprovar, confirmar,
consolidar.consolidar.
Fonte:AurélioFonte:Aurélio
História do TesteHistória do Teste
Primórdios do DesenvolvimentoPrimórdios do Desenvolvimento
Navegação pelo códigoNavegação pelo código
Correção de erros conhecidosCorreção de erros conhecidos
Depois vieram:Depois vieram:
Processo de detecção de erros, Engenharia de Processo de detecção de erros, Engenharia de software, Qualidade de software, Padrões software, Qualidade de software, Padrões Mundiais, Ferramenta de Testes e Bug Ano Mundiais, Ferramenta de Testes e Bug Ano 20002000
Métodos Tradicionais de testes não Métodos Tradicionais de testes não funcionamfuncionam
Nem todos os requisitos são testados.Nem todos os requisitos são testados. Informalidade no processo de testes.Informalidade no processo de testes. Pouca importância atribuída ao processo de Pouca importância atribuída ao processo de
testes.testes. Defeitos só detectados em produção, onde Defeitos só detectados em produção, onde
custam de 100 a 1000vezes mais para serem custam de 100 a 1000vezes mais para serem consertados.consertados.
Falta de automação de testesFalta de automação de testes Falta de metodologia de testes.Falta de metodologia de testes.
A falta de TesteA falta de Teste
Aumento de falhas devido a podre Aumento de falhas devido a podre qualidade;qualidade;
Aumento dos custos de desenvolvimento;Aumento dos custos de desenvolvimento; Aumento do custo de suporte;Aumento do custo de suporte; Falta de confiabilidade do produto no Falta de confiabilidade do produto no
mercado;mercado; Insatisfação dos clientes e usuários;Insatisfação dos clientes e usuários; Perda de mercado.Perda de mercado.
O que é um software com qualidade?O que é um software com qualidade?Consideramos um software de qualidade quando:Consideramos um software de qualidade quando:
O número e a severidade dos defeitos residuais O número e a severidade dos defeitos residuais do processo de teste é aceitável pela do processo de teste é aceitável pela organização (não existe um software 100% organização (não existe um software 100% livre de erros)livre de erros)
O software é entregue dentro do prazo e custo, O software é entregue dentro do prazo e custo, atende aos requisitos e/ou as expectativas.atende aos requisitos e/ou as expectativas.
Ter sido construído de tal maneira que possa Ter sido construído de tal maneira que possa ser mantido de forma eficiente após sua ser mantido de forma eficiente após sua implantação.implantação.
““O quanto se quer melhorar dependerá de quanto O quanto se quer melhorar dependerá de quanto se deseja investir”se deseja investir”
Visões sobre qualidade de softwareVisões sobre qualidade de software
Usuário Desenvolvedor Organização
Facilidade de Uso
Desempenho
Confiabilidade dos Resultados
Preço do Software
Taxa de defeitos
Facilidade de Manutenção Conformidade em relação aos requisitos de usuários
Cumprimento de prazo
Boa previsão de Custo
Boa Produtividade
Objetivos da Atividade de TesteObjetivos da Atividade de Teste
A ATIVIDADE DE TESTE DE SOFTWARE A ATIVIDADE DE TESTE DE SOFTWARE é o processo de executar um programa com a é o processo de executar um programa com a intenção de descobrir um erro.intenção de descobrir um erro.
UM TESTE BEM SUCEDIDO é aquele que UM TESTE BEM SUCEDIDO é aquele que revela um erro ainda não descoberto.revela um erro ainda não descoberto.
Administrando InteressesAdministrando InteressesQuando o teste se inicia há um conflito Quando o teste se inicia há um conflito
de interesses:de interesses: Desenvolvedores: têm interesse em demonstrar Desenvolvedores: têm interesse em demonstrar
que o programa é isento de erros.que o programa é isento de erros. Responsáveis pelos Testes: têm interesse em Responsáveis pelos Testes: têm interesse em
mostrar que o programa tem erros.mostrar que o programa tem erros.
Do ponto de vista pscológico:Do ponto de vista pscológico: Análise, projeto e codificação de software são Análise, projeto e codificação de software são
tarefas construtivas.tarefas construtivas. Teste é tarefa destrutiva.Teste é tarefa destrutiva.
Classificação de defeitos
Prioridades
1- Resolva Imediatamente
2- Dê uma atenção especial
3- Coloque na fila normalmente
4- Menor Prioridade
Classificação de Defeitos
Tipos de Resoluções
- Melhoria
- Resolvido
- Resolvido Imediatamente
- Foi implantado corretamente
- Correção Posteiror
Porque Testar?
Errar é humano É preciso garantir que os erros serão
eliminados Aumentar a qualidade do Produto Reduzir o custo
Castigo para Desenvolvedor
Leis de Murphy
- Primeira lei – Se uma coisa pode sair errado, sairá.
- Se tudo parece estar indo bem, é porque você não olhou direito.
- A natureza sempre está a favor da falha oculta.
O que testar Teste de Especificação de Requisitos Teste de Modelos da Análise Teste de Regras de Negócio Teste de Funcionalidade Teste de Desempenho Teste de Carga Teste de Usabilidade Teste de Segurança Teste de Sistema Teste de Integração Teste de Portabilidade Teste de Compatibilidade Teste de Códigos Teste de documentos do projeto Teste de aceitação
Caixa BrancaTeste mais a nível de código.
Testa-se os IF, WHILE e todas as estruturas de controle, acesso a dados e interface.
Verificando seu correto Funcionamento
Exemplo:
Garante que todos os caminhos foram percorridos pelo menos uam vez
Executa os loops
CAIXA PRETA
Testa-se as funcionlidades verificando sua correta operação segundo uma ótica externa a implementação.
É baseado no que o software faz. Teste voltado para depois do término do software
Exemplo:Testar telas e resultados, entrada e saída.
Quem testa?
Caixa Branca : são os desenvolvedores/ programadores/ Analistas/ Engenheiros de Teste.
Caixa Preta : São Analistas/ Usuários Finais/ Engenheiro de teste/ Equipe de teste.
Porque investir em Teste?Porque investir em Teste?
Diminui o custo do RETRABALHO de Diminui o custo do RETRABALHO de Desenvolvimento do SoftwareDesenvolvimento do SoftwareGarantia da Qualidade nos sistemas desenvolvidosGarantia da Qualidade nos sistemas desenvolvidosMaior credibilidade da empresa no mercadoMaior credibilidade da empresa no mercadoMenor tempo para detectar defeitos(menor custo de Menor tempo para detectar defeitos(menor custo de desenvolvimentodesenvolvimentoPessoas treinadas e capacitadas para testePessoas treinadas e capacitadas para testeUtilização de ferramentas apropriadas para automação Utilização de ferramentas apropriadas para automação de testede teste