30
Teste de Software Teste de Software Professor Maurício Archanjo Nunes Professor Maurício Archanjo Nunes Coelho Coelho

Professor Maurício Archanjo Nunes Coelho · por apresentar um gradne números de defeitos, afetando a usabilidade, a funcionalidade, a segurança ... Mundiais, Ferramenta de Testes

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

Severidade

1- Críticos

2- Maiores

3- Médios

4- Menores

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

Tipos de Testes

CAIXA PRETA CAIXA BRANCA

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

Exemplo de um Fluxograma de Exemplo de um Fluxograma de DefeitosDefeitos

Qual sistema deve ser feito e o que ele deve realizar

Desenvolver os diagramas do sistema

Codificar o sistema fazendo um algoritmo em Portugal.