Teste de Software. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Laboratório de Programação http://wylliams.wordpress.com



Documentos relacionados
Fundamentos em Teste de Software. Vinicius V. Pessoni

Engenharia de Software 1

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Testes de Software Aula 1

Engenharia de Software

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

1. Qual das seguintes alternativas não é um tipo de revisão? 2. Qual das alternativas é um atributo da qualidade?

PROJETO DE SISTEMAS. Professora Lucélia

Rede de Laboratórios de Produtividade de Software

ANÁLISE E PROJETO DE SISTEMAS

Engenharia de Software 1

COMO FAZER A TRANSIÇÃO

Engenharia de Software II

GARANTIA DA QUALIDADE DE SOFTWARE

Tipos de teste de software

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Desenvolvimento Ágil de Software

1. Introdução ao teste de software 2. Testes em um ciclo de vida de software 3. Especificado vs. Implementado 4. Preenchendo um modelo de

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Verificação e Validação

Alessandro Almeida 18/09/ Semestre de 2013 SIN-NA7

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Implementação. Quanto custa um erro de software?

ENGENHARIA CONFIABILIDADE DE SOFTWARE

Introdução a Computação

Artigo Os 6 Mitos Do Seis Sigma

Teste de Software. Profa. Cátia dos Reis Machado

Software é um produto conceitual e lógico. Software é mais complexo do que qualquer outro produto construídos por seres humanos

Análise e Projeto de Sistemas

Processo de Desenvolvimento de Software

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

Requisitos. Sistemas de Informações

SEGURANÇA E CONTROLE EM SISTEMAS DE INFORMAÇÃO

Desenvolvimento de Sistemas Tolerantes a Falhas

Engenharia da Web. Professor MSc Wylliams Barbosa Santos Disciplina: Projeto de Sistemas Web wylliams.wordpress.com

SEGURANÇA A E CONTROLE EM SISTEMAS DE INFORMAÇÃO

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema

Verificação é um processo para se determinar se os produtos, (executáveis ou

Gerenciamento de Problemas

Gerenciamento da Segurança Operacional GSO. Conceitos

Sistema de Gestão da Qualidade

Metodologia e Gerenciamento do Projeto na Fábrica de Software

Teste de Software. Profa. Cátia dos Reis Machado

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Engenharia de Software. Artigo revista Engenharia de Software, edição 30 (novembro 2010)

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

Estabelecer os procedimentos para o gerenciamento dos sistemas e demais aplicações informatizadas do TJAC.

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

Governança de TI. ITIL v.2&3 parte 2

COPPE/UFRJ. Ana Regina Rocha. Programa de Engenharia de Sistemas e Computação

FAQ Escrita de Cases

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

ENGENHARIA DE SOFTWARE

Análise e Projeto de Sistemas

Teste de Software. Rafael D. Ribeiro, M.Sc.

GRADUAÇÃO APRESENTAÇÃO E GRADE CURRICULAR DOS CURSOS PROCESSOS GERENCIAIS HORAS

Professor: Curso: Disciplina:

PODER JUDICIÁRIO TRIBUNAL DE JUSTIÇA DO ESTADO DO AMAZONAS DIVISÃO DE GESTÃO DA QUALIDADE

ISO/IEC 12207: Gerência de Configuração

PLANOS DE CONTINGÊNCIAS

Questionamento 3. Ano. Série. Nome do Aluno. Escola

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites

Introdução à Engenharia de Software. Prof.ª Erika E. Freire Miranda

Cálculo Numérico. ECA / 4 créditos / 60 h Introdução, Erros e Matlab. Ricardo Antonello.

Alessandro Almeida 23/04/ Semestre de 2013

O que é qualidade? Qualidade de Software (2011.0) Prof. Me. José Ricardo Mello Viana

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Organização e Arquitetura de Computadores

Introdução à ES - Continuação

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

Projeto de Sistemas I

CONHEÇA. nosso. processo. Para você lançar sua Startup. Semana de descoberta. Semana de desenvolvimento. E depois de tudo pronto?

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Como posso encontrar

Garantia da Qualidade de Software

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

TREINAMENTO E DESENVOLVIMENTO DE TALENTOS

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Pesquisa operacional:

PMBOK e Cobit - Uma Experiência na Reformulação de Sistemas em Angola Marcelo Etcheverry Torres,PMP,Cobit)

11/05/2015. Quem somos. Clientes BIM MERCADO & IMPLANTAÇÃO. Rogerio Suzuki Consultor BIM/4D/FM. O que oferecemos

Engenharia de Software II

Distribuidor de Mobilidade GUIA OUTSOURCING

3 Qualidade de Software

Engenharia de Software

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Interface Homem- Computador

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Módulo5. Módulo 5. Planejamento e realização de projeto de mapeamento e modelagem de processos, Responsabilidades, Atividades-chaves, Exercício

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

Service Level Management SLM. Gerenciamento de Níveis de Serviço

Conheça o que o SENAI EMPRESAS oferece para o seu negócio. Consultorias. Serviços Especializados. Eventos Técnicos. Serviços Laboratoriais

Transcrição:

Teste de Software Prof. Wylliams Barbosa Santos wylliamss@gmail.com Laboratório de Programação http://wylliams.wordpress.com

Agenda Fundamentos do Teste de Software Porque é necessário testar? O que é testar? Os sete Princípios do Teste Fundamentos do Processo de Teste A Psicologia do Teste Código de Ética

FUNDAMENTOS DE TESTE DE SOFTWARE 3

Porque é necessário testar? Ariane 5 Flight 501 (Custo do projeto: US$ 7B) é um foguete lançador descartável designado a colocar satélites artificiais em órbitas geoestacionárias e de enviar cargas para órbitas de baixa altitude. 4

Porque é necessário testar? Ariane 5 Flight 501 http://www.youtube.com/watch?v=kyurqduyepi 5

Porque é necessário testar? Therac-25 uma máquina de radioterapia, controlada por computador. Responsável por uma série de pelo menos 6 acidentes entre 1985 e 1987, nos quais os pacientes receberam overdose de radiação. Pelo menos cinco mortes aconteceram devido aos acidentes, causados por erros no software que controlava a máquina. 6

Porque é necessário testar? Mísseis Patriot Custo unitário: US$ 1-3 milhões Durante a guerra do Golf, na noite de 25 de Fevereiro de 1991, este sistema de defesa e detecção de ataques inimigos falhou, não conseguindo interceptar um míssil Scud lançado pela Arábia Saudita. O míssil iraquiano matou 28 militares americanos e feriu outros 98. Esta falha grave no sistema de defesa deveu-se a um erro de arredondamento. 7

Porque é necessário testar? Sistemas de software tornam-se cada vez mais parte do nosso dia-a-dia aplicações comerciais (ex.: bancos) produtos de consumo (ex.: carros). A maioria das pessoas já teve alguma experiência com um software que não funcionou como esperado. Softwares que não funcionam corretamente podem levar a muitos problemas, podendo, inclusive, chegar a influenciar na integridade das pessoas. 8

Causas dos defeitos de software Erro (error): é uma ação humana que produz um resultado incorreto. Defeito (fault): A manifestação de um erro no software Também conhecido como Bug Se executado, o defeito pode causar uma falha Falha (Failure): diferença indesejável entre o observado e o esperado. 9

Causas dos defeitos de software 10

O que é testar? Testar é analisar um programa com a intenção de descobrir erros e defeitos. (Myers) O teste de programas pode ser usado para mostrar a presença de defeitos, mas nunca para mostrar a sua ausência. (Dijkstra) 11

O que é testar? test. An activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component. IEEE (610.12 1990) 12

Os Sete Princípios do Teste Princípio #1: Teste demonstra a presença de defeitos O teste pode demonstrar a presença de defeitos, mas não pode provar que eles não existem. 13

Os Sete Princípios do Teste Princípio #2: Teste exaustivo é impossível Testar tudo (todas as combinações de entradas e précondições) não é viável, exceto para casos triviais. 14

Os Sete Princípios do Teste Princípio #3: Teste antecipado A atividade de teste deve começar o mais breve possível no ciclo de desenvolvimento do software e deve manter o foco em objetivos definidos. 15

Os Sete Princípios do Teste Princípio #4: Agrupamento de defeitos Um número pequeno de módulos contém a maioria dos defeitos descobertos durante o teste antes de sua entrega ou exibe a maioria das falhas operacionais. 16

Os Sete Princípios do Teste Princípio #5: Paradoxo do Pesticida testes que são repetidos várias vezes não encontram novos defeitos após um determinado momento. 17

Os Sete Princípios do Teste Princípio #6: Teste depende do contexto Testes são realizados de forma diferente conforme o contexto. Por exemplo, softwares de segurança crítica são testados diferentemente de um software de comércio eletrônico. 18

Os Sete Princípios do Teste Princípio #7: A ilusão da ausência de erros Encontrar e consertar defeitos não ajuda se o sistema construído não atende às expectativas e necessidades dos usuários. 19

Processo de Teste Processo de teste de software- atividades: 1. Planejamento e controle 2. Análise e modelagem 3. Implementação e execução 4. Avaliação dos critérios de saída e relatórios 5. Atividades de encerramento de teste 20

Processo de Teste 21

A Psicologia do Teste 30

A Psicologia do Teste A forma de pensar utilizada enquanto se está testando e revisando é diferente da utilizada enquanto se está analisando e desenvolvendo. Certo grau de independência pode representar uma forma eficiente de encontrar defeitos e falhas. Níveis de independência podem ser definidos como: Teste elaborado por quem escreveu o software que será testado (baixo nível de independência). Teste elaborado por outra(s) pessoa(s) (por exemplo, da equipe de desenvolvimento). Teste elaborado por pessoa(s) de um grupo organizacional diferente (ex.: equipe independente de teste). Teste elaborado por pessoa(s) de diferentes organizações ou empresas (terceirizada ou certificada por um órgão externo). 31

A Psicologia do Teste Identificar falhas durante o teste pode ser considerado uma crítica contra o produto e o autor (responsável pelo produto). (Teste é, nestes casos, visto como uma atividade destrutiva) Problemas de comunicação podem ocorrer, especialmente se os testadores forem vistos somente como mensageiros de más notícias ao informar os defeitos. 32

Código de Ética O envolvimento em teste de software permite que pessoas conheçam informações confidenciais e privilegiadas. Um código de ética é necessário, entre outros motivos, para garantir que a informação não é usada de forma inapropriada. 33

Referências Engenharia de Software Pressman 6º edição Teste de Software prof. Breno 34

35