SlideShare uma empresa Scribd logo
Teste de Software 
Rafael Sanches 
2013
2 
Introdução 
O que é Teste de Software(Visão Geral)? 
Princípios 
Técnicas 
Fases 
Ciclo de Vida 
Papéis 
Artefatos 
Conclusão 
Bibliografia
3 
O que é teste de Software ? 
• Investigação do Software. 
• Feed Back da sua qualidade do seu produto. 
• É um processo da Engenharia de Software. 
• Está envolvido desde o levantamento de requisitos até o teste 
propriamente dito feito. 
• inclui o processo de utilizar o produto para encontrar seus 
defeitos. 
• TDD(desenvolvimento dirigido por teste) Metodologia Ágil. 
• Refatoração.
4 
O que é teste de Software ? 
• É visto como uma parcela do processo de qualidade de software. 
• Você já Imaginou se o avião não fosse testado antes de voar ? 
• O problema de não testar antes 
• Ser pró ativo (agir antes de acontecer a falha) 
• Teste quantas vezes forem necessárias.
5 
O que é teste de Software ? 
• Os atributos qualitativos previstos na norma ISO 9126 são: 
1. Funcionalidade 
2. Confiabilidade 
3. Usabilidade 
4. Eficiência 
5. Manutenibilidade 
6. Portabilidade 
• O bom funcionamento do software envolve compará-lo com : 
1. Especificações(verificação do software) 
2. Softwares de mesma linha 
3. Versões anteriores do produto 
4. Inferências pessoais 
5. Expectativas do cliente(validação do software) 
6. Normas relevantes 
7. Leis aplicáveis
6 
O que é teste de Software ? 
• Para melhoria do processo de teste de software para ter qualidade é preciso: 
• Seguir uma metodologia de trabalho. 
• Curto prazo para entrega do produto atrapalha o produto. 
• Independente da sua metodologia para se entregar um produto final com : 
• Um certo nível de Qualidade !!! 
• É imprescindível a melhoria dos processos de engenharia de software. 
• Para melhorar esses processos utilize de modelos tais como: 
• exemplo os ISO/IEC 15504 
• E o mais conhecido CMMI.
7 
Princípios 
• O caso de teste deve definir a saída esperada, 
de forma a reduzir a interpretação do critério de sucesso. 
• A saída da execução do teste deve ser exaustivamente analisada. 
• Os casos de teste devem verificar não somente as: 
• Condições inválidas de execução, como também as condições válidas 
• Utilizar pessoas diferentes para a implementação e para a verificação 
• O Tester possui uma visão destrutiva do sistema, em busca de erros 
• O Desenvolvedor possui uma visão construtiva, 
em busca da implementação de uma especificação.
8 
Técnicas 
• Caixa Branca: 
1. Também chamada de teste estrutural ou orientado à lógica. 
2. Avalia o comportamento interno do componente de software. 
3. Essa técnica trabalha diretamente sobre o código fonte. 
4. Avaliar aspectos tais como (teste de condição, teste de fluxo de dados, 
teste de ciclos, teste de caminhos lógicos, códigos nunca executados. 
5. Este tipo de teste é desenvolvido analisando o código fonte. 
6. Elaborando casos de teste que cubram todas as possibilidades do 
componente de software. 
7. Dessa maneira, todas as variações relevantes 
originadas por estruturas de condições são testadas.
9 
Técnicas 
• Caixa Preta: 
1. Também chamada de teste funcional. 
2. Orientado a dado ou orientado a entrada e saída. 
3. Avalia o comportamento externo do componente de software. 
4. Sem se considerar o comportamento interno do mesmo. 
5. Fornece dados, executa o teste e então se compara o resultado. 
6. os casos de teste são todos derivados da especificação. 
7. Quanto mais entradas são fornecidas, mais rico será o teste.
10 
Técnicas 
• Caixa-cinza: 
1. É um mesclado do uso das técnicas de caixa-preta e de caixa-branca. 
2. Inclui também o uso de engenharia reversa . 
3. Para determinar por exemplo os limites superiores e inferiores das classes. 
4. Além de mensagens de erro.
11 
Técnicas 
• Regressão 
1. Essa é uma técnica de teste aplicável a uma nova versão de 
software. 
2. Necessidade de se executar um novo ciclo de teste durante o 
processo de desenvolvimento. 
3. Nesse contexto a observação de fases e técnicas de teste. 
4. Executar os testes anteriores para fazer comparações de resultados.
12 
Técnicas 
• Técnicas não funcionais 
1. Existem para testar aspectos não-funcionais do software. 
2. Exemplo: a adequação a restrições de negócio, adequação a normas, 
ou restrições tecnológicas. 
3. Técnicas não funcionais verificam atributos de um componente ou 
sistema que não se relacionam com a funcionalidade (por exemplo, 
confiabilidade, eficiência, usabilidade, manutenibilidade e portabilidade). 
4. Exemplo: Teste de desempenho e carga : verifica se o software 
consegue processar grandes quantidades de dados/Tempo de 
Execuções.
13 
Tipos de Teste(Fases) 
• Teste de Unidade 
1. Também conhecida como teste unitário ou teste de módulo. 
2. E a fase em que se testam as menores unidades de software 
desenvolvidas. 
3. O universo alvo desse tipo de teste são as subrotinas ou mesmo 
pequenos trechos de código. 
4. o objetivo é o de encontrar falhas de funcionamento dentro de uma 
pequena parte do sistema funcionando independentemente do todo.
14 
Tipos de Teste(Fases) 
• Teste de integração 
1. o objetivo é encontrar falhas provenientes da integração interna dos 
componentes de um sistema. 
2. Geralmente os tipos de falhas encontradas são de transmissão de dados. 
3. Por exemplo, um componente A pode estar aguardando o retorno de um 
valor X ao executar um método do componente B; porém, B pode retornar 
um valor Y, gerando uma falha.
15 
Tipos de Teste(Fases) 
• Teste de sistema 
1. O objetivo é executar o sistema sob ponto de vista de seu usuário final. 
2. Varrer as funcionalidades em busca de falhas em relação aos objetivos 
originais. 
3. Os testes são executados em condições similares – de ambiente, 
interfaces sistêmicas e massas de dados. 
4. Àquelas que um usuário utilizará no seu dia-a-dia de manipulação do 
sistema
16 
Tipos de Teste(Fases) 
• Teste de aceitação 
1. Realizados por um grupo restrito de usuários finais do sistema. 
2. Simulam operações de rotina do sistema. 
3. Verificam se seu comportamento está de acordo com o solicitado. 
4. Validação de um software pelo comprador, pelo usuário ou por terceira 
parte. 
5. uso de dados ou cenários especificados ou reais. 
6. Pode incluir testes funcionais, de configuração, de recuperação de falhas, 
de segurança e de desempenho.
17 
Tipos de Teste(Fases) 
• Teste de operação 
1. é conduzido pelos administradores do ambiente final em que o sistema ou 
software entrará em ambiente produtivo. 
2. Nessa fase de teste devem ser feitas simulações para garantir que a 
entrada em produção do sistema será bem sucedida. 
3. Envolve testes de instalação, simulações com cópia de segurança dos 
bancos de dados, etc.. 
4. necessário garantir que o novo sistema continuará garantindo o suporte 
ao negócio.
18 
Tipos de Teste(Fases) 
• Testes alfa e beta 
1. O período entre o término do desenvolvimento e a entrega é conhecido 
como fase alfa. 
2. O teste alfa é conduzido pelo cliente no ambiente do desenvolvedor, com 
este "olhando sobre o ombro" do usuário e registrando erros e problemas 
de uso. 
3. Completada a fase alfa de testes, são lançadas a grupos restritos de 
usuários, versões de teste do sistema denominadas versões beta. 
4. Diferente do teste alfa, o desenvolvedor geralmente não está presente. 
5. O cliente registra todos os problemas (reais ou imaginários) que são 
encontrados durante o teste beta e os relata ao desenvolvedor em 
intervalos regulares.
19 
O Ciclo de Vida dos Testes 
• O Ciclo de Vida dos Testes é composto de 5 fases: Planejamento, 
Preparação, Especificação, Execução e Entrega. 
1. Planejamento: Nesta fase é elaborada a Estratégia de Teste e o Plano de 
Teste. 
2. Preparação: O objetivo desta fase é preparar o Ambiente de Teste 
(equipamentos, pessoal, ferramentas de automação, massa de testes) 
para que os testes sejam executados conforme planejados. 
3. Especificação: Nesta fase temos as seguintes atividades: Elaborar/ 
Revisar casos de testes e Elaborar/ Revisar roteiros de testes. 
4. Execução: Os testes são executados e registrado os resultados obtidos. 
5. Entrega: Esta é a última fase do ciclo de vida de testes, onde o projeto é 
finalizado e toda documentação é finalizada e arquivada.
20 
Papéis 
1. O líder (ou gerente) do projeto de testes: 
É a pessoa responsável pela liderança de um projeto de teste específico, 
normalmente relacionado a um sistema de desenvolvimento, seja um projeto 
novo ou uma manutenção 
2. Engenheiro (ou arquiteto) de testes: 
É o técnico responsável pelo levantamento de necessidades relacionadas à 
montagem da infraestrutura de teste, incluindo-se o ambiente de teste, a 
arquitetura de solução, as restrições tecnológicas, as ferramentas de teste. 
É também responsável pela liderança técnica do trabalho de teste e pela 
comunicação entre a equipe de teste e a equipe de projeto (ou equipe de 
desenvolvimento). 
3. O analista de teste: 
É o técnico responsável pela operacionalização do processo de teste. 
Segue os comandos do arquiteto.
21 
Papéis 
4. Analista de Ambiente: 
Técnico responsável pela configuração do ambiente de teste e pela aplicação 
das ferramentas necessárias para tal. Esse profissional deve ser 
especializado em arquiteturas de solução e nos sistemas operacionais e 
softwares de infraestrutura que regem o ambiente. 
5. O Testador: 
É o técnico responsável pela execução de teste. Ele deve observar as 
condições de teste e respectivos passos de teste documentados pelo analista 
de teste e evidenciar os resultados de execução. 
6. Automatizador de Teste: 
Responsável pela automação de situações de teste em ferramentas. 
Ele deve observar as condições de teste e respectivos passos de teste 
documentados pelo analista de teste e automatizar a execução desses testes 
na ferramenta utilizada.
22 
Artefatos 
O processo de teste de software pode produzir diversos artefatos !!! 
O caso de teste geralmente consiste de uma referência a um identificador ou : 
• requisito de uma especificação, 
• pré-condições, 
• eventos, 
• uma série de passos a se seguir, 
• uma entrada de dados, 
• uma saída de dados, 
• resultado esperado e resultado obtido. 
A série de passos (ou parte dela) pode estar contida num procedimento 
separado, para que possa ser compartilhada por mais de um caso de teste.
23 
Conclusão 
Para se ter um produto de qualidade você deve : 
1.Ter uma equipe que saiba se comunicar. 
2.Manter o cliente próximo do projeto para se ter um melhor entendimento. 
3.Utilizar dos recursos de engenharia de software. 
4.Utilizar um padrão para que você não fique perdido. 
5.Utilizar dos modelos de qualidade(ex:CMMI) existentes para se ter uma 
base de o que se fazer para se ter mais qualidade. 
6.Por ultimo é muito importante sempre testar o que é feito para se ter um 
produto final com qualidade.
24 
Referências 
MYERS, 2004, p. 8 
MYERS, 2004, p. 5 
Michael Newman (28 de junho de 2002). 
Software Errors Cost U.S. Economy $59.5 Billion Annually: NIST Assesses Technical (em inglês). NIST. Página visitada em 17 de novembro de 2008. 
MYERS, 2004, p. 9 
MYERS, 2004, p. 10 
Jiantao Pan (1999). Software Testing (em inglês). Universidade Carnegie 
Mellon. Página visitada em 1 de dezembro de 2008. 
James Bach (Junho de 1999). Risk and Requirements-Based Testing (em 
inglês). IEEE. Página visitada em 17 de novembro de 2008. 
MYERS, 2004, p. 136 
MYERS, 2004, p. 91 
PRESSMAN, R. S., McGraw Hill, Engenharia de Software, 2002
25 
Bibliografias 
KOSCIANSKI, A., Soares, Novatec, M. S. Qualidade de Software, 2006 
PRESSMAN, R. S., McGraw Hill, Engenharia de Software, 2002 
MYERS, Glenford J., John Wiley & Sons, The Art of Software Testing, 2, 
Nova Jérsei: 2004. ISBN ISBN 0-471-46912-2

Mais conteúdo relacionado

Mais procurados

Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
Isaias Silva
 
Ferramentas para testes de software
Ferramentas para testes de softwareFerramentas para testes de software
Ferramentas para testes de software
Norton Guimarães
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
Sandy Maciel
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
Camilo Ribeiro
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSI
Monnalisa Medeiros
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
Qualister
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
rzauza
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
Camilo Almendra
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
Fabrício Campos
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
Fabrício Campos
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
Joeldson Costa Damasceno
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
Elaine Cecília Gatto
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
Qualister
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
Vanilton Pinheiro
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
Leonardo Melo Santos
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
Elias Nogueira
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Elias Nogueira
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
Holasz Kati
 

Mais procurados (20)

Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Ferramentas para testes de software
Ferramentas para testes de softwareFerramentas para testes de software
Ferramentas para testes de software
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSI
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
 

Destaque

Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
UFPA
 
Testes de software
Testes de softwareTestes de software
Testes de software
Fernando Palma
 
Análise de vizinhança de mapas conceituais
Análise de vizinhança de mapas conceituaisAnálise de vizinhança de mapas conceituais
Análise de vizinhança de mapas conceituais
Paulo Correia
 
Aula 2 empresa missão visão produto
Aula 2   empresa missão visão produtoAula 2   empresa missão visão produto
Aula 2 empresa missão visão produto
PatriciaFlrn
 
Aula missão
Aula missãoAula missão
Aula missão
PROF. SHASTIN
 
Aula 7 - Projeto de Produto
Aula 7 - Projeto de ProdutoAula 7 - Projeto de Produto
Aula 7 - Projeto de Produto
Tiago Cruz
 
Processo de Teste de Software - Monografia
Processo de Teste de Software - MonografiaProcesso de Teste de Software - Monografia
Processo de Teste de Software - Monografia
Rodrigo Kammers
 
Unidade 7 - novas ferramentas de gestão
Unidade 7  - novas ferramentas de gestãoUnidade 7  - novas ferramentas de gestão
Unidade 7 - novas ferramentas de gestão
Daniel Moura
 
Ferramentas de gestão
Ferramentas de gestãoFerramentas de gestão
Ferramentas de gestão
Felipe Melo
 
Missão visão e valores
Missão visão e valoresMissão visão e valores
Missão visão e valores
Marcos Araujo
 
Benchmarking: O que é e como fazer
Benchmarking: O que é e como fazerBenchmarking: O que é e como fazer
Benchmarking: O que é e como fazer
Mateada
 
Engenharia De MéTodos Conceitos
Engenharia De MéTodos ConceitosEngenharia De MéTodos Conceitos
Engenharia De MéTodos Conceitos
Alexandre Bonifacio Silva
 
Missão e Visão
Missão e VisãoMissão e Visão
Missão e Visão
alemartins10
 
Aula 3 missão visão e valores
Aula 3   missão visão e valoresAula 3   missão visão e valores
Aula 3 missão visão e valores
Isabella Nogueira
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
ETEIT - Escola Técnica da Univale
 
Guia para implementação de visão, missão e valores em um projeto
Guia para implementação de visão, missão e valores em um projetoGuia para implementação de visão, missão e valores em um projeto
Guia para implementação de visão, missão e valores em um projeto
Stefania Resende Pires
 
Trabalho de Benchmarking - 4º ano Administração
Trabalho de Benchmarking - 4º ano AdministraçãoTrabalho de Benchmarking - 4º ano Administração
Trabalho de Benchmarking - 4º ano Administração
carolinehelen
 
Elaboração de projetos acadêmicos
Elaboração de projetos acadêmicosElaboração de projetos acadêmicos
Elaboração de projetos acadêmicos
Cursos Profissionalizantes
 
Modelo do Processo de Desenvolvimento de Produtos
Modelo do Processo de Desenvolvimento de ProdutosModelo do Processo de Desenvolvimento de Produtos
Modelo do Processo de Desenvolvimento de Produtos
Marcel Gois
 
Missão, Visão e Valores
Missão, Visão e ValoresMissão, Visão e Valores
Missão, Visão e Valores
Alexandre Rimolo
 

Destaque (20)

Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Análise de vizinhança de mapas conceituais
Análise de vizinhança de mapas conceituaisAnálise de vizinhança de mapas conceituais
Análise de vizinhança de mapas conceituais
 
Aula 2 empresa missão visão produto
Aula 2   empresa missão visão produtoAula 2   empresa missão visão produto
Aula 2 empresa missão visão produto
 
Aula missão
Aula missãoAula missão
Aula missão
 
Aula 7 - Projeto de Produto
Aula 7 - Projeto de ProdutoAula 7 - Projeto de Produto
Aula 7 - Projeto de Produto
 
Processo de Teste de Software - Monografia
Processo de Teste de Software - MonografiaProcesso de Teste de Software - Monografia
Processo de Teste de Software - Monografia
 
Unidade 7 - novas ferramentas de gestão
Unidade 7  - novas ferramentas de gestãoUnidade 7  - novas ferramentas de gestão
Unidade 7 - novas ferramentas de gestão
 
Ferramentas de gestão
Ferramentas de gestãoFerramentas de gestão
Ferramentas de gestão
 
Missão visão e valores
Missão visão e valoresMissão visão e valores
Missão visão e valores
 
Benchmarking: O que é e como fazer
Benchmarking: O que é e como fazerBenchmarking: O que é e como fazer
Benchmarking: O que é e como fazer
 
Engenharia De MéTodos Conceitos
Engenharia De MéTodos ConceitosEngenharia De MéTodos Conceitos
Engenharia De MéTodos Conceitos
 
Missão e Visão
Missão e VisãoMissão e Visão
Missão e Visão
 
Aula 3 missão visão e valores
Aula 3   missão visão e valoresAula 3   missão visão e valores
Aula 3 missão visão e valores
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Guia para implementação de visão, missão e valores em um projeto
Guia para implementação de visão, missão e valores em um projetoGuia para implementação de visão, missão e valores em um projeto
Guia para implementação de visão, missão e valores em um projeto
 
Trabalho de Benchmarking - 4º ano Administração
Trabalho de Benchmarking - 4º ano AdministraçãoTrabalho de Benchmarking - 4º ano Administração
Trabalho de Benchmarking - 4º ano Administração
 
Elaboração de projetos acadêmicos
Elaboração de projetos acadêmicosElaboração de projetos acadêmicos
Elaboração de projetos acadêmicos
 
Modelo do Processo de Desenvolvimento de Produtos
Modelo do Processo de Desenvolvimento de ProdutosModelo do Processo de Desenvolvimento de Produtos
Modelo do Processo de Desenvolvimento de Produtos
 
Missão, Visão e Valores
Missão, Visão e ValoresMissão, Visão e Valores
Missão, Visão e Valores
 

Semelhante a Teste de software

4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
Felipe Bugov
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
testedesoftwarepe
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
Mário Pravato Junior
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
Roberto Nunes
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
Cloves da Rocha
 
Eng de testes
Eng de testesEng de testes
Eng de testes
GrupoAlves - professor
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
Felipe Bugov
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Wagner Zaparoli
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
Aline Zanin
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
DevInPF
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
RodolphoCesar2
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
João Lourenço
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
Adilmar Dantas
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
Webcasts developerWorks Brasil
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Domingos Teruel
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
Bárbara Cabral da Conceição, CTFL
 
Apresentação- Testes Manuais e Testes Automátizados.pptx
Apresentação- Testes Manuais e Testes Automátizados.pptxApresentação- Testes Manuais e Testes Automátizados.pptx
Apresentação- Testes Manuais e Testes Automátizados.pptx
PatricaNascimento1
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Claudinei Brito Junior
 
Ciclo de vida de testes implementado v2
Ciclo de vida de testes implementado   v2Ciclo de vida de testes implementado   v2
Ciclo de vida de testes implementado v2
douglasdc7m
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
João Lourenço
 

Semelhante a Teste de software (20)

4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Eng de testes
Eng de testesEng de testes
Eng de testes
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
 
Apresentação- Testes Manuais e Testes Automátizados.pptx
Apresentação- Testes Manuais e Testes Automátizados.pptxApresentação- Testes Manuais e Testes Automátizados.pptx
Apresentação- Testes Manuais e Testes Automátizados.pptx
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Ciclo de vida de testes implementado v2
Ciclo de vida de testes implementado   v2Ciclo de vida de testes implementado   v2
Ciclo de vida de testes implementado v2
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 

Teste de software

  • 1. Teste de Software Rafael Sanches 2013
  • 2. 2 Introdução O que é Teste de Software(Visão Geral)? Princípios Técnicas Fases Ciclo de Vida Papéis Artefatos Conclusão Bibliografia
  • 3. 3 O que é teste de Software ? • Investigação do Software. • Feed Back da sua qualidade do seu produto. • É um processo da Engenharia de Software. • Está envolvido desde o levantamento de requisitos até o teste propriamente dito feito. • inclui o processo de utilizar o produto para encontrar seus defeitos. • TDD(desenvolvimento dirigido por teste) Metodologia Ágil. • Refatoração.
  • 4. 4 O que é teste de Software ? • É visto como uma parcela do processo de qualidade de software. • Você já Imaginou se o avião não fosse testado antes de voar ? • O problema de não testar antes • Ser pró ativo (agir antes de acontecer a falha) • Teste quantas vezes forem necessárias.
  • 5. 5 O que é teste de Software ? • Os atributos qualitativos previstos na norma ISO 9126 são: 1. Funcionalidade 2. Confiabilidade 3. Usabilidade 4. Eficiência 5. Manutenibilidade 6. Portabilidade • O bom funcionamento do software envolve compará-lo com : 1. Especificações(verificação do software) 2. Softwares de mesma linha 3. Versões anteriores do produto 4. Inferências pessoais 5. Expectativas do cliente(validação do software) 6. Normas relevantes 7. Leis aplicáveis
  • 6. 6 O que é teste de Software ? • Para melhoria do processo de teste de software para ter qualidade é preciso: • Seguir uma metodologia de trabalho. • Curto prazo para entrega do produto atrapalha o produto. • Independente da sua metodologia para se entregar um produto final com : • Um certo nível de Qualidade !!! • É imprescindível a melhoria dos processos de engenharia de software. • Para melhorar esses processos utilize de modelos tais como: • exemplo os ISO/IEC 15504 • E o mais conhecido CMMI.
  • 7. 7 Princípios • O caso de teste deve definir a saída esperada, de forma a reduzir a interpretação do critério de sucesso. • A saída da execução do teste deve ser exaustivamente analisada. • Os casos de teste devem verificar não somente as: • Condições inválidas de execução, como também as condições válidas • Utilizar pessoas diferentes para a implementação e para a verificação • O Tester possui uma visão destrutiva do sistema, em busca de erros • O Desenvolvedor possui uma visão construtiva, em busca da implementação de uma especificação.
  • 8. 8 Técnicas • Caixa Branca: 1. Também chamada de teste estrutural ou orientado à lógica. 2. Avalia o comportamento interno do componente de software. 3. Essa técnica trabalha diretamente sobre o código fonte. 4. Avaliar aspectos tais como (teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos, códigos nunca executados. 5. Este tipo de teste é desenvolvido analisando o código fonte. 6. Elaborando casos de teste que cubram todas as possibilidades do componente de software. 7. Dessa maneira, todas as variações relevantes originadas por estruturas de condições são testadas.
  • 9. 9 Técnicas • Caixa Preta: 1. Também chamada de teste funcional. 2. Orientado a dado ou orientado a entrada e saída. 3. Avalia o comportamento externo do componente de software. 4. Sem se considerar o comportamento interno do mesmo. 5. Fornece dados, executa o teste e então se compara o resultado. 6. os casos de teste são todos derivados da especificação. 7. Quanto mais entradas são fornecidas, mais rico será o teste.
  • 10. 10 Técnicas • Caixa-cinza: 1. É um mesclado do uso das técnicas de caixa-preta e de caixa-branca. 2. Inclui também o uso de engenharia reversa . 3. Para determinar por exemplo os limites superiores e inferiores das classes. 4. Além de mensagens de erro.
  • 11. 11 Técnicas • Regressão 1. Essa é uma técnica de teste aplicável a uma nova versão de software. 2. Necessidade de se executar um novo ciclo de teste durante o processo de desenvolvimento. 3. Nesse contexto a observação de fases e técnicas de teste. 4. Executar os testes anteriores para fazer comparações de resultados.
  • 12. 12 Técnicas • Técnicas não funcionais 1. Existem para testar aspectos não-funcionais do software. 2. Exemplo: a adequação a restrições de negócio, adequação a normas, ou restrições tecnológicas. 3. Técnicas não funcionais verificam atributos de um componente ou sistema que não se relacionam com a funcionalidade (por exemplo, confiabilidade, eficiência, usabilidade, manutenibilidade e portabilidade). 4. Exemplo: Teste de desempenho e carga : verifica se o software consegue processar grandes quantidades de dados/Tempo de Execuções.
  • 13. 13 Tipos de Teste(Fases) • Teste de Unidade 1. Também conhecida como teste unitário ou teste de módulo. 2. E a fase em que se testam as menores unidades de software desenvolvidas. 3. O universo alvo desse tipo de teste são as subrotinas ou mesmo pequenos trechos de código. 4. o objetivo é o de encontrar falhas de funcionamento dentro de uma pequena parte do sistema funcionando independentemente do todo.
  • 14. 14 Tipos de Teste(Fases) • Teste de integração 1. o objetivo é encontrar falhas provenientes da integração interna dos componentes de um sistema. 2. Geralmente os tipos de falhas encontradas são de transmissão de dados. 3. Por exemplo, um componente A pode estar aguardando o retorno de um valor X ao executar um método do componente B; porém, B pode retornar um valor Y, gerando uma falha.
  • 15. 15 Tipos de Teste(Fases) • Teste de sistema 1. O objetivo é executar o sistema sob ponto de vista de seu usuário final. 2. Varrer as funcionalidades em busca de falhas em relação aos objetivos originais. 3. Os testes são executados em condições similares – de ambiente, interfaces sistêmicas e massas de dados. 4. Àquelas que um usuário utilizará no seu dia-a-dia de manipulação do sistema
  • 16. 16 Tipos de Teste(Fases) • Teste de aceitação 1. Realizados por um grupo restrito de usuários finais do sistema. 2. Simulam operações de rotina do sistema. 3. Verificam se seu comportamento está de acordo com o solicitado. 4. Validação de um software pelo comprador, pelo usuário ou por terceira parte. 5. uso de dados ou cenários especificados ou reais. 6. Pode incluir testes funcionais, de configuração, de recuperação de falhas, de segurança e de desempenho.
  • 17. 17 Tipos de Teste(Fases) • Teste de operação 1. é conduzido pelos administradores do ambiente final em que o sistema ou software entrará em ambiente produtivo. 2. Nessa fase de teste devem ser feitas simulações para garantir que a entrada em produção do sistema será bem sucedida. 3. Envolve testes de instalação, simulações com cópia de segurança dos bancos de dados, etc.. 4. necessário garantir que o novo sistema continuará garantindo o suporte ao negócio.
  • 18. 18 Tipos de Teste(Fases) • Testes alfa e beta 1. O período entre o término do desenvolvimento e a entrega é conhecido como fase alfa. 2. O teste alfa é conduzido pelo cliente no ambiente do desenvolvedor, com este "olhando sobre o ombro" do usuário e registrando erros e problemas de uso. 3. Completada a fase alfa de testes, são lançadas a grupos restritos de usuários, versões de teste do sistema denominadas versões beta. 4. Diferente do teste alfa, o desenvolvedor geralmente não está presente. 5. O cliente registra todos os problemas (reais ou imaginários) que são encontrados durante o teste beta e os relata ao desenvolvedor em intervalos regulares.
  • 19. 19 O Ciclo de Vida dos Testes • O Ciclo de Vida dos Testes é composto de 5 fases: Planejamento, Preparação, Especificação, Execução e Entrega. 1. Planejamento: Nesta fase é elaborada a Estratégia de Teste e o Plano de Teste. 2. Preparação: O objetivo desta fase é preparar o Ambiente de Teste (equipamentos, pessoal, ferramentas de automação, massa de testes) para que os testes sejam executados conforme planejados. 3. Especificação: Nesta fase temos as seguintes atividades: Elaborar/ Revisar casos de testes e Elaborar/ Revisar roteiros de testes. 4. Execução: Os testes são executados e registrado os resultados obtidos. 5. Entrega: Esta é a última fase do ciclo de vida de testes, onde o projeto é finalizado e toda documentação é finalizada e arquivada.
  • 20. 20 Papéis 1. O líder (ou gerente) do projeto de testes: É a pessoa responsável pela liderança de um projeto de teste específico, normalmente relacionado a um sistema de desenvolvimento, seja um projeto novo ou uma manutenção 2. Engenheiro (ou arquiteto) de testes: É o técnico responsável pelo levantamento de necessidades relacionadas à montagem da infraestrutura de teste, incluindo-se o ambiente de teste, a arquitetura de solução, as restrições tecnológicas, as ferramentas de teste. É também responsável pela liderança técnica do trabalho de teste e pela comunicação entre a equipe de teste e a equipe de projeto (ou equipe de desenvolvimento). 3. O analista de teste: É o técnico responsável pela operacionalização do processo de teste. Segue os comandos do arquiteto.
  • 21. 21 Papéis 4. Analista de Ambiente: Técnico responsável pela configuração do ambiente de teste e pela aplicação das ferramentas necessárias para tal. Esse profissional deve ser especializado em arquiteturas de solução e nos sistemas operacionais e softwares de infraestrutura que regem o ambiente. 5. O Testador: É o técnico responsável pela execução de teste. Ele deve observar as condições de teste e respectivos passos de teste documentados pelo analista de teste e evidenciar os resultados de execução. 6. Automatizador de Teste: Responsável pela automação de situações de teste em ferramentas. Ele deve observar as condições de teste e respectivos passos de teste documentados pelo analista de teste e automatizar a execução desses testes na ferramenta utilizada.
  • 22. 22 Artefatos O processo de teste de software pode produzir diversos artefatos !!! O caso de teste geralmente consiste de uma referência a um identificador ou : • requisito de uma especificação, • pré-condições, • eventos, • uma série de passos a se seguir, • uma entrada de dados, • uma saída de dados, • resultado esperado e resultado obtido. A série de passos (ou parte dela) pode estar contida num procedimento separado, para que possa ser compartilhada por mais de um caso de teste.
  • 23. 23 Conclusão Para se ter um produto de qualidade você deve : 1.Ter uma equipe que saiba se comunicar. 2.Manter o cliente próximo do projeto para se ter um melhor entendimento. 3.Utilizar dos recursos de engenharia de software. 4.Utilizar um padrão para que você não fique perdido. 5.Utilizar dos modelos de qualidade(ex:CMMI) existentes para se ter uma base de o que se fazer para se ter mais qualidade. 6.Por ultimo é muito importante sempre testar o que é feito para se ter um produto final com qualidade.
  • 24. 24 Referências MYERS, 2004, p. 8 MYERS, 2004, p. 5 Michael Newman (28 de junho de 2002). Software Errors Cost U.S. Economy $59.5 Billion Annually: NIST Assesses Technical (em inglês). NIST. Página visitada em 17 de novembro de 2008. MYERS, 2004, p. 9 MYERS, 2004, p. 10 Jiantao Pan (1999). Software Testing (em inglês). Universidade Carnegie Mellon. Página visitada em 1 de dezembro de 2008. James Bach (Junho de 1999). Risk and Requirements-Based Testing (em inglês). IEEE. Página visitada em 17 de novembro de 2008. MYERS, 2004, p. 136 MYERS, 2004, p. 91 PRESSMAN, R. S., McGraw Hill, Engenharia de Software, 2002
  • 25. 25 Bibliografias KOSCIANSKI, A., Soares, Novatec, M. S. Qualidade de Software, 2006 PRESSMAN, R. S., McGraw Hill, Engenharia de Software, 2002 MYERS, Glenford J., John Wiley & Sons, The Art of Software Testing, 2, Nova Jérsei: 2004. ISBN ISBN 0-471-46912-2