Buscar

Aula_06 - Testes do Sistema

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
Aula 6 – Testes do Software
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
FASE: TESTES DO SISTEMA
 
 
Concepção
Análise 
Desenho
Implementação
Testes
Implantação
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
MÁXIMA
O PIOR ERRO E O MAIS CARO É AQUELE QUE CHEGA AO CLIENTE E É DESCOBERTO POR ELE.
CUSTA CARO:
IMAGEM DA EMPRESA / DEPTO
SOLUÇÃO DO ERRO
FASE: TESTES
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
FASE: POR QUE TESTAR ?
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
FASE: TESTES - CONCEITOS
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
Encontrar o maior número possível de defeitos no software
O mais cedo possível
QUAL A FINALIDADE DOS TESTES DE SOFTWARE
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
Testar é verificar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos e, se não está fazendo o que não deveria fazer (Rios e Moreira, 2003)
Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (Myers, 1979)
Testar é qualquer atividade que, a partir da avaliação de uma atributo ou de uma capacidade, permita determinar se o programa o sistema obtém resultados desejados (Hetzel, 1988)
QUAL A FINALIDADE DOS TESTES DE SOFTWARE?
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
[1] – TESTES ESTÁTICOS OU VERIFICAÇÕES 
Durante a fase de modelagem (análise e projeto)  Antes da implementação
Inspeções, revisões, auditorias, verificações
Modelos x Requisitos
Visa a qualidade no processo e produto
[2] – TESTES DINÁMICOS OU VALIDAÇÕES 
Durante e após a fase de implementação
Precisa do código implementado
Visa qualidade no produto	
FASE: TESTES – AO LONGO EM NÃO UMA FASE
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
5ª Fase do processo de desenvolvimento - FUNDAMENTAL
Condição: 
Programas ou parte deles (Sistemas é um conjunto de programas ou unidades implementáveis) desenvolvidos e com mínimo de verificação/teste
Finalidade: 
Garantir que o sistema é livre de erros (bugs)
Garantir que o sistema faz o que o usuário precisa
Características
Geralmente “deixada para trás”, na correria do desenvolvimento
É um dos pilares de um processo de desenvolvimento com qualidade. Teste  Qualidade (processo e produto)
FASE: TESTES - CONCEITOS
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
FASE: TESTES DO SOFTWARE 
O testador deve ter a capacidade de 
Entender o objetivo do programa ou unidade
Aplicar o teste adequado
Explicitar com clareza as falhas identificadas, associando-as ao ponto específico do procedimento (tela, e etc) e aos dados usados.
CÓDIGO FONTE
CÓDIGO FONTE COM QUALIDADE
TESTADOR
OK
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
Um sub-processo dentro do processo de desenvolvimento
Requer Planejamento
Requer Especificação
Requer Execução
Descoberta dos Erros
Análise dos Resultados
Requer Entrega
Apresentação do relatório final
Equipe de desenvolvimento
Depura o erro
Corrige o Erro
Sobre O TESTE – veremos *****
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
Uma etapa dentro do processo de desenvolvimento
Em geral, executado pelos próprios desenvolvedores e pelos usuários (lamentável)
Servem, basicamente, para garantir que as especificações e os requisitos foram efetivamente implementados.
O processo cria produtos com defeitos – os testes descobrem esses defeitos.
Prazos exíguos dos projetos  Cortam os testes. Quem acaba testando? R: Usuário !!
HÁ QUALIDADE NO ACIMA DESCRITO? QUAL A EFETIVAMENTE DOS PRÓPRIOS DESENVOLVEDORES TESTAREM?
PROPOSTA: Processo de Testes, claramente definido.
Executado por especialistas treinados.
FASE: TESTES – O QUE OCORRE NA PRÁTICA
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
O TESTADOS É INIMIGO DO DESENVOLVEDOR
A EQUIPE DE TESTES DEVE SER CRIADA COM OS DESENVOLVEDORES MENOS CAPACITADOS DA EQUIPE DE DESENVOLVIMENTO, AFINAL, QUAQUER UM PODE TESTAR.
QUANDO TODO O SOFTWARE ESTIVER PRONTO (O QUE TALVEZ NUNCA ACONTEÇA), ELE SEGUIRÁ PARA O PESSOAL FAZER O TESTE.
FASE: TESTES – MITOS 
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
O processo de testes começa em paralelo com o processo de desenvolvimento e integra-se a ele, ao longo.
Inserção de técnicas de revisões e inspeções nos documentos e modelos produzidos  descobre erros antes, mais baratos de serem sanados.
Os testes em si devem priorizar as funcionalidades mais críticas, que podem por em risco o negócio
QUANTO MAIS CEDO O ERRO FOR ENCONTRADO, MAIS BARATA A SUA SOLUÇÕES (10 REGRAS DE MYERS).
LEMBRE-SE : Um software desenvolvido HOJE pode estar rodando e gerando erros daqui há 10, 15, 20 anos. (assim espera o investidor !!!) 
FASE: TESTES – PREMISSAS DO MODELO PROPOSTO
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
PLANEJAMENTO
Objetivo: minimizar os principais riscos do negócio 
Elaborar a estratégia de teste
Elaborar o plano de teste
Etapa acontece com o levantamento de requisitos e planejamento do processo de desenvolvimento 
FASE: TESTES – PROCESSO
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
PREPARAÇÃO
Preparar o ambiente (equipamentos, pessoas, ferramentas de automação, hardware, software..) para boa execução dos testes.
Disponibilizar infra e ferramentas
Avaliar as necessidades de treinamento da equipe
FASE: TESTES – PROCESSO
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
ESPECIFICAÇÃO
Elaborar e revisar casos de testes
Elaborar e revisar Roteiros de testes.
E preciso que a equipe de desenvolvimento já tenha avançado na modelagem e as vezes é preciso até que seja liberada parte da aplicação
FASE: TESTES – PROCESSO
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
EXECUÇÃO
Executar os testes planejados
Conforme casos e roteiros de testes
Usar Script – caso use ferramenta de automação de testes
Registrar os resultados obtidos
E preciso que a equipe de desenvolvimento já tenha avançado na modelagem e as vezes é preciso até que seja liberada parte da aplicação
FASE: TESTES – PROCESSO
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
ENTREGA
Finalização do teste
Concluída/arquiva a documentação
Relatar as ocorrências relevantes para a melhoria do processo.
FASE: TESTES – PROCESSO
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
As estratégias de SW usadas nos projetos são:
Testes Unitários – testes de unidades isoladas, geralmente realizadas na fase de Implementação
Testes de integração – testes integrando as unidades já testados, verificando o conjunto que vai se formando, geralmente realizado na fase de implementação.
Testes de Sistema – teste do conjunto formado por todas as unidades, devidamente programadas, testadas isoladamente e testadas de forma integrada.
Testes de Aceitação ou homologação
Homologação interna
Homologação pelo cliente
NÍVEIS DE TESTES DURANTE A EXECUÇÃO.
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
TÉCNICAS DE TESTES MAIS USADAS
Os testes pelosquais passam o sistema devem ter 2 perspectivas
Testes Funcionais: garantem o atendimento aos requisitos  Caixa Preta
Testes Estruturais: garantem que o software tenha estrutura sólida: robustez  Caixa Branca
As tecnologias foram aplicadas adequadamente?
Os componentes funcionam como uma unidade coesas?
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
TESTES FUNCIONAIS OU CAIXA PRETA
Não considera a forma como o código está implementado (detalhes internos)
Objetivo: 
O SW produz os resultados esperados?
Os requisitos estão sendo atendidos.
Não requer conhecimento prévio da tecnologia empregada e da implementação do código
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
TIPOS DE TESTES POR TECNICA: FUNCIONAL
Requisitos  verificar se o sistema executa corretamente as funções e sustenta isso por período de tempo contínuo.
Regressão  verificar se o sistema executa tem mesmo comportamento após ser alterado
Em geral realizar os mesmos testes de antes da alteração.
Tratamento de erro  capacidade em tratar as situações incorretas
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
TESTES ESTRUTURAL OU CAIXA BRANCA
Verifica a arquitetura interna do software
Objetivo:
Identificar os defeitos nas estruturas internas do software  teste de cada detalhe da estrutura do código
Requer conhecimento técnico da tecnologia e do projeto de software.
Deve ser bem planejado
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
TIPOS DE TESTES POR TECNICA: ESTRUTURAL
Estresse  operar em condições além da normal
Avaliar o comportamento do software sob condições críticas (pouca memória, disco....)
Avaliar o comportamento sob elevado volume de dados
Execução  Avaliar o desempenho do sistema do sistema em ambiente de produção: 
Estão compatíveis com as premissas?
Tempo de resposta, processamento
Segurança  Garantir a confidencialidade das informações e proteção dos dados contra acesso indevido.
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
 
 
FASE: TESTES : UM TESTE GERA NOVA NECESSIDADE DE TESTE
Testes e Implantação do Software – Aula 6
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
PRINCIPAIS CONCEITOS APRESENTADOS NA AULA.
Conceito de Teste  Encontrar erros nos programas, mais cedo possível.
Importância do Testes  Evitar erros estratégicos.
Geralmente, relegado ou realizado dentro de processo, sem um objetivo claramente definido.
Realidade dos testes
Proposta: modelo paralelo e integrado ao desenvolvimento
Testes Funcionais
Testes Estruturais
Testes de funcionalidades alteradas  complexidade

Outros materiais