SSC5877 Validação Verificação e Teste de Software
|
|
|
- Luísa Carrilho de Miranda
- 8 Há anos
- Visualizações:
Transcrição
1 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 1/4 SSC5877 Validação Verificação e Teste de Software Introdução Prof. Marcio E. Delamaro [email protected]
2 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 2/4 Motivação Estudos mostram Praticamente todos os módulos de um software possuem defeitos durante o desenvolvimento Após a liberação 40% estão livres de defeitos É praticamente impossível liberar software sem defeito
3 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 2/4 Motivação Estudos mostram Praticamente todos os módulos de um software possuem defeitos durante o desenvolvimento Após a liberação 40% estão livres de defeitos É praticamente impossível liberar software sem defeito Interesse crescente na atividade de teste principalmente pela crescente demanda por software de alta qualidade
4 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 2/4 Motivação Estudos mostram Praticamente todos os módulos de um software possuem defeitos durante o desenvolvimento Após a liberação 40% estão livres de defeitos É praticamente impossível liberar software sem defeito Interesse crescente na atividade de teste principalmente pela crescente demanda por software de alta qualidade Grupos de pesquisa em teste de software proliferam no mundo
5 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 2/4 Motivação Estudos mostram Praticamente todos os módulos de um software possuem defeitos durante o desenvolvimento Após a liberação 40% estão livres de defeitos É praticamente impossível liberar software sem defeito Interesse crescente na atividade de teste principalmente pela crescente demanda por software de alta qualidade Grupos de pesquisa em teste de software proliferam no mundo Vagas na indústria para engenheiros de teste se multiplicam
6 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 3/4 O que é teste? Forma de procurar garantir que o produto de software atende aos requisitos que foram definidos para ele. Correção, desempenho, segurança, etc
7 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 3/4 O que é teste? Forma de procurar garantir que o produto de software atende aos requisitos que foram definidos para ele. Correção, desempenho, segurança, etc Não é a única forma mas talvez a mais importante
8 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 3/4 O que é teste? Forma de procurar garantir que o produto de software atende aos requisitos que foram definidos para ele. Correção, desempenho, segurança, etc Não é a única forma mas talvez a mais importante De acordo com IEEE Standard Glossary (R 2002) The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component
9 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 4/4 Engenheiros de software são abençoados Ver filme
10 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 4/4 Engenheiros de software são abençoados Ver filme Temos a chance de testar nosso produto antes que ele seja usado
11 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 4/4 Engenheiros de software são abençoados Ver filme Temos a chance de testar nosso produto antes que ele seja usado Basta fazê-lo direito
12 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 4/4 Engenheiros de software são abençoados Ver filme Temos a chance de testar nosso produto antes que ele seja usado Basta fazê-lo direito O que não é tão simples assim Therac 25 Ariane 5 Pathfinder rover Satélite Phobos II Airbus 320 Varsóvia
13 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 5/4 O que é teste S(P) D(P) T P Sucesso ou Falha
14 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 6/4 Algumas definições S(P) D(P) T P Sucesso ou Falha
15 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 6/4 Algumas definições S(P) D(P) T P Sucesso ou Falha Dado de teste
16 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 6/4 Algumas definições S(P) D(P) T P Sucesso ou Falha Dado de teste Caso de teste
17 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 6/4 Algumas definições S(P) D(P) T P Sucesso ou Falha Dado de teste Caso de teste Oráculo
18 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 6/4 Algumas definições S(P) D(P) T P Sucesso ou Falha Domínio de entrada Dado de teste Caso de teste Oráculo
19 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 6/4 Algumas definições Conjunto de teste S(P) D(P) T P Sucesso ou Falha Domínio de entrada Dado de teste Caso de teste Oráculo
20 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 7/4 Desafios do Teste Alguém já testou algum produto de software? Quais foram os maiores desafios? Alguns problemas comuns são: Não há tempo para o teste exaustivo. Muitas combinações de entrada para serem exercitadas. Dificuldade em determinar os resultados esperados para cada caso de teste. Requisitos do software inexistentes ou que mudam rapidamente. Não há tempo suficiente para o teste. Não há treinamento no processo de teste. Não há ferramenta de apoio. Gerentes que desconhecem teste ou que não se preocupam com qualidade.
21 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 8/4 Partes de um Caso de Teste Um caso de teste bem projetado é dividido em três partes: Entradas (inputs); Saídas Esperadas (outputs); Ordem de execução (order of execution).
22 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 9/4 Entradas Geralmente identificadas como dados fornecidos via teclado para o programa executar. Entretanto, os dados de entrada podem ser fornecidos por outros meios, tais como: Dados oriundos de outro sistema que servem de entrada para o programa em teste; Dados fornecidos por outro dispositivo; Dados lidos de arquivos ou banco de dados; O estado do sistema quando os dados são recebidos; O ambiente no qual o programa está executando.
23 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 10/4 Saídas As saídas também podem ser produzidas de diferentes formas. A mais comum é aquele apresentada na tela do computador. Além dessa, as saídas podem ser enviadas para: Outro sistema interagindo com o programa em teste; Dados enviados para um dispositivo externo; Dados escritos em arquivos ou banco de dados; O estado do sistema ou o ambiente de execução podem ser alterados durante a execução do programa.
24 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 11/4 Oráculo Todas as formas de entrada e saída são relevantes. Durante o projeto de um caso de teste, determinar correção da saída esperada é função do oráculo (oracle). Oráculo corresponde a um mecanismo (programa, processo ou dados) que indica ao projetista de casos de testes a saída obtida para um caso de teste é aceitável ou não.
25 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 12/4 Oráculo (2) Beizer (1990) lista cinco tipos de oráculos: Oráculo Kiddie - simplesmente execute o programa e observe sua saída. Se ela parecer correta deve estar correta. Conjunto de Teste de Regressão - execute o programa e compare a saída obtida com a saída produzida por uma versão mais antiga do programa. Validação de Dados - execute o programa e compare a saída obtida com uma saída padrão determinada por uma tabela, fórmula ou outra definição aceitável de saída válida. Conjunto de Teste Padrão - execute o programa com um conjunto de teste padrão que tenha sido previamente criado e validado. Utilizado na validação de compiladores, navegadores Web e processadores de SQL. Programa existente - execute o programa em teste e o programa existente com o mesmo caso de teste e compare as saídas. Semelhante ao teste de regressão.
26 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 13/4 Ordem de Execução Existem dois estilos de projeto de casos de teste relacionados com a ordem de execução: Casos de teste em cascata. Casos de teste independentes.
27 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 14/4 Ordem de execução (2) Casos de teste em cascata - quando os casos de teste devem ser executados um após o outro, em uma ordem específica. O estado do sistema deixado pelo primeiro caso de teste é reaproveitado pelo segundo e assim sucessivamente. Por exemplo, considere o teste de uma base de dados: criar um registro ler um registro atualizar um registro ler um registro apagar um registro ler o registro apagado
28 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 15/4 Ordem de execução (3) Vantagem - casos de testes tendem a ser pequenos e simples. Fáceis de serem projetados, criados e mantidos. Desvantagem - se um caso de teste falhar os casos de teste subseqüentes também podem falhar.
29 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 16/4 Ordem de execução (4) Casos de teste independentes - Cada caso de teste é inteiramente autocontido. Vantagem - casos de teste podem ser executados em qualquer ordem. Desvantagem - casos de teste tendem a ser grandes e complexos, mais difíceis de serem projetados, criados e mantidos.
30 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 17/4 Tipos de Teste (1) Diferentes tipos de testes podem ser utilizados para verificar se um programa se comporta como o especificado. Basicamente, os testes podem ser classificados em teste funcional, teste estrutural ou teste baseado em defeito. Esses tipos de teste correspondem às chamadas técnicas de teste.
31 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 18/4 Tipos de Teste (2) A técnica de teste é definida pelo tipo de informação utilizada para realizar o teste. Técnica funcional - os testes são baseados exclusivamente na especificação de requisitos do programa. Nenhum conhecimento de como o programa está implementado é requerido. Técnica estrutural - os testes são baseados na estrutura interna do programa, ou seja, na implementação do mesmo. Técnica baseada em defeito - os testes são baseados em informações histórica sobre defeitos cometidos freqüentemente durante o processo de desenvolvimento de software.
32 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 19/4 Tipos de Teste (3) Cada técnica de teste possui um conjunto de critérios de teste. Os critérios sistematizam a forma como requisitos de teste devem ser produzidos a partir da fonte de informação disponível (especificação de requisitos, código fonte, histórico de defeitos, dentre outras). Os requisitos de teste são utilizados para: Gerar casos de teste. Avaliar a qualidade de um conjunto de teste existente.
33 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 20/4 Técnicas, Critérios e Requisitos de Teste Técnica de Teste tem Critérios de Teste define Fonte de Informação usam derivam Requisitos de Teste avaliação geração Casos de Teste Termos utilizados na área de teste e seus relacionamentos
34 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 21/4 Fases de teste (1) A atividade de teste também é dividida em fases, conforme outras atividades de Engenharia de Software. Objetivo é reduzir a complexidade dos testes. Conceito de dividir e conquistar. Começar testar a menor unidade executável até atingir o programa como um todo.
35 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 22/4 Fases de Teste (2) Fases de Teste Teste Procedimental Procedimento ou Sub rotina Teste de Unidade Teste Orientado a Objeto Método Dois ou mais procedimentos Subsistema Teste de Integração Classe Cluster Componentes Subsistema Todo Sistema Teste de Sistema e Aceitação Todo Sistema Principais Fases de Teste (adaptada de Binder (1999)).
36 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 23/4 Teste de Unidade Objetivo é identificar erros de lógica e de programação na menor unidade de programação. Diferentes linguagens possuem unidades diferentes. Pascal e C possuem procedimentos ou funções. Java e C++ possuem métodos (ou classes?). Basic e COBOL (o que seriam unidades?). Como testar uma unidade que depende de outra para ser executada? Como testar uma unidade que precisa receber dados de outra unidade para ser executada?
37 Driver e Stub Para auxiliar no teste de unidade, em geral, são necessários drivers e stubs. O driver é responsável por fornecer para uma dada unidade os dados necessários para ela ser executada e, posteriormente, apresentar os resultados ao testador. O stub serve para simular o comportamento de uma unidade que ainda não foi desenvolvida, mas da qual a unidade em teste depende. entrada driver saída Unidade em Teste (F ) stub 1 stub 2 stub n Drivers e Stubs. SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 24/4
38 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 25/4 Teste de Integração (1) Objetivo é verificar se as unidades testadas individualmente se comunicam como desejado. Por que testar a integração entre unidades se as mesmas, em isolado, funcionam corretamente?
39 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 26/4 Teste de Integração (2) Dados podem se perder na interface das unidades. Variáveis globais podem sofrer alterações indesejadas. Teste de Unidade X Teste de Integração.
40 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 27/4 Teste de Sistema Objetivo é verificar se o programa em si interage corretamente com o sistema para o qual foi projetado. Isso inclui, por exemplo, o SO, banco de dados, hardware, manual do usuário, treinamento, etc. Corresponde a um teste de integração de mais alto nível. Inclui teste de funcionalidade, usabilidade, segurança, confiabilidade, disponibilidade, performance, backup/restauração, portabilidade, entre outros (Norma ISO-IEC-9126 para mais informações ISO/IEC (1991))
41 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 28/4 Teste de Aceitação Objetivo é verificar se o programa desenvolvido atende as exigências do usuário.
42 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 29/4 Teste de Regressão Mesmo após liberado o software precisa ser testado A cada manutenção é preciso verificar se o software mantém suas características Se nenhum efeito colateral foi introduzido Técnicas de teste de regressão reutilizam subconjuntos do conjunto de teste existente
43 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 30/4 Limitações do Teste (1) Observe o exemplo abaixo extraído de Binder (1999): 1 i n t blech ( i n t j ) { 2 j = j 1; / / deveria ser j = j j = j / 30000; 4 return j ; 5 } Código fonte:./src/blech.java Considerando o tipo inteiro com 16 bits (2 bytes) o menor valor possível seria e o maior seria , resultando em valores diferentes possíveis. Haverá tempo suficiente para se criar casos de teste? E se os programas forem maiores? Quantos casos de teste serão necessários?
44 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 31/4 Limitações do Teste (2) 1 i n t blech ( i n t j ) { 2 j = j 1; / / deveria ser j = j j = j / 30000; 4 return j ; 5 } Quais valores escolher? Código fonte:./src/blech.java Entrada (j) Saída Esperada Saída Obtida Quais valores de entrada revelam o erro no programa acima?
45 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 32/4 Limitações do Teste (3) Os casos de testes anteriores não revelam o erro. Somente quatro valores do intervalo de entrada válido revelam o erro: Os valores abaixo revelam o erro: Entrada (j) Saída Esperada Saída Obtida Qual a chance desses valores serem selecionados???
46 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 33/4 Automatização A atividade de teste é cara e consome muito tempo. Automatizar significa: Diminuir custos Diminuir erros Facilitar teste de regressão Atividades intelectuais atividades braçais. Suporte a técnicas de teste Geração de dados de teste Oráculos
47 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 34/4 Algumas definições Validação: o processo de avaliar o software, ao final do seu desenvolvimento com o objetivo de garantir conformidade com o seu uso esperado. Requer conhecimento do domínio para o qual o software foi desenvolvido Verificação: o processo de determinar se os produtos de uma determinada fase de desenvolvimento do software estão de acordo com os requisitos estabelecidos nas fases anteriores. Atividade mais técnica, que usa conhecimento sobre artefatos particulares, requisitos e especificações. Teste: Avaliação do software por meio da observação de sua execução.
48 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 35/4 Erros, etc Defeito: uma incorreção estática no código. Erro: um estado interno incorreto, que é consequência da execução de um defeito. Falha: comportamento externo incorreto, com respeito aos requisitos ou qualquer outra descrição do comportamento esperado.
49 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 36/4 Uma analogia Ammann e Offut (2008) Considere um médico fazendo um diagnóstico num paciente doente. O paciente entra no consultório com uma lista de falha (ou seja, os sintomas). O médico tem que descobrir o defeito, ou seja, a raiz, a causa do problema. Para isso, o médico pode solicitar exames exames que vão procurar condições internas anômalas como pressão alta, batida irregular, colesterol, etc. Essas condições anômalas, na nossa terminologia seriam os erros. Defeitos de software tem origem num engano humano.
50 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 37/4 Exemplo 1 public s t a t i c i n t numzero ( i n t [ ] x ) { 2 / / Funcao : se x == n u l l lanca N u l l P o i n t e r E x c e p t i o n 3 / / senao r e t u r n a o número de ocorrências de 0 em x 4 i n t count = 0; 5 for ( i n t i = 1; i < x. l e n g t h ; i ++) 6 { 7 i f ( x [ i ] == 0) 8 { 9 count ++; 0 } 1 } 2 return count ; 3 } Código fonte:./src/defeito.java
51 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 38/4 Exemplo Defeito: inicialização da variável i = 1 Não falha: x = [2, 7, 0] Falha: x = [0, 7, 2] Estado dado pelo valor de: x, i, count e PC Erro: x = [0, 7, 2],i = 1,count = 0, PC = if Erro (???): x = [2, 7, 0],i = 1,count = 0, PC = if
52 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 39/4 Para uma falha ocorrer (RIP) O ponto do programa que contém um defeito deve ser executado (alcançabilidade). Após a execução deste ponto, o estado da execução deve ser incorreto (infecção). O estado infectado deve se propagar de modo a produzir uma saída incorreta (propagação). RIP (Reachability, Infection, Propagation).
53 Exercícios 1 public s t a t i c i n t l a s t Z e r o ( i n t [ ] x ) { 2 / / Funcao : se x== n u l l lanca N u l l P o i n t e r E x c e p t i o n 3 / / senao r e t u r n a o i n d i c do u l t i m o 0 em x 4 / / Returna 1 se 0 nao ocorre em x 5 6 for ( i n t i = 0; i < x. l e n g t h ; i ++) { 7 i f ( x [ i ] == 0) { 8 return i ; 9 } 0 } 1 re turn 1; 2 } 3 / / t e s t e : x =[0, 1, 0] 4 / / esperado = 2 Código fonte: src/lastzero.java SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 40/4
54 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 41/4 lastzero a) Identifique o defeito b) Se possível, identifique um caso de teste que não executa o defeito. c) Se possível, identifique um caso de teste que executa o defeito mas não resulta em um estado de erro. d) Se possível, identifique um caso de teste que resulta em um estado de erro mas não em uma falha. e) Para o caso de teste dado, identifique o primeiro estado de erro. Descreva o estado por completo. f) Corrija o defeito e verifique que o caso de teste dado produz o resultado correto.
55 oddorpos 1 public s t a t i c i n t oddorpos ( i n t [ ] x ) { 2 / / Funcao : se x== n u l l lanca N u l l P o i n t e r E x c e p t i o n 3 / / senao r e t u r n a o numero de elementos em x que 4 / / sao impar ou p o s i t i v o ( ou ambos ) 5 i n t count = 0; 6 for ( i n t i = 0; i < x. l e n g t h ; i ++) { 7 i f ( x [ i ]%2 == 1 x [ i ] > 0) { 8 count ++; 9 } 0 } 1 return count ; 2 } 3 / / t e s t : x=[ 3, 2, 0, 1, 4] 4 / / Expected = 3 Código fonte: src/oddorpos.java SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 42/4
56 SSC5877 Validação Verificação e Teste de Software ICMC/USP p. 43/4 Referências Referências AMMANN, P.; OFFUT, J. Introduction to software testing. 1a. ed. Cambridge University Press, BEIZER, B. Software testing techniques. 2nd ed. New York: Van Nostrand Reinhold Company, BINDER, R. V. Testing object-oriented systems: Models, patterns, and tools, v. 1. Addison Wesley Longman, Inc., ISO/IEC Quality characteristics and guidelines for their use. Padrão ISO/IEC 9126, ISO/IEC, 1991.
SSC 0721 Teste e Validação de Software
SSC 0721 Teste e Validação de Software Conceitos básicos Prof. Marcio E. Delamaro [email protected] SSC 0721 Teste e Validação de Software ICMC/USP p. 1 O que é teste Atividade de executar um programa
Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Teste de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Tópicos da Aula Ø Teste de Software Ø Terminologia e Conceitos Básicos Ø Técnicas e Critérios de Teste Ø Técnicas
Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software
Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa
Qualidade de Software e Atividades de Verificação e Validação
e Atividades de Verificação e Validação Profa. Ellen Francine Barbosa {francine}@icmc.usp.br Instituto de Ciências Matemáticas e de Computação ICMC/USP Roteiro I Trem Fantasma Desastre no Metrô de Nova
Introdução a Teste de Software
Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software
Teste de Software. Karen Frigo Busolin Novembro / 2010
Teste de Software Karen Frigo Busolin Novembro / 2010 Processo de Testes de Software Possibilitar aos profissionais maior visibilidade e organização dos trabalhos. Representa uma estruturação de etapas,
Teste de Software Parte 2. Prof. Jonas Potros
Teste de Software Parte 2 Prof. Jonas Potros Conteúdos Processo de Teste Planejamento de Teste Processo de Teste Independentemente da fase de teste, o processo de teste inclui as seguintes atividades:
Processo de Teste de Software
Processo de Teste de Software Introdução Auri Marcelo Rizzo Vincenzi Gilcimar Divino de Deus Instituto de Informática Universidade Federal de Goiás 22 de agosto de 2008 Organização Teste Desafios do Teste
ENGENHARIA DE SOFTWARE
ENGENHARIA DE SOFTWARE Teste de Software Verificação e validação Testes de desenvolvimento Testes de release Testes de usuário Desenvolvimento dirigido a testes Kele Teixeira Belloze [email protected]
Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo
Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo [email protected] 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos
Gerência de Projetos e Qualidade de Software. Prof. Walter Gima
Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVO Compreender uma série de técnicas de testes, que são utilizadas para descobrir defeitos em programas Conhecer as diretrizes que
Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016
Aula 20 Testes 3 Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; 2008. Teste de Caixa Branca O que
Verificação e Validação
Verificação e Validação Sistemas possuem restrições de qualidade e confiabilidade Qualidade de sw: satisfação dos requisitos funcionais, de desempenho e normas explicitamente declarados. Redução de custos
Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana
Estágio II Aula 02 Conceitos de Teste de Software Prof. MSc. Fred Viana Agenda Teste de Software Defeito, Erro ou Falha? Dimensões do Teste Níveis de Teste Tipos de Teste Técnicas de Teste Teste de Software
1. A principal razão de dividir o processo de teste em tarefas distintas é:
Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. A principal razão de dividir o processo de teste em tarefas distintas é: a) Cada fase do teste tem uma proposta diferente b) É mais fácil para gerência
Processos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
TESTES DE SOFTWARE 1. Fundamentos sobre testes de software
ENG SOFT - TESTES TESTES DE SOFTWARE 1. Fundamentos sobre testes de software A atividade de teste de software sempre foi considerada como um gasto de tempo desnecessário, uma atividade de segunda classe,
Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo
Teste de Software Estratégias de Teste Rosemary Silveira Filgueiras Melo [email protected] 1 Agenda Estratégias de Teste Tipos de Estratégias de Teste 2 Estratégias de teste Define as fases em que
Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software
Engenharia de Software Aula 17 Desenvolvimento de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 7 Maio 2012 1. Especificação de requisitos 2. Projeto
TESTES DE SOFTWARE. Profa. Maria Auxiliadora
TESTES DE SOFTWARE 1 Teste de software É uma atividade crítica na garantia de qualidade de software; Quatro dimensões: Estado do teste ( o momento ); Técnica do teste ( como vou testar ); Metas do testes
TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão
Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de
Verificação e Validação (V & V)
Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo
Rational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Qualidade de software. Prof. Emiliano Monteiro
Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação
1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:
Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: a) Um erro b)
Organização para Realização de Teste de Software
Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:
TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds
TS03 Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE COTI Informática Escola de Nerds Teste do Desenvolvedor O Teste do Desenvolvedor denota os aspectos de design e implementação de teste mais apropriados
Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Guia do Processo de Teste Metodologia Celepar
Guia do Processo de Teste Metodologia Celepar Agosto de 2009 Sumário de Informações do Documento Documento: guiaprocessoteste.odt Número de páginas: 11 Versão Data Mudanças Autor 1.0 26/12/07 Criação.
Princípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.
Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de
especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje
1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria
Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses:
Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Prof. Fabiano Papaiz IFRN Um Processo de Desenvolvimento de Software, ou simplesmente Processo de Software, é um conjunto de atividades realizadas por pessoas cujo
Paradigmas de Linguagens
Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens
Teste de Software. Professor Maurício Archanjo Nunes Coelho
Teste de Software Professor Maurício Archanjo Nunes Coelho Conteúdo 1. Definição de Teste e suas Classificações 1.1 - Introdução 1.2 O que é homologação 1.3 História do teste. 1.4 A falta de teste 1.5
Programação Orientada a Objetos
Ciência da Computação Prof. Elias Ferreira Elaborador por: Ana Claudia Bastos Loureiro Monção JUNIT Teste de Software Processo de Software Um processo de software pode ser visto como o conjunto de atividades,
Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana
Estágio II Aula 01 Qualidade de Software Prof. MSc. Fred Viana Agenda Qualidade de Software Definições Dimensões Qualidade e Produtividade Por que testar um software Definições de Teste Motivação Por que
Introdução aos Testes de Software
Introdução aos Testes de Software 1 Objetivos do curso Apresentar e discutir os conceitos básicos sobre o processo de testes Entender como criar e utilizar os documentos (artefatos) gerados ao longo deste
Prof. Fábio Lúcio Meira
Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal
Engenharia de Software II
Engenharia de Software II Aula 7 http://www.ic.uff.br/~bianca/engsoft2/ Aula 7-12/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do
Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo
Teste de Software Planejamento de Teste Rosemary Silveira Filgueiras Melo [email protected] 1 Agenda Atividades de Teste Conceitos importante no Contexto de Teste Abordagem de Teste 2 Atividades de
Escopo: PROCESSOS FUNDAMENTAIS
Escopo: PROCESSOS FUNDAMENTAIS Etapa:Desenvolvimento de software Disciplina: Auditoria & Qualidade em Sistemas de Informação Professor: Lucas Topofalo Integrantes: Joel Soares de Jesus Luiz R. Bandeira
Engenharia Software. Ení Berbert Camilo Contaiffer
Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado
Fundamentos de Teste de Software
Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 5 Técnicas de Especificação SUMÁRIO INTRODUÇÃO... 3 TÉCNICAS PARA PROJETO DE CASOS
Testes de software - Teste funcional
Testes de software - Teste funcional Vitor Alcântara de Almeida Universidade Federal do Rio Grande do Norte Natal, Brasil 30 de outubro de 2014 Alcântara (UFRN) Testes de software - Testes funcionais 30
Verificação e Validação
Verificação vs Validação Verificação e Validação Verificação: Estamos construindo o produto corretamente? O software deve estar de acordo com sua especificação. Validação: Estamos construindo o produto
2. Quais dos seguintes testes não é um teste do tipo funcional?
Simulado CTFL- BSTQB Tempo de duração: 30 minutos 1. Um campo de entrada (input field) referente ao ano de aniversário aceita valores de 1900 até 2004. Utilizando a análise do valor limite o teste usaria
ISO/IEC 12207: Manutenção
ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema
Análise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.
Análise Estruturada Modelo Essencial ou Lógico constitui-se de dois sub-modelos (Modelo Ambiental e Modelo Comportamental) e um Dicionário de Dados. Linguagens: Fortran, Cobol, C, etc. Orientada a Objetos
ISO/IEC Prof. Alexandre Luís Franco
ISO/IEC 9126 Prof. Alexandre Luís Franco ISO/IEC 9126 Contém as seguintes partes, sobre o título genérico de Engenharia de Software Qualidade do Produto Parte 1 Modelo de Qualidade Parte 2 Métricas Externas
Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto
... definem tarefas que levam a um entendimento de qual ser ao impacto do software sobre o negócio, o que o cliente quer e como os usuários finais irão interagir com o software. (Pressman, 2011) Prof.
Testes de Software. Prof. Edjandir C. Costa
Testes de Software Prof. Edjandir C. Costa [email protected] Sumário - Processo de teste - Estágios de teste - Diferenças entre tipos de testes Processo de Teste Dois objetivos distintos: - Demonstrar
Reuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] Componentes Modelos de Componentes
Engenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Engenharia de Software I 2013.2 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo
Requisitos de Software
Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições
Professor Emiliano S. Monteiro
Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão [email protected] http://www.luizleao.com Questão 1 O desenvolvimento de software envolve usuários, clientes e desenvolvedores. Avalie as seguintes afirmações
FATORES E MÉTRICAS DE QUALIDADE
FATORES E MÉTRICAS DE QUALIDADE 1 2 FATORES DE QUALIDADE OPERAÇÃO DO PRODUTO CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE
Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento
Teste de Software 3 Teste de Software Objetivo: Executar software para revelar erros/falhas ainda não descobertos Pode gastar 40% do esforço de desenvolvimento 2 Teste de Software Defeito (fault, defects)
PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno [email protected] 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados
Apêndice 1. Recomendações para testes de módulos
Recomendações para testes de módulos - 1 Apêndice 1. Recomendações para testes de módulos O presente conjunto de recomendações tem por objetivo definir um conjunto mínimo de critérios de seleção de casos
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno [email protected] Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada
Documento de Requisitos*
* Rosana T. Vaccare Braga *slides adaptados a partir do material da Profa Ellen Francine Barbosa Processo de Engenharia de Requisitos Documento de requisitos Processo de Engenharia de Requisitos Estudo
ENGENHARIA DE SOFTWARE. Introdução
ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente
Introdução 27/9/2005. Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus. Usabilidade.
Introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus Referências Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability through product
INFORMÁTICA: Informação automática
INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar
Engenharia de Software Processo de Desenvolvimento de Software
Engenharia de Software Processo de Desenvolvimento de Software Prof. Elias Ferreira Elaborador por: Prof. Edison A. M. Morais Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. No ciclo de vida de software, a estrutura de dados, a arquitetura, os detalhes procedimentais
Engenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
Engenharia de Requisitos
DCC / ICEx / UFMG Engenharia de Requisitos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Motivação Motivação Porque levantar Requisitos é importante? Motivação Porque levantar Requisitos é importante?
Engenharia de Requisitos
Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw
3. Engenharia dos requisitos de software
Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG [email protected] Engenharia de Software 3. Engenharia dos requisitos de software.......... 3.1. Visão Geral O fluxo de Requisitos reúne
Engenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira [email protected] FACOM - 2011 Verificação e Validação (V&V) S.L.Pfleeger (Cap.8 & 9) R.Pressman (Cap.13 & 14) I.Sommerville (Cap.22 & 23) Introdução Verificação
Teste de Software. Roberta Coelho
Teste de Software Roberta Coelho Agenda Desafios do Teste de Software Atividades Realizadas em 2014 Atividades Planejadas Agenda Desafios do Teste de Software Atividades Realizadas em 2014 Atividades Planejadas
SSC-546 Avaliação de Sistemas Computacionais
QUALIDADE DE PACOTE DE SOFTWARE SSC-546 Avaliação de Sistemas Computacionais Profa. Rosana Braga (material profas Rosely Sanches e Ellen F. Barbosa) Qualidade de Produto de Software Modelo de Qualidade
Teste de Software. Introdução. Teste de SW -Introdução. Verificação e Validação
Introdução Teste de Software Teste é um conjunto de atividades que pode ser planejado antecipadamente e realizado sistematicamente. Luiz Alberto da Silva Filho É possível definir um template (esqueleto),
Padrão para Especificação de Requisitos de Produto de Multimídia
Padrão para Especificação de Requisitos de Produto de Multimídia 1 Introdução 1.1 Escopo do documento Sugere-se aqui uma estrutura para a Especificação de Requisitos de Produto de Multimídia (ERPM). Esta
Gerência de Projetos e Qualidade de Software. Prof. Walter Gima
Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVOS Compreender o processo de gerenciamento de qualidade e as principais atividades do processo de garantia, planejamento e controle
