SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Engenharia do Software I Manuel Menezes de Sequeira DCTI, ISCTE-IUL Manuel.Sequeira@iscte.pt, D6.02 As apresentações desta série baseiam-se nas apresentações disponibilizadas por IanSommerville, tendo sido alteradas e adaptadas primeiro por  Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.
Na aula anterior Desenho de interfaces com o utilizador Problemas de desenho Heurísticas de Nielsen para interfaces com o utilizador Estilos de interacção Processo de desenho de interfaces com o utilizador Análise dos utilizadores Prototipagem de interfaces com o utilizador Avaliação de interfaces 2009/2010 2 Engenharia do Software I
Verificação e validação 2009/2010 3 Engenharia do Software I
Sumário Verificação e validação Planeamento da verificação e validação Inspecções de software Análise estática automática Desenvolvimento de software em sala limpa 2009/2010 4 Engenharia do Software I
Objectivos Apresentar verificação e validação de software e sua distinção Descrever processo de inspecção de software e seu papel na verificação e validação Explicar análise estática como técnica de verificação Descrever processo de desenvolvimento de software em sala limpa 2009/2010 5 Engenharia do Software I
Verificação vs. validação 2009/2010 Engenharia do Software I 6
Processo de verificação e validação Processo de ciclo de vida completo: aplicado em cada etapa do processo de software Principais objectivos Descobrir defeitos no sistema Aferir se o sistema é útil e usável em operação 2009/2010 Engenharia do Software I 7
Objectivos da verificação e validação Criar confiança de que software é adequado ao seu propósito Não significa que seja completamente livre de defeitos Tem de ser suficientemente bom para a utilização pretendida Tipo de utilização determina grau de confiança necessário 2009/2010 Engenharia do Software I 8
Confiança Depende de  Propósito do sistema Expectativas do utilizador Ambiente de marketing 2009/2010 Engenharia do Software I 9
Confiança 2009/2010 Engenharia do Software I 10
Verificações estática e dinâmica 2009/2010 Engenharia do Software I 11 Verificação estática Verificação dinâmica
Verificação e validação estáticas e dinâmicas 2009/2010 12 Engenharia do Software I Inspecções de software Especificação de requisitos Desenho de alto nível Especificação formal Desenho pormenorizado Programa Protótipo Teste de software
Teste de software Pode revelar erros Não demonstra ausência de erros Única técnica de validação para requisitos não funcionais: software tem de ser executado para observar como se comporta Usado em conjunto com verificação estática para cobrir completamente verificação e validação 2009/2010 Engenharia do Software I 13
Tipos de testes Testes de defeitos Descobrem defeitos do sistema Teste com sucesso revela presença de defeito Testes de validação Mostram que software cumpre requisitos Teste com sucesso mostrar que requisito foi devidamente implementado 2009/2010 Engenharia do Software I 14 Capítulo 23
Teste e depuração São processos distintos Verificação e validação estabelecem existência de defeitos em programa Depuração localiza e corrige erros Depurar envolve formular hipóteses sobre comportamento do programa e testá-las para encontrar erro no sistema 2009/2010 Engenharia do Software I 15
Processo de depuração 2009/2010 16 Engenharia do Software I Resultados do teste Especificação Casos de teste Localizar erro Desenhar correcção do erro Corrigir erro Testar programa de novo
Planeamento da verificação e validação Planear cuidadosamente para obter máximo resultado de processos de teste e inspecção Planear logo no início do processo de desenvolvimento Identificar equilíbrio entre verificação estática e teste Definer normas para processo de teste Não descrever testes de produto 2009/2010 Engenharia do Software I 17
Modelo em V 2009/2010 18 Engenharia do Software I Especificação de requisitos Serviço Testes de aceitação Especificação de sistema Desenho de sistema Testes de integração de sistema Plano de testes de integração de subsistemas Plano de testes de integração de sistemas Plano de testes de aceitação Desenho de pormenor Testes de integração de subsistemas Codificação e teste de módulos e unidades
Estrutura de um plano de teste de software Processo de teste Rastreabilidade de requisitos Itens testados Calendário de testes Procedimento de registo de testes Requisitos de hardware e software Restrições 2009/2010 Engenharia do Software I 19
Plano de teste de software 2009/2010 Engenharia do Software I 20
Inspecções de software Exame de representações fonte para descobrir anomalias e defeitos Não requerem execução do sistema: podem ocorrer antes da implementação Aplicadas a qualquer representação do sistema Requisitos Desenho Dados de configuração Dados de teste Etc. Eficazes a descobrir erros em programas 2009/2010 Engenharia do Software I 21
Sucesso da inspecção Muitos diferentes defeitos podem ser descobertos numa única inspecção Como um defeito pode esconder outro, necessárias várias execuções Como conhecimento do domínio e de programação é reutilizado, revisores podem já ter visto tipos de erro mais comuns 2009/2010 Engenharia do Software I 22
Inspecções e testes Técnicas de verificação complementares Ambas usadas durante processo de verificação e validação Inspecções Podem verificar cumprimento de especificação  Não podem verificar cumprimento dos requisitos reais do cliente Não podem verificar características não funcionais como desempenho ou usabilidade 2009/2010 Engenharia do Software I 23
Inspecções de programa Abordagem formalizada a revisões documentais Destinadas explicitamente a detectar defeitos (e não a corrigi-los) Defeitos Erros lógicos Anomalias no código que podem indicar uma condição errónea (e.g., variável não inicializada) Violação de normas 2009/2010 Engenharia do Software I 24
Pré-condições da inspecção Disponibilidade de especificação precisa Membros da equipa familiarizados com normas organizacionais Disponibilidade de código ou outras representações do sistema sintacticamente correctas 2009/2010 Engenharia do Software I 25
Pré-condições da inspecção Lista de verificação de erros preparada Gestão mentalizada para aumento inicial dos custos devido à inspecção Gestão mentalizada para não usar inspecções para avaliação de pessoal (i.e., para não procurar os responsáveis pelos erros) 2009/2010 Engenharia do Software I 26
Processo de inspecção 2009/2010 27 Engenharia do Software I Planeamento Visão global Preparação individual Reunião de inspecção Retrabalho Seguimento
Procedimento de inspecção Apresentar visão geral do sistema à equipa de inspecção Distribuir com tempo código e documentos associados Inspeccionar anotando erros descobertos Corrigir erros descobertos Reinspeccionar se necessário 2009/2010 Engenharia do Software I 28
Papéis na inspecção 2009/2010 Engenharia do Software I 29
Listas de verificação da inspecção Devem usar-se para guiar inspecção Dependem da linguagem de programação e reflectem seus erros típicos Verificação de tipos “fraca” implica lista maior Exemplos Inicialização Nomes de variáveis e constantes Terminação de ciclos Limites de matrizes 2009/2010 Engenharia do Software I 30
Verificações da inspecção Erros nos dados Variáveis inicializadas antes de usadas? Sem números mágicos (constantes sem nome)? Índice máximo de matrizes é comprimento ou comprimento - 1? Deve atribuir-se explicitamente delimitador a cadeias de caracteres? Pode ocorrer transbordamento de memória?  Erros de entrada e saída Variáveis de entrada todas usadas? Variáveis de saída com valor atribuído antes da saída? Entradas inesperadas podem causar corrupção? 2009/2010 Engenharia do Software I 31
Verificações da inspecção Erros no controlo Guardas de instruções condicionais correctas? Terminação de ciclos assegurada? Instruções compostas correctamente envolvidas? Cobertura de instruções de selecção de casos correcta? Se necessária, foi incluída quebra depois de cada caso? Erros de interface Invocações com número correcto de argumentos? Tipos de argumentos e parâmetros correspondem? Argumentos estão na ordem correcta? Se componentes acedem a memória partilhada, têm o mesmo modelo da sua estrutura? 2009/2010 Engenharia do Software I 32
Verificações da inspecção Erros de gestão de armazenamento Quando estrutura com ligações modificada, ligações correctamente atribuídas? Memória dinâmica correctamente reservada? Memória libertada quando deixa de ser necessária? Erros de gestão de excepções Lida-se com todas possíveis condições de erro? 2009/2010 Engenharia do Software I 33
Taxa de inspecção Ritmo Visão global: 500 instruções/hora Preparação individual: 125 instruções/hora Inspecção: 90-125 instruções/hora Custo Processo de inspecção é caro Inspecção de 500 linhas exige esforço de 40 humanos hora – cerca de £2800 no Reino Unido (≈ 3260 €) 2009/2010 Engenharia do Software I 34
Análise estática automática Levada a cabo por analisadores estáticos Analisadores estáticos Ferramentas de software Analisam o código fonte Tentam descobrir potenciais condições de erro Reportam à equipa de verificação e validação Eficazes como auxílio às inspecções Suplementam inspecção, não a substituem 2009/2010 Engenharia do Software I 35
Verificações da análise estática 2009/2010 Engenharia do Software I 36
Etapas da análise estática 2009/2010 Engenharia do Software I 37 Usar com cuidado! Geram grande quantidade de informação. Usar com cuidado! Geram grande quantidade de informação.
lint 1   // test.c  2   #include <stdio.h>  3     4   printarray (Anarray)  5       int Anarray;  6   {  7   printf("%d", Anarray);  8   }  9    10   main() 11   { 12       int Anarray[5]; int i; char c; 13   printarray(Anarray, i, c); 14   printarray(Anarray) ; 15   } > cc test.c > lint test.c test.c(13): warning: c may be used before set test.c(13): warning: i may be used before set printarray: variable # of args. test.c(4) :: test.c(13) printarray, arg. 1 used inconsistently test.c(4) :: test.c(13) printarray, arg. 1 used inconsistently test.c(4) :: test.c(14) printf returns value which is always ignored 2009/2010 Engenharia do Software I 38
Utilização da análise estática Particularmente útil para linguagens fracamente tipificadas (e.g., C) em que compilador não detecta muitos erros Relação custo-benefício menos boa para linguagens fortemente tipificadas (e.g., Java) em que compilador detecta muitos erros 2009/2010 Engenharia do Software I 39
Verificação e métodos formais Pode usar-se métodos formais quando houver especificação matemática do sistema Técnica de verificação estática por excelência Envolvem análise matemática pormenorizada da especificação Podem produzir demonstração formal da conformidade de programa com especificação 2009/2010 Engenharia do Software I 40
Argumentos a favor de métodos formais Produzir especificação matemática requer análise pormenorizada dos requisitos, o que pode revelar erros Podem detectar erros de implementação antes de testes quando programa analisado em conjunto com especificação 2009/2010 Engenharia do Software I 41
Argumentos contra métodos formais Requerem notações especializadas não compreendidas por peritos do domínio Muito caro desenvolver especificação e mais caro ainda mostrar que um programa cumpre especificação Pode ser possível atingir mesmo nível de confiança em programa de forma mais económica usando outras técnicas de verificação e validação 2009/2010 Engenharia do Software I 42
Desenvolvimento de software em sala limpa Nome derivado do processo de “sala limpa” usado no fabrico de semicondutores Prevenção e não remoção de defeitos Processo de desenvolvimento baseado em Desenvolvimento incremental Especificação formal Verificação estática usa argumentos de correcção Testes estatísticos mostram fiabilidade do programa 2009/2010 Engenharia do Software I 43
Processo de sala limpa 2009/2010 44 Engenharia do Software I Especificar sistema formalmente Desenhar testes estatísticos Testar sistema integrado Definir incrementos do software Construir programa estruturado Desenvolver perfil operacional retrabalho Verificar formalmente código Integrar incremento
Características do processo de sala limpa Especificação formal com modelo de transição de estados Desenvolvimento incremental com cliente prioritizando incrementos Programação estruturada – Construções de controlo e abstracção limitadas usadas no programa Verificação estática usando inspecções rigorosas Testes estatísticos do sistema 2009/2010 Engenharia do Software I 45 Capítulo 24
Especificação formal e inspecções Modelo baseado em estados é especificação do sistema Processo de inspecção verifica programa relativamente a modelo Abordagem à programação torna clara correspondência entre modelo e sistema Argumentos matemáticos (e não demonstrações) usados para aumentar confiança no processo de inspecção 2009/2010 Engenharia do Software I 46
Equipas do processo de sala limpa 2009/2010 Engenharia do Software I 47
Avaliação do processo de sala limpa Resultados muito impressionantes Poucas falhas nos sistemas entregues Avaliações independentes mostram que não é mais caro que outras abordagens Menos erros que em processos “tradicionais” Pouco usado: pouco claro como transferir processo para ambiente com engenheiros menos hábeis ou motivados 2009/2010 Engenharia do Software I 48
A reter Verificação e validação diferentes Verificação: conformidade com especificação Validação: cumprimento de requisitos do cliente Processo de testes guiado por plano Técnicas de verificação estática envolvem exame e análise do programa para detectar erros 2009/2010 Engenharia do Software I 49
A reter Inspecções muito eficazes na descoberta de erros Código sistematicamente verificado por pequena equipa para localizar erros de software Ferramentas de análise estática descobrem anomalias que indiciam erros no código Processo de desenvolvimento de sala limpa Desenvolvimento incremental Verificação estática Testes estatísticos 2009/2010 Engenharia do Software I 50
A ler IanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006 Capítulo 22 2009/2010 Engenharia do Software I 51

Weitere ähnliche Inhalte

Was ist angesagt?

Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilAriane Izac
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de SoftwareCloves da Rocha
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
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 softwareLeonardo Melo Santos
 

Was ist angesagt? (20)

Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Gestão Estratégica da TI - Apresentação
Gestão Estratégica da TI - ApresentaçãoGestão Estratégica da TI - Apresentação
Gestão Estratégica da TI - Apresentação
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Exemplos de User Stories
Exemplos de User StoriesExemplos de User Stories
Exemplos de User Stories
 
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
 

Andere mochten auch

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 qualidaderzauza
 
JAD e levantamento de requisitos
JAD e levantamento de requisitosJAD e levantamento de requisitos
JAD e levantamento de requisitosEduardo Castro
 
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...Ayelt Komus
 
Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?Matthias Stürmer
 
Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk AG
 
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementSoftware Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementALTAIDE
 
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...ljaquet
 
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...styropor
 
Freie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungFreie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungAndreas Schreiber
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines AosdCédric WILLIAMSON
 
Présentation update crm lsi
Présentation update crm lsi Présentation update crm lsi
Présentation update crm lsi SaaS Guru
 
Präsentation PM Forum - Social Software
Präsentation PM Forum  - Social SoftwarePräsentation PM Forum  - Social Software
Präsentation PM Forum - Social SoftwareGPMS
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010MD DAY
 
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Club Alliances
 
(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando CódigosRafael Rosa
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 

Andere mochten auch (20)

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
 
JAD e levantamento de requisitos
JAD e levantamento de requisitosJAD e levantamento de requisitos
JAD e levantamento de requisitos
 
Resumo de Técnicas de elicitação de requisitos
Resumo de Técnicas de elicitação de requisitosResumo de Técnicas de elicitação de requisitos
Resumo de Técnicas de elicitação de requisitos
 
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
 
Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?Open Source Software: Reif für den typischen CH KMU?
Open Source Software: Reif für den typischen CH KMU?
 
Lm software
Lm softwareLm software
Lm software
 
Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013
 
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementSoftware Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
 
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
 
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
 
Freie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungFreie Software in der (Groß-)Forschung
Freie Software in der (Groß-)Forschung
 
FABIS Produktmanagement im CRM integriert
FABIS Produktmanagement im CRM integriertFABIS Produktmanagement im CRM integriert
FABIS Produktmanagement im CRM integriert
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
 
Présentation update crm lsi
Présentation update crm lsi Présentation update crm lsi
Présentation update crm lsi
 
Präsentation PM Forum - Social Software
Präsentation PM Forum  - Social SoftwarePräsentation PM Forum  - Social Software
Präsentation PM Forum - Social Software
 
Slide Lewis Chimarro
Slide   Lewis ChimarroSlide   Lewis Chimarro
Slide Lewis Chimarro
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010
 
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
 
(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 

Ähnlich wie Eng.ª do Software - 9. Verificação e validação

Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareManuel Menezes de Sequeira
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de softwareFelipe Bugov
 
Eng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosManuel Menezes de Sequeira
 
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.pptxRoberto Nunes
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfHoctairBernardino
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e ValidaçãoMarcelo Yamaguti
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
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çãoSandy Maciel
 
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptxAnaKlyssia1
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxRoberto Nunes
 

Ähnlich wie Eng.ª do Software - 9. Verificação e validação (20)

Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Eng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de softwareEng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de software
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de software
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Eng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitos
 
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
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdf
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Eng.ª do Software - 1. Introdução
Eng.ª do Software - 1. IntroduçãoEng.ª do Software - 1. Introdução
Eng.ª do Software - 1. Introdução
 
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
 
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
Teste de software
Teste de softwareTeste de software
Teste de software
 

Mehr von Manuel Menezes de Sequeira

14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
 
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...Manuel Menezes de Sequeira
 
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...Manuel Menezes de Sequeira
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...Manuel Menezes de Sequeira
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...Manuel Menezes de Sequeira
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...Manuel Menezes de Sequeira
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
 
4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...Manuel Menezes de Sequeira
 
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...Manuel Menezes de Sequeira
 
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...Manuel Menezes de Sequeira
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...Manuel Menezes de Sequeira
 
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasSemana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasManuel Menezes de Sequeira
 
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana  9: toString, classes, instâncias e objectos, ScannerSemana  9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, ScannerManuel Menezes de Sequeira
 
Semana 8: Classes e instâncias, cadeias de caracteres
Semana  8: Classes e instâncias, cadeias de caracteresSemana  8: Classes e instâncias, cadeias de caracteres
Semana 8: Classes e instâncias, cadeias de caracteresManuel Menezes de Sequeira
 
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana  6: Matrizes multidimensionais, estratégias de resolução de problemasSemana  6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemasManuel Menezes de Sequeira
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaManuel Menezes de Sequeira
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacoteManuel Menezes de Sequeira
 

Mehr von Manuel Menezes de Sequeira (20)

14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
 
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
 
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
 
4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
 
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
 
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
 
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasSemana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
 
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana  9: toString, classes, instâncias e objectos, ScannerSemana  9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, Scanner
 
Semana 8: Classes e instâncias, cadeias de caracteres
Semana  8: Classes e instâncias, cadeias de caracteresSemana  8: Classes e instâncias, cadeias de caracteres
Semana 8: Classes e instâncias, cadeias de caracteres
 
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana  6: Matrizes multidimensionais, estratégias de resolução de problemasSemana  6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
 

Kürzlich hochgeladen

2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholacleanelima11
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 

Kürzlich hochgeladen (20)

2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 

Eng.ª do Software - 9. Verificação e validação

  • 1. Engenharia do Software I Manuel Menezes de Sequeira DCTI, ISCTE-IUL Manuel.Sequeira@iscte.pt, D6.02 As apresentações desta série baseiam-se nas apresentações disponibilizadas por IanSommerville, tendo sido alteradas e adaptadas primeiro por  Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.
  • 2. Na aula anterior Desenho de interfaces com o utilizador Problemas de desenho Heurísticas de Nielsen para interfaces com o utilizador Estilos de interacção Processo de desenho de interfaces com o utilizador Análise dos utilizadores Prototipagem de interfaces com o utilizador Avaliação de interfaces 2009/2010 2 Engenharia do Software I
  • 3. Verificação e validação 2009/2010 3 Engenharia do Software I
  • 4. Sumário Verificação e validação Planeamento da verificação e validação Inspecções de software Análise estática automática Desenvolvimento de software em sala limpa 2009/2010 4 Engenharia do Software I
  • 5. Objectivos Apresentar verificação e validação de software e sua distinção Descrever processo de inspecção de software e seu papel na verificação e validação Explicar análise estática como técnica de verificação Descrever processo de desenvolvimento de software em sala limpa 2009/2010 5 Engenharia do Software I
  • 6. Verificação vs. validação 2009/2010 Engenharia do Software I 6
  • 7. Processo de verificação e validação Processo de ciclo de vida completo: aplicado em cada etapa do processo de software Principais objectivos Descobrir defeitos no sistema Aferir se o sistema é útil e usável em operação 2009/2010 Engenharia do Software I 7
  • 8. Objectivos da verificação e validação Criar confiança de que software é adequado ao seu propósito Não significa que seja completamente livre de defeitos Tem de ser suficientemente bom para a utilização pretendida Tipo de utilização determina grau de confiança necessário 2009/2010 Engenharia do Software I 8
  • 9. Confiança Depende de Propósito do sistema Expectativas do utilizador Ambiente de marketing 2009/2010 Engenharia do Software I 9
  • 11. Verificações estática e dinâmica 2009/2010 Engenharia do Software I 11 Verificação estática Verificação dinâmica
  • 12. Verificação e validação estáticas e dinâmicas 2009/2010 12 Engenharia do Software I Inspecções de software Especificação de requisitos Desenho de alto nível Especificação formal Desenho pormenorizado Programa Protótipo Teste de software
  • 13. Teste de software Pode revelar erros Não demonstra ausência de erros Única técnica de validação para requisitos não funcionais: software tem de ser executado para observar como se comporta Usado em conjunto com verificação estática para cobrir completamente verificação e validação 2009/2010 Engenharia do Software I 13
  • 14. Tipos de testes Testes de defeitos Descobrem defeitos do sistema Teste com sucesso revela presença de defeito Testes de validação Mostram que software cumpre requisitos Teste com sucesso mostrar que requisito foi devidamente implementado 2009/2010 Engenharia do Software I 14 Capítulo 23
  • 15. Teste e depuração São processos distintos Verificação e validação estabelecem existência de defeitos em programa Depuração localiza e corrige erros Depurar envolve formular hipóteses sobre comportamento do programa e testá-las para encontrar erro no sistema 2009/2010 Engenharia do Software I 15
  • 16. Processo de depuração 2009/2010 16 Engenharia do Software I Resultados do teste Especificação Casos de teste Localizar erro Desenhar correcção do erro Corrigir erro Testar programa de novo
  • 17. Planeamento da verificação e validação Planear cuidadosamente para obter máximo resultado de processos de teste e inspecção Planear logo no início do processo de desenvolvimento Identificar equilíbrio entre verificação estática e teste Definer normas para processo de teste Não descrever testes de produto 2009/2010 Engenharia do Software I 17
  • 18. Modelo em V 2009/2010 18 Engenharia do Software I Especificação de requisitos Serviço Testes de aceitação Especificação de sistema Desenho de sistema Testes de integração de sistema Plano de testes de integração de subsistemas Plano de testes de integração de sistemas Plano de testes de aceitação Desenho de pormenor Testes de integração de subsistemas Codificação e teste de módulos e unidades
  • 19. Estrutura de um plano de teste de software Processo de teste Rastreabilidade de requisitos Itens testados Calendário de testes Procedimento de registo de testes Requisitos de hardware e software Restrições 2009/2010 Engenharia do Software I 19
  • 20. Plano de teste de software 2009/2010 Engenharia do Software I 20
  • 21. Inspecções de software Exame de representações fonte para descobrir anomalias e defeitos Não requerem execução do sistema: podem ocorrer antes da implementação Aplicadas a qualquer representação do sistema Requisitos Desenho Dados de configuração Dados de teste Etc. Eficazes a descobrir erros em programas 2009/2010 Engenharia do Software I 21
  • 22. Sucesso da inspecção Muitos diferentes defeitos podem ser descobertos numa única inspecção Como um defeito pode esconder outro, necessárias várias execuções Como conhecimento do domínio e de programação é reutilizado, revisores podem já ter visto tipos de erro mais comuns 2009/2010 Engenharia do Software I 22
  • 23. Inspecções e testes Técnicas de verificação complementares Ambas usadas durante processo de verificação e validação Inspecções Podem verificar cumprimento de especificação Não podem verificar cumprimento dos requisitos reais do cliente Não podem verificar características não funcionais como desempenho ou usabilidade 2009/2010 Engenharia do Software I 23
  • 24. Inspecções de programa Abordagem formalizada a revisões documentais Destinadas explicitamente a detectar defeitos (e não a corrigi-los) Defeitos Erros lógicos Anomalias no código que podem indicar uma condição errónea (e.g., variável não inicializada) Violação de normas 2009/2010 Engenharia do Software I 24
  • 25. Pré-condições da inspecção Disponibilidade de especificação precisa Membros da equipa familiarizados com normas organizacionais Disponibilidade de código ou outras representações do sistema sintacticamente correctas 2009/2010 Engenharia do Software I 25
  • 26. Pré-condições da inspecção Lista de verificação de erros preparada Gestão mentalizada para aumento inicial dos custos devido à inspecção Gestão mentalizada para não usar inspecções para avaliação de pessoal (i.e., para não procurar os responsáveis pelos erros) 2009/2010 Engenharia do Software I 26
  • 27. Processo de inspecção 2009/2010 27 Engenharia do Software I Planeamento Visão global Preparação individual Reunião de inspecção Retrabalho Seguimento
  • 28. Procedimento de inspecção Apresentar visão geral do sistema à equipa de inspecção Distribuir com tempo código e documentos associados Inspeccionar anotando erros descobertos Corrigir erros descobertos Reinspeccionar se necessário 2009/2010 Engenharia do Software I 28
  • 29. Papéis na inspecção 2009/2010 Engenharia do Software I 29
  • 30. Listas de verificação da inspecção Devem usar-se para guiar inspecção Dependem da linguagem de programação e reflectem seus erros típicos Verificação de tipos “fraca” implica lista maior Exemplos Inicialização Nomes de variáveis e constantes Terminação de ciclos Limites de matrizes 2009/2010 Engenharia do Software I 30
  • 31. Verificações da inspecção Erros nos dados Variáveis inicializadas antes de usadas? Sem números mágicos (constantes sem nome)? Índice máximo de matrizes é comprimento ou comprimento - 1? Deve atribuir-se explicitamente delimitador a cadeias de caracteres? Pode ocorrer transbordamento de memória? Erros de entrada e saída Variáveis de entrada todas usadas? Variáveis de saída com valor atribuído antes da saída? Entradas inesperadas podem causar corrupção? 2009/2010 Engenharia do Software I 31
  • 32. Verificações da inspecção Erros no controlo Guardas de instruções condicionais correctas? Terminação de ciclos assegurada? Instruções compostas correctamente envolvidas? Cobertura de instruções de selecção de casos correcta? Se necessária, foi incluída quebra depois de cada caso? Erros de interface Invocações com número correcto de argumentos? Tipos de argumentos e parâmetros correspondem? Argumentos estão na ordem correcta? Se componentes acedem a memória partilhada, têm o mesmo modelo da sua estrutura? 2009/2010 Engenharia do Software I 32
  • 33. Verificações da inspecção Erros de gestão de armazenamento Quando estrutura com ligações modificada, ligações correctamente atribuídas? Memória dinâmica correctamente reservada? Memória libertada quando deixa de ser necessária? Erros de gestão de excepções Lida-se com todas possíveis condições de erro? 2009/2010 Engenharia do Software I 33
  • 34. Taxa de inspecção Ritmo Visão global: 500 instruções/hora Preparação individual: 125 instruções/hora Inspecção: 90-125 instruções/hora Custo Processo de inspecção é caro Inspecção de 500 linhas exige esforço de 40 humanos hora – cerca de £2800 no Reino Unido (≈ 3260 €) 2009/2010 Engenharia do Software I 34
  • 35. Análise estática automática Levada a cabo por analisadores estáticos Analisadores estáticos Ferramentas de software Analisam o código fonte Tentam descobrir potenciais condições de erro Reportam à equipa de verificação e validação Eficazes como auxílio às inspecções Suplementam inspecção, não a substituem 2009/2010 Engenharia do Software I 35
  • 36. Verificações da análise estática 2009/2010 Engenharia do Software I 36
  • 37. Etapas da análise estática 2009/2010 Engenharia do Software I 37 Usar com cuidado! Geram grande quantidade de informação. Usar com cuidado! Geram grande quantidade de informação.
  • 38. lint 1 // test.c 2 #include <stdio.h> 3 4 printarray (Anarray) 5 int Anarray; 6 { 7 printf("%d", Anarray); 8 } 9 10 main() 11 { 12 int Anarray[5]; int i; char c; 13 printarray(Anarray, i, c); 14 printarray(Anarray) ; 15 } > cc test.c > lint test.c test.c(13): warning: c may be used before set test.c(13): warning: i may be used before set printarray: variable # of args. test.c(4) :: test.c(13) printarray, arg. 1 used inconsistently test.c(4) :: test.c(13) printarray, arg. 1 used inconsistently test.c(4) :: test.c(14) printf returns value which is always ignored 2009/2010 Engenharia do Software I 38
  • 39. Utilização da análise estática Particularmente útil para linguagens fracamente tipificadas (e.g., C) em que compilador não detecta muitos erros Relação custo-benefício menos boa para linguagens fortemente tipificadas (e.g., Java) em que compilador detecta muitos erros 2009/2010 Engenharia do Software I 39
  • 40. Verificação e métodos formais Pode usar-se métodos formais quando houver especificação matemática do sistema Técnica de verificação estática por excelência Envolvem análise matemática pormenorizada da especificação Podem produzir demonstração formal da conformidade de programa com especificação 2009/2010 Engenharia do Software I 40
  • 41. Argumentos a favor de métodos formais Produzir especificação matemática requer análise pormenorizada dos requisitos, o que pode revelar erros Podem detectar erros de implementação antes de testes quando programa analisado em conjunto com especificação 2009/2010 Engenharia do Software I 41
  • 42. Argumentos contra métodos formais Requerem notações especializadas não compreendidas por peritos do domínio Muito caro desenvolver especificação e mais caro ainda mostrar que um programa cumpre especificação Pode ser possível atingir mesmo nível de confiança em programa de forma mais económica usando outras técnicas de verificação e validação 2009/2010 Engenharia do Software I 42
  • 43. Desenvolvimento de software em sala limpa Nome derivado do processo de “sala limpa” usado no fabrico de semicondutores Prevenção e não remoção de defeitos Processo de desenvolvimento baseado em Desenvolvimento incremental Especificação formal Verificação estática usa argumentos de correcção Testes estatísticos mostram fiabilidade do programa 2009/2010 Engenharia do Software I 43
  • 44. Processo de sala limpa 2009/2010 44 Engenharia do Software I Especificar sistema formalmente Desenhar testes estatísticos Testar sistema integrado Definir incrementos do software Construir programa estruturado Desenvolver perfil operacional retrabalho Verificar formalmente código Integrar incremento
  • 45. Características do processo de sala limpa Especificação formal com modelo de transição de estados Desenvolvimento incremental com cliente prioritizando incrementos Programação estruturada – Construções de controlo e abstracção limitadas usadas no programa Verificação estática usando inspecções rigorosas Testes estatísticos do sistema 2009/2010 Engenharia do Software I 45 Capítulo 24
  • 46. Especificação formal e inspecções Modelo baseado em estados é especificação do sistema Processo de inspecção verifica programa relativamente a modelo Abordagem à programação torna clara correspondência entre modelo e sistema Argumentos matemáticos (e não demonstrações) usados para aumentar confiança no processo de inspecção 2009/2010 Engenharia do Software I 46
  • 47. Equipas do processo de sala limpa 2009/2010 Engenharia do Software I 47
  • 48. Avaliação do processo de sala limpa Resultados muito impressionantes Poucas falhas nos sistemas entregues Avaliações independentes mostram que não é mais caro que outras abordagens Menos erros que em processos “tradicionais” Pouco usado: pouco claro como transferir processo para ambiente com engenheiros menos hábeis ou motivados 2009/2010 Engenharia do Software I 48
  • 49. A reter Verificação e validação diferentes Verificação: conformidade com especificação Validação: cumprimento de requisitos do cliente Processo de testes guiado por plano Técnicas de verificação estática envolvem exame e análise do programa para detectar erros 2009/2010 Engenharia do Software I 49
  • 50. A reter Inspecções muito eficazes na descoberta de erros Código sistematicamente verificado por pequena equipa para localizar erros de software Ferramentas de análise estática descobrem anomalias que indiciam erros no código Processo de desenvolvimento de sala limpa Desenvolvimento incremental Verificação estática Testes estatísticos 2009/2010 Engenharia do Software I 50
  • 51. A ler IanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006 Capítulo 22 2009/2010 Engenharia do Software I 51