Upload
cesdourado
View
9
Download
0
Embed Size (px)
Citation preview
Fabrício [email protected]
http://groups.google.com.br/group/facisa-teste-de-software
Introdução Relembrando...
◦ Motivação◦ Finalidade dos testes
O processo de teste Fases da atividade de teste Técnicas e critérios de testes Características e limitações Abordagem de teste Estágios de teste
21/04/23 2
Existe grande possibilidade de injeção de falhas humanas no processo de desenvolvimento de software
O processo de testes faz parte da garantia de qualidade de software
Os custos associados às falhas de software justificam um processo de testes cuidadoso e bem planejado.
21/04/23 3
Verificar se todos os requisitos do sistema foram corretamente implementados
Assegurar, na medida do possível, a qualidade e a corretude do software produzido
Reduzir custos de manutenção corretiva e retrabalho
Assegurar a satisfação do cliente com o produto desenvolvido.
21/04/23 4
Produzir casos de teste que têm elevada probabilidade de revelar um erro ainda não descoberto com uma quantidade mínima de tempo e esforço
Comparar o resultado dos testes com os resultados esperados a fim de produzir uma indicação da qualidade e da confiabilidade do software
Verificar a correta integração entre todos os componentes de software.
21/04/23 5
Tem como objetivo criar testes para revelar a presença de erros
Define como os testes serão planejados e executados através de atividades e passos e quando serão executados
21/04/23 6
Quando bem planejado e controlado, exige menos esforço e possui maior eficácia
É impossível provar a ausência total de erros de um software!
21/04/23 7
Teste de unidade Teste de integração Teste de sistemas Teste de regressão
21/04/23 8
Foco nas menores unidades do programa:◦ Funções;◦ Procedimentos;◦ Métodos;◦ Classes.
O teste é executado a medida que for sendo implementado, de forma isolada, pelo próprio desenvolvedor.
21/04/23 9
Deve ser executado após serem testadas as unidades individualmente
A ênfase é dada na construção da estrutura do sistema
Verificar se interação entre as partes do sistema funciona de maneira adequada e não leva a erros.
21/04/23 10
Verificar se as funcionalidades especificadas nos documentos de requisitos estão corretas
Aspectos de corretude, completude e coerência também devem ser observados;
Muitas organizações adotam a estratégia de designar uma equipe independente para realizar os testes de sistemas.
21/04/23 11
Realiza-se durante a manutenção do software
A cada modificação efetuada no sistema, após a sua liberação, corre-se o risco de que novos defeitos sejam introduzidos◦ Por isso, após a modificação é preciso ter certeza
de que o software não foi afetado.
21/04/23 12
Técnicas de teste:◦ Teste aleatório◦ Teste de subdomínio
Critérios de teste:◦ Funcionais◦ Estruturais◦ Baseados em defeitos
21/04/23 13
Para se garantir que um software não possui defeitos, deveríamos testar todo o seu domínio. O que é impossível!
O objetivo da atividade de teste é mostrar a presença de defeitos, caso eles existam e não mostrar que um programa está correto.
21/04/23 14
Abordagem “caixa preta”◦ Entrada e saída◦ Geralmente aplicado durante as últimas fases do
processo de teste
Objetivo◦ Erros na interface gráfica◦ Erros na estruturas de dados ou acesso ao banco
de dados ◦ Problemas de desempenho.
21/04/23 15
Abordagem “Caixa Branca”◦ Os testes são gerados a partir de uma análise dos
caminhos lógicos possíveis de serem executados, de modo a conhecer o funcionamento interno dos componentes de software
Objetivos◦ Garantir que todos os caminhos independentes
dentro de um módulo tenham sido exercitados pelo menos uma vez
◦ Executar laços dentro dos valores limites.
21/04/23 16
Teste de unidade◦ Componentes individuais (ex: classes, métodos)
são testados para assegurar que os mesmos operam de forma correta.
Teste de integração◦ A interface entre as unidades integradas é
testada
21/04/23 17
Teste de sistema◦ Os elementos de software integrados com o
ambiente operacional (hardware, pessoas, etc.) são testados como um todo
Teste de aceitação (homologação)◦ O software é testado pelo usuário final◦ Envolve treinamento, documentação e
empacotamento
21/04/23 18
Realizado para melhorar a qualidade do software
Reduz o custo dos defeitos encontrados Objetivo:
◦ Testar a estrutura interna (lógica e fluxo de dados) e comportamento.
21/04/23 19
São testados:◦ Componentes individuais (classes, métodos) para
assegurar que os mesmo operam de forma correta◦ Manipulação de dados inconsistentes ou impróprios◦ Inicialização de variáveis com valores default e
outros valores◦ Condições limite para garantir que a unidade opera
adequadamente nos limites estabelecidos para demarcarem os restringirem seu processamento
Pessoa envolvida
21/04/23 20
Unidades ou aplicações que foram testadas em separado são testadas de forma integrada
A interface entre as unidades integradas é testada
21/04/23 21
O teste de integração deve ser feito de forma incremental, ou seja, as unidades devem ser integradas em pequenos segmentos
Este teste deve ser executado por um engenheiro de testes, com a formação de programador
Pessoa envolvida:
21/04/23 22
Verifica se a aplicação está funcionando como um todo
A integração dos componentes de software com o ambiente operacional similar ao de produção (hardware, pessoas e outros sistemas) é testada
Geralmente é um teste “caixa-preta”, executado por um testador de sistemas (idealmente membro de um grupo independente de testes)
21/04/23 23
Teste de “caixa-preta”, realizados pelo usuário (cliente) a fim de demonstrar a conformidade com os requisitos do software
Envolve treinamento, documentação e empacotamento
21/04/23 24
Testes alfa◦ Feitos pelo usuário, geralmente nas instalações
do desenvolvedor, que observa e registra erros ou problemas
Testes beta◦ Feitos pelo usuário, geralmente em suas próprias
instalações, sem a supervisão do desenvolvedor. Os problemas detectados devem ser relatados para o desenvolvedor.
21/04/23 25
Dúvidas???
21/04/23 26