SlideShare uma empresa Scribd logo
Engenharia do Software IManuel Menezes de SequeiraDCTI, ISCTE-IULManuel.Sequeira@iscte.pt, D6.02As 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 anteriorVerificação e validaçãoPlaneamento da verificação e validaçãoInspecções de softwareAnálise estática automáticaDesenvolvimento de software em sala limpa2009/20102Engenharia do Software I
Testes de software2009/20103Engenharia do Software I
SumárioTestes de softwareTeste de sistemasTeste de componentesDesenho de casos de testeAutomatização de testes2009/20104Engenharia do Software I
ObjectivosDiscutir diferença entre testes de validação e de defeitosDescrever princípios de testes de sistema e de componentesDescrever estratégias para gerar casos de teste para sistemasCompreender características essenciais das ferramentas de automatização de testes2009/20105Engenharia do Software I
Processo de testesTestes de componentesTeste de componentes individuais do programaUsualmente responsabilidade de desenvolvedor do componente (excepto por vezes em sistemas críticos)Testes derivados da experiência do desenvolvedorTestes de sistemaTeste sistemas ou um subsistemas (compostos de componentes)Responsabilidade de equipa de testes independenteTestes baseados em especificação do sistema2009/2010Engenharia do Software I6
Fases de teste2009/20107Engenharia do Software ITestes de componentesTestes de sistemasDesenvolvedor do softwareEquipa de testes independente
Testes de defeitosObjectivo é descobrir defeitos em programasTeste com sucesso leva programa a comportamento anómaloMostram presença e não ausência de defeitos2009/2010Engenharia do Software I8
Objectivos do processo de testesTestes de validaçãoDemonstra a desenvolvedor e cliente do sistema que software cumpre requisitosTeste com sucesso mostra que sistema se comporta como pretendidoTestes de defeitosDescobre erros ou defeitos no software levando a comportamento incorrecto ou que não corresponde à especificaçãoTeste com sucesso leva sistema a comportar-se incorrectamente, assim expondo um defeito no sistema2009/2010Engenharia do Software I9Um teste que não descubra erros ou defeitos é inconclusivo.
Processo de testes de software2009/201010Engenharia do Software ICasos de testeDados de testeResultados dos testesRelatórios dos testesDesenhar casos de testePreparar dados de testeExecutar programa com dados de testeComparar resultado com casos de teste
Políticas de testesTestes exaustivos podem mostrar ausência de defeitosTestes exaustivos geralmente impossíveisPolíticas de testes definem abordagem a usar na escolha de testes de sistemaTestar todas funcionalidades acessíveis em menusTestar combinações de funcionalidades acedidas no mesmo menuQuando for necessário introduzir dados do utilizador, testar todas funcionalidades com entradas correctas e incorrectas2009/2010Engenharia do Software I11
Testes de sistemasEnvolvem integrar componentes de modo a formarem sistema ou subsistemaPodem envolver testar incremento a fornecer a cliente2009/2010Engenharia do Software I12
Fases dos testes de sistemas2009/2010Engenharia do Software I13
Testes de integraçãoEnvolveConstruir sistema a partir de componentesIr testando para revelar problemas gerados por interacção entre componentesIntegração deve ser incremental para simplificar localização de erros2009/2010Engenharia do Software I14
Tipos de integração2009/2010Engenharia do Software I15
Testes de integração incrementais2009/201016Engenharia do Software IT1T1T1AAAT2T2T2BBBT3T3T3CCT4T4DT5Sequência de testes 3Sequência de testes 2Sequência de testes 1
Abordagens aos testes2009/2010Engenharia do Software I17DescendenteFacilita validação arquitectónica, i.e., descoberta de erros na arquitectura do sistemaPermite demonstração limitada do sistema mesmo em fases iniciais do desenvolvimentoObservação dos testes pode exigir código extraAscendenteFacilita muitas vezes implementação dos testesObservação dos testes pode exigir código extra
Testes de lançamentoProcesso de teste do lançamento do sistema a fornecer a clientesObjectivo principal: aumentar confiança de fornecedor no cumprimento de requisitosNormalmente de caixa preta ou funcionaisBaseados só na especificação do sistemaTestadores não conhecem implementação2009/2010Engenharia do Software I18
Testes de caixa preta2009/201019Engenharia do Software IDados de entrada do testeEntradas causadoras de anomaliasSistemaResultados de saída do testeResultados reveladores de defeitos
Linhas de orientação para testesEscolher entradasGerando todas as mensagens de erroLevando a transbordamentos de memóriaRepetir várias vezes mesma entrada ou sequência de entradasForçar geração de saídas inválidasForçar cálculo de valores além dos limites2009/2010Engenharia do Software I20Dicas para equipa escolher testes que revelem defeitos no sistema.
Cenário de testeNa Escócia, uma estudante está a estudar a história americana e foi convidada a escrever um artigo sobre a “mentalidade de fronteira no oeste americano de 1840 a 1880”. Para o fazer, precisa de encontrar fontes bibliográficas numa série de bibliotecas. Assim, autentica-se no sistema LIBSYS e usa o mecanismo de pesquisa para descobrir se pode aceder a documentos originais da época. Descobre fontes bibliográficas em várias bibliotecas universitárias dos EUA e descarrega cópias de algumas dessas fontes. No entanto, para um dos documentos é necessário que a sua universidade confirme que ela é realmente estudante e que a fonte será utilizada para fins não comerciais. A estudante usa o mecanismo do LIBSYS que permite solicitar essa autorização e regista o seu pedido. Se o pedido for concedido, o documento será transferido para o servidor da biblioteca e impresso. Ela receberá então uma mensagem do LIBSYS dizendo que irá receber uma mensagem de correio electrónico assim que o documento impresso estiver disponível para recolha.2009/2010Engenharia do Software I21
Testes de sistemaTestar mecanismo de autenticação usando credenciais válidas e inválidas para verificar se utilizadores com credenciais válidas são aceites e se utilizadores com credenciais inválidas são rejeitados.Testar mecanismo de pesquisa usando diferentes interrogações a diferentes fontes de informação para verificar se mecanismo de facto encontra documentos.Testar mecanismo de apresentação para verificar se informação é apresentada correctamente.Testar mecanismo de pedido de autorização para descarregamento.Testar resposta via correio electrónico que indica que documento descarregado está disponível.2009/2010Engenharia do Software I22
Casos de usoPodem ser base para obtenção de testes de sistemaAjudam a identificar operações a testar e ajudam a conceber os casos de teste necessáriosA partir de diagrama de sequência associado, indentificar entradas e saídas a usar nos testes2009/2010Engenharia do Software I23
Diagrama de sequência da recolha de dados meteorológicos2009/201024Engenharia do Software Isd data collection: CommunicationsController: WeatherStation: WeatherDatagetReport()acknowledge()getReport()getSummary()acknowledge()
Testes de desempenhoTestes de lançamento podem envolver teste a propriedades emergentesTestes de desempenhoTestes de fiabilidadePlanear série de testes com carga crescente até desempenho ficar inaceitável2009/2010Engenharia do Software I25
Testes de estresseSujeitam sistema a cargas superiores a máximo previsto tentando revelar defeitosAferem comportamento em caso de falhaSistema não pode falhar catastroficamenteFalhas não podem levar a perdas inaceitáveis de serviço ou dadosMuito relevantes para sistemas distribuídos que podem sofre degradação séria perante rede sobrecarregada2009/2010Engenharia do Software I26
Testes de componentes ou testes unitáriosProcesso de testar isoladamente componentes individuaisÉ processo de teste de defeitos2009/2010Engenharia do Software I27
Componentes ou unidades (de modularização)RotinasFunções e procedimentos isoladosOperações de classes e seus objectosClasses e respectivas propriedades e operaçõesComponentes compósitos com interface definida para aceder à sua funcionalidade2009/2010Engenharia do Software I28
Testes de classes (de objectos)Cobertura completa de classe por testes implicaTestar todas as operaçõesAlterar e inspeccionar todas as propriedadesFazer objectos passar por todos os estados representativosFazer objectos passar por todos os possíveis fluxos de controloHerança dificulta desenho de testes para classes, pois informação está disseminada2009/2010Engenharia do Software I29
Interface de estação meteorológica2009/201030Engenharia do Software IWeatherStation+ reportWeather()+ calibrate(instruments)+ test()+ startup(instruments)+ shutdown(instruments)
Teste da estação meteorológicaNecessário definir casos de teste parareportWeather()calibrate()test()startup()shutdown()2009/2010Engenharia do Software I31
Teste da estação meteorológicaUsando modelo de transição de estadosIdentificar sequências de transição a testarIdentificar sequências de eventos que as causemExemploEsperandoCalibrandoTestandoTransmitindoEsperando2009/2010Engenharia do Software I32
Testes de interfacesDetectar anomalias devidas aErros de interfaceSuposições inválidas acerca das interfacesEspecialmente importantes em desenvolvimento orientado para objectos (classes de objectos definidas pela interface)2009/2010Engenharia do Software I33
Testes de interfaces2009/201034Engenharia do Software ICasos de testeBAC
Tipos de interfaces2009/2010Engenharia do Software I35
Erros de interface2009/2010Engenharia do Software I36
Linhas de orientação para testes de interfaceInvocar rotinas com valores extremos dos argumentosInvocar rotinas com argumentos nulos onde parâmetros forem ponteiros ou referênciasTentar fazer os componentes falharFazer testes de estresse em sistemas com passagem de mensagensVariar ordem de activação de componentes em sistemas com memória partilhada2009/2010Engenharia do Software I37
Desenho de casos de testeDesenho de casos de teste (entradas e saídas) usados para testar sistemaObjectivo: criar conjunto de testes eficazes na validação e nos testes de defeitosAbordagensTestes baseados em requisitosTestes de partiçãoTestes estruturais2009/2010Engenharia do Software I38
Testes baseados em requisitosRequisitos têm de ser testáveisTécnica de testes de validaçãoConjunto de testes derivado para cada requisito2009/2010Engenharia do Software I39Princípio geral da engenharia de requisitos
Requisitos do LIBSYS2009/2010Engenharia do Software I40
Testes do LIBSYS2009/2010Engenharia do Software I41
Testes de partiçõesEntradas e saídas muitas vezes em diferentes classes cujos membros estão relacionadosCada classe é partição ou domínio de equivalência para cujos membros comportamento do programa é equivalenteDevem escolher-se casos de teste em cada partição2009/2010Engenharia do Software I42
Partições de equivalência2009/201043Engenharia do Software Ientradas válidasentradas inválidasSistemasaídas
Partições de equivalência2009/201044Engenharia do Software I3114107Número de entradasMenos de 4Entre 4 e 10Mais de 109 999100 00010 00099 99950 000Valores da entradaMenos de 10 000Entre 10 000 e 99 999Mais de 99 999
Especificação de rotina de pesquisaprocedure Search(element : inElement_T;    sequence : inarray (Integer range <>) ofElement_T;elementFound : inout Boolean;    index : inout Integer) iswith        Pre => -- the sequence has at least one elementsequence'FIRST <= sequence'LAST,        Post =>             -- the element is found and is referenced by index            (elementFoundand sequence(index) = element) or            -- the element is not in the sequence            (notelementFoundandnot (exists i, sequence'FIRST <= i <= sequence'LAST,                  sequence(i) = element));2009/2010Engenharia do Software I45Artificial…
Partição das entradasEntradasQue não cumprem a pré-condiçãoQue cumprem a pré-condiçãoEm que o elemento ocorre na sequênciaEm que o elemento não ocorre na sequência2009/2010Engenharia do Software I46
Linhas de orientação para testes (sequências)Usar sequências vaziasUsar sequências com um único elementoUsar sequências com diferentes comprimentos em diferentes testesForçar acesso a primeiro elemento, último elemento e elemento central2009/2010Engenharia do Software I47
Partição das entradas2009/2010Engenharia do Software I48
Casos de teste2009/2010Engenharia do Software I49
Testes estruturaisTambém conhecidos por testes de caixa brancaDerivação de casos de teste de acordo com estrutura do programaConhecimento do programa usado para identificar casos de teste adicionaisObjectivo é exercitar todas instruções do programa e não todos possíveis caminhos2009/2010Engenharia do Software I50
Testes estruturais2009/201051Engenharia do Software IDados de testederivartestarCódigo do componenteResultados do teste
Especificação de rotina de pesquisa bináriaprocedureSearchIncreasing(element : inElement_T;    sequence : inarray (Integer range <>) ofElement_T;elementFound : inout Boolean;    index : inout Integer) iswith        Pre => -- the sequence is increasing            (foralli, sequence'FIRST <= i < sequence'LAST,                  sequence(i) <= sequence(i + 1)),        Post =>            -- the element is found and is referenced by index            (elementFoundand sequence(index) = element) or            -- the element is not in the sequence            (notelementFoundandnot (exists i, sequence'FIRST <= i <= sequence'LAST,                  sequence(i) = element));2009/2010Engenharia do Software I52
Partição das entradasEntradasQue não cumprem a pré-condiçãoQue cumprem a pré-condiçãoEm que o elemento ocorre na sequênciaEm que o elemento não ocorre na sequênciaSequência vaziaSequência com um único elementoSequência com um número par de elementosSequência com um número ímpar de elementos2009/2010Engenharia do Software I53
Partições de equivalência2009/201054Engenharia do Software ICentroPrimeiroÚltimoCentro + 1Centro - 1InferioresSuperioresClasses de equivalência
Casos de teste2009/2010Engenharia do Software I55
Teste de caminhosObjectivo: assegurar que conjunto de casos de teste garante que cada caminho é executado pelo menos uma vezComeçar por obter grafo de fluxo do programa mostrando nós representando decisões do programa e arcos representando o fluxo de controloInstruções com condições são por isso nós do grafo de fluxo de controlo2009/2010Engenharia do Software I56
Implementação da pesquisa bináriapublic <T extends Comparable<T>> void search(final T element, final List<T> sequence) {	 1     indexOfFoundElement = -1; 2     found = false; 3     int left = 0; 4     int right = sequence.size() - 1; 5     while(left <= right) { 6         final int middle = (left + right) / 2; 7         int comparison = sequence.get(middle).compareTo(element); 8         if(comparison == 0) { 9             found = true;10             indexOfFoundElement = middle;11             return;12         } else if(comparison < 0)13             left = middle + 1;        else14             right = middle - 1;    }15 }2009/2010Engenharia do Software I57
Grafo de fluxo da pesquisa binária2009/201058Engenharia do Software I1234left > right5left <= right6comparison < 0713comparison == 0comparison != 089121410comparison > 01115
Caminhos independentes2009/201059Engenharia do Software I111, 2, 3, 4, 5, 151, 2, 3, 4, 5, 6, 7, 8, 9, 10, 111, 2, 3, 4, 5, 6, 7, 8, 12, 13, 5, …1, 2, 3, 4, 5, 6, 7, 8, 12, 14, 5, …223344left > right55left <= right66comparison < 0771313comparison == 0comparison != 089128912141410comparison > 01011151115
Caminhos independentesDesenvolver casos de teste que levem a execução de cada um dos caminhosUm analisador dinâmico de programas pode ser usado para verificar que todos os caminhos foram executados2009/2010Engenharia do Software I60
Automatização de testesTestar é caroBancadas de trabalho para testes ajudam a automatizar o processoBancadas de trabalho para testesFerramentas para poupar tempo e custo dos testesSistemas como JUnit suportam execução automática de testesMaioria são sistemas abertos, assim suportando especificidades das organizaçõesPor vezes difíceis de integrar com bancadas de trabalho fechadas para desenho e análise2009/2010Engenharia do Software I61
Uma bancada de trabalho para testes2009/201062Engenharia do Software IGerador de dados de testeEspecificaçãoOráculoDados de testeGestor de testesCódigo fontePrograma em testeResultados dos testesPrevisões dos testesAnalisador dinâmicoRelatório de execuçãoSimuladorComparador de ficheirosRelatório dos resultados dos testesGerador de relatórios
Adaptação da bancada de trabalho para testesScripts para simuladores de interfaces com o utilizador e padrões para geradores de dadosPreparação manual de saídas dos testes para posterior comparaçãoDesenvolvimento de comparadores de ficheiros especializados2009/2010Engenharia do Software I63
A reterTestesRevelam erros em sistemaNão demonstram ausência de errosDe componentes: desenvolvedoresDe sistema: outra equipaDe integração: incrementos a sistemaDe lançamento: sistema a fornecerDesenhados recorrendo a experiência e linhas de orientação2009/2010Engenharia do Software I64
A reterTestes de interface revelam defeitos em interfaces de componentes compósitosPartições de equivalência para descobrir casos de teste – casos em partição têm comportamento equivalenteAnálise estrutural analisa programa e deriva casos de testeAutomatização de testes reduz custos através de múltiplas ferramentas software2009/2010Engenharia do Software I65
A lerIanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006Capítulo 232009/2010Engenharia do Software I66

Mais conteúdo relacionado

Mais procurados

software testing
software testingsoftware testing
software testing
Andrés Grosso
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
Selin Gungor
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Elias Nogueira
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
Elias Nogueira
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
Subrahmaniam S.R.V
 
Arquitetura de Automação de Teste
Arquitetura de Automação de TesteArquitetura de Automação de Teste
Arquitetura de Automação de Teste
Elias Nogueira
 
Plano de teste
Plano de testePlano de teste
Plano de teste
Eduardo Nilsen
 
Entregables de pruebas
Entregables de pruebasEntregables de pruebas
Entregables de pruebas
Jesús E. CuRias
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
Erol Selitektay
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Frederico Augusto Do Carmo Moreira
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
Elias Nogueira
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
Raymond Adrian (Rad) Butalid
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDD
Sunghyouk Bae
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
Juliana Maria Lopes
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
Alex Camargo
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
nazeer pasha
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
Camilo Almendra
 
ISTQB Foundation Level Mock Exam 1
ISTQB Foundation Level Mock Exam 1ISTQB Foundation Level Mock Exam 1
ISTQB Foundation Level Mock Exam 1
Neeraj Kumar Singh
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula
 

Mais procurados (20)

software testing
software testingsoftware testing
software testing
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Test automation
Test automationTest automation
Test automation
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
Arquitetura de Automação de Teste
Arquitetura de Automação de TesteArquitetura de Automação de Teste
Arquitetura de Automação de Teste
 
Plano de teste
Plano de testePlano de teste
Plano de teste
 
Entregables de pruebas
Entregables de pruebasEntregables de pruebas
Entregables de pruebas
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDD
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
ISTQB Foundation Level Mock Exam 1
ISTQB Foundation Level Mock Exam 1ISTQB Foundation Level Mock Exam 1
ISTQB Foundation Level Mock Exam 1
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 

Destaque

Parte Especial Verb To Be
Parte Especial Verb To BeParte Especial Verb To Be
Parte Especial Verb To Be
Speaking in English
 
Plano de estudo para Guitarristas
Plano de estudo para GuitarristasPlano de estudo para Guitarristas
Plano de estudo para Guitarristas
Luiz Carlos Oliveira dos Santos
 
Mídias Sociais e Inteligência de Marketing
Mídias Sociais e Inteligência de MarketingMídias Sociais e Inteligência de Marketing
Mídias Sociais e Inteligência de Marketing
Tarcízio Silva
 
Doenças má alimentação
Doenças má alimentaçãoDoenças má alimentação
Doenças má alimentação
Maria Sequeira
 
Apostila
ApostilaApostila
Apostila
Necy
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
HugoDalevedove
 
Dicas para programador web
Dicas para programador webDicas para programador web
Dicas para programador web
Paulo Santos junior
 
Aula de violão para iniciantes
Aula de violão para iniciantesAula de violão para iniciantes
Aula de violão para iniciantes
josedivino
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
Norivan Oliveira
 
Windows xp
Windows xpWindows xp
Windows xp
vinivs
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Saymon Cristian Alves Oliveira
 
Apostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaApostila Arduino - FBS Eletrônica
Apostila Arduino - FBS Eletrônica
Fabio Souza
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectos
Daniel Chavier
 
Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1
Alax Ricard
 
Apostila emi musica
Apostila emi musicaApostila emi musica
Apostila emi musica
Elvis Live
 
Guia otimizacao para Mecanismos de Pesquisa
Guia otimizacao para Mecanismos de PesquisaGuia otimizacao para Mecanismos de Pesquisa
Guia otimizacao para Mecanismos de Pesquisa
João Paulo M. Cândido
 
Apostila para hackers iniciantes
Apostila para hackers iniciantesApostila para hackers iniciantes
Apostila para hackers iniciantes
hackersetruques
 
Bactérias utilizadas na produção de alimentos
Bactérias utilizadas na produção de alimentosBactérias utilizadas na produção de alimentos
Bactérias utilizadas na produção de alimentos
Luan Queiroz
 
Notas de violão para iniciantes
Notas de violão para iniciantesNotas de violão para iniciantes
Notas de violão para iniciantes
josedivino
 
Hotelaria plan e gestão cap 3
Hotelaria plan e gestão cap 3Hotelaria plan e gestão cap 3
Hotelaria plan e gestão cap 3
Professor Sérgio Duarte
 

Destaque (20)

Parte Especial Verb To Be
Parte Especial Verb To BeParte Especial Verb To Be
Parte Especial Verb To Be
 
Plano de estudo para Guitarristas
Plano de estudo para GuitarristasPlano de estudo para Guitarristas
Plano de estudo para Guitarristas
 
Mídias Sociais e Inteligência de Marketing
Mídias Sociais e Inteligência de MarketingMídias Sociais e Inteligência de Marketing
Mídias Sociais e Inteligência de Marketing
 
Doenças má alimentação
Doenças má alimentaçãoDoenças má alimentação
Doenças má alimentação
 
Apostila
ApostilaApostila
Apostila
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Dicas para programador web
Dicas para programador webDicas para programador web
Dicas para programador web
 
Aula de violão para iniciantes
Aula de violão para iniciantesAula de violão para iniciantes
Aula de violão para iniciantes
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
Windows xp
Windows xpWindows xp
Windows xp
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Apostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaApostila Arduino - FBS Eletrônica
Apostila Arduino - FBS Eletrônica
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectos
 
Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1
 
Apostila emi musica
Apostila emi musicaApostila emi musica
Apostila emi musica
 
Guia otimizacao para Mecanismos de Pesquisa
Guia otimizacao para Mecanismos de PesquisaGuia otimizacao para Mecanismos de Pesquisa
Guia otimizacao para Mecanismos de Pesquisa
 
Apostila para hackers iniciantes
Apostila para hackers iniciantesApostila para hackers iniciantes
Apostila para hackers iniciantes
 
Bactérias utilizadas na produção de alimentos
Bactérias utilizadas na produção de alimentosBactérias utilizadas na produção de alimentos
Bactérias utilizadas na produção de alimentos
 
Notas de violão para iniciantes
Notas de violão para iniciantesNotas de violão para iniciantes
Notas de violão para iniciantes
 
Hotelaria plan e gestão cap 3
Hotelaria plan e gestão cap 3Hotelaria plan e gestão cap 3
Hotelaria plan e gestão cap 3
 

Semelhante a Eng.ª do Software - 10. Testes de software

Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
Manuel Menezes de Sequeira
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
Capgemini
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
Wanderlei Silva do Carmo
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
MichaelArrais1
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
UFPA
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
testedesoftwarepe
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SW
guest8ae21d
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
Rogerio P C do Nascimento
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
Camilo Ribeiro
 
Testes de Software.ppt
Testes de Software.pptTestes de Software.ppt
Testes de Software.ppt
Bruno Zolotareff dos Santos
 
Testes de software
Testes de softwareTestes de software
Testes de software
teste
 
ybr789try
ybr789tryybr789try
ybr789try
teste
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
Thiago Ghisi
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
Roberto Nunes
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
DevInPF
 
Casos teste integração efetiva de algumas unidades
Casos teste integração efetiva de algumas unidades Casos teste integração efetiva de algumas unidades
Casos teste integração efetiva de algumas unidades
Adriana Telles
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
Felipe Bugov
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Claudinei Brito Junior
 
Teste de software
Teste de softwareTeste de software
Teste de software
Rafael Sanches
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
GustavoRondini
 

Semelhante a Eng.ª do Software - 10. Testes de software (20)

Eng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validaçãoEng.ª do Software - 9. Verificação e validação
Eng.ª do Software - 9. Verificação e validação
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SW
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Testes de Software.ppt
Testes de Software.pptTestes de Software.ppt
Testes de Software.ppt
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
ybr789try
ybr789tryybr789try
ybr789try
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
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
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
Casos teste integração efetiva de algumas unidades
Casos teste integração efetiva de algumas unidades Casos teste integração efetiva de algumas unidades
Casos teste integração efetiva de algumas unidades
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 

Mais de 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ção
Manuel 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ção
Manuel 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âncias
Manuel 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, Scanner
Manuel 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 caracteres
Manuel 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 problemas
Manuel 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ência
Manuel 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 pacote
Manuel Menezes de Sequeira
 

Mais de 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
 

Último

A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdfA Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
Falcão Brasil
 
Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...
Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...
Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...
Falcão Brasil
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Falcão Brasil
 
Plano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdf
Plano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdfPlano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdf
Plano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdf
Falcão Brasil
 
Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...
Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...
Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...
Falcão Brasil
 
Introdução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdfIntrodução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdf
valdeci17
 
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdfPortfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Falcão Brasil
 
Marinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdfMarinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdf
Falcão Brasil
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
principeandregalli
 
Slides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptx
Slides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptxSlides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptx
Slides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptx
LuizHenriquedeAlmeid6
 
P0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdfP0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdf
Ceiça Martins Vital
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
Marcelo Botura
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
Falcão Brasil
 
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptxSlides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
LuizHenriquedeAlmeid6
 
Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...
Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...
Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...
Falcão Brasil
 
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdfEscola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Falcão Brasil
 
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdfA Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
Falcão Brasil
 
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdfO Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
Falcão Brasil
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Falcão Brasil
 
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Falcão Brasil
 

Último (20)

A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdfA Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
 
Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...
Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...
Plano Estratégico Institucional do Centro Gestor e Operacional do Sistema de ...
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
 
Plano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdf
Plano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdfPlano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdf
Plano Diretor da Tecnologia da Informação PDTIC 2020 a 2023.pdf
 
Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...
Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...
Manual de Identidade Visual do Centro Gestor e Operacional do Sistema de Prot...
 
Introdução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdfIntrodução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdf
 
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdfPortfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
 
Marinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdfMarinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdf
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
 
Slides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptx
Slides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptxSlides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptx
Slides Lição 4, CPAD, O Encontro de Rute com Boaz, 3Tr24.pptx
 
P0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdfP0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdf
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
 
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptxSlides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
 
Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...
Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...
Aviação de Reconhecimento e Ataque na FAB. A Saga dos Guerreiros Polivalentes...
 
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdfEscola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
 
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdfA Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
 
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdfO Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
 
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
 

Eng.ª do Software - 10. Testes de software

  • 1. Engenharia do Software IManuel Menezes de SequeiraDCTI, ISCTE-IULManuel.Sequeira@iscte.pt, D6.02As 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 anteriorVerificação e validaçãoPlaneamento da verificação e validaçãoInspecções de softwareAnálise estática automáticaDesenvolvimento de software em sala limpa2009/20102Engenharia do Software I
  • 4. SumárioTestes de softwareTeste de sistemasTeste de componentesDesenho de casos de testeAutomatização de testes2009/20104Engenharia do Software I
  • 5. ObjectivosDiscutir diferença entre testes de validação e de defeitosDescrever princípios de testes de sistema e de componentesDescrever estratégias para gerar casos de teste para sistemasCompreender características essenciais das ferramentas de automatização de testes2009/20105Engenharia do Software I
  • 6. Processo de testesTestes de componentesTeste de componentes individuais do programaUsualmente responsabilidade de desenvolvedor do componente (excepto por vezes em sistemas críticos)Testes derivados da experiência do desenvolvedorTestes de sistemaTeste sistemas ou um subsistemas (compostos de componentes)Responsabilidade de equipa de testes independenteTestes baseados em especificação do sistema2009/2010Engenharia do Software I6
  • 7. Fases de teste2009/20107Engenharia do Software ITestes de componentesTestes de sistemasDesenvolvedor do softwareEquipa de testes independente
  • 8. Testes de defeitosObjectivo é descobrir defeitos em programasTeste com sucesso leva programa a comportamento anómaloMostram presença e não ausência de defeitos2009/2010Engenharia do Software I8
  • 9. Objectivos do processo de testesTestes de validaçãoDemonstra a desenvolvedor e cliente do sistema que software cumpre requisitosTeste com sucesso mostra que sistema se comporta como pretendidoTestes de defeitosDescobre erros ou defeitos no software levando a comportamento incorrecto ou que não corresponde à especificaçãoTeste com sucesso leva sistema a comportar-se incorrectamente, assim expondo um defeito no sistema2009/2010Engenharia do Software I9Um teste que não descubra erros ou defeitos é inconclusivo.
  • 10. Processo de testes de software2009/201010Engenharia do Software ICasos de testeDados de testeResultados dos testesRelatórios dos testesDesenhar casos de testePreparar dados de testeExecutar programa com dados de testeComparar resultado com casos de teste
  • 11. Políticas de testesTestes exaustivos podem mostrar ausência de defeitosTestes exaustivos geralmente impossíveisPolíticas de testes definem abordagem a usar na escolha de testes de sistemaTestar todas funcionalidades acessíveis em menusTestar combinações de funcionalidades acedidas no mesmo menuQuando for necessário introduzir dados do utilizador, testar todas funcionalidades com entradas correctas e incorrectas2009/2010Engenharia do Software I11
  • 12. Testes de sistemasEnvolvem integrar componentes de modo a formarem sistema ou subsistemaPodem envolver testar incremento a fornecer a cliente2009/2010Engenharia do Software I12
  • 13. Fases dos testes de sistemas2009/2010Engenharia do Software I13
  • 14. Testes de integraçãoEnvolveConstruir sistema a partir de componentesIr testando para revelar problemas gerados por interacção entre componentesIntegração deve ser incremental para simplificar localização de erros2009/2010Engenharia do Software I14
  • 16. Testes de integração incrementais2009/201016Engenharia do Software IT1T1T1AAAT2T2T2BBBT3T3T3CCT4T4DT5Sequência de testes 3Sequência de testes 2Sequência de testes 1
  • 17. Abordagens aos testes2009/2010Engenharia do Software I17DescendenteFacilita validação arquitectónica, i.e., descoberta de erros na arquitectura do sistemaPermite demonstração limitada do sistema mesmo em fases iniciais do desenvolvimentoObservação dos testes pode exigir código extraAscendenteFacilita muitas vezes implementação dos testesObservação dos testes pode exigir código extra
  • 18. Testes de lançamentoProcesso de teste do lançamento do sistema a fornecer a clientesObjectivo principal: aumentar confiança de fornecedor no cumprimento de requisitosNormalmente de caixa preta ou funcionaisBaseados só na especificação do sistemaTestadores não conhecem implementação2009/2010Engenharia do Software I18
  • 19. Testes de caixa preta2009/201019Engenharia do Software IDados de entrada do testeEntradas causadoras de anomaliasSistemaResultados de saída do testeResultados reveladores de defeitos
  • 20. Linhas de orientação para testesEscolher entradasGerando todas as mensagens de erroLevando a transbordamentos de memóriaRepetir várias vezes mesma entrada ou sequência de entradasForçar geração de saídas inválidasForçar cálculo de valores além dos limites2009/2010Engenharia do Software I20Dicas para equipa escolher testes que revelem defeitos no sistema.
  • 21. Cenário de testeNa Escócia, uma estudante está a estudar a história americana e foi convidada a escrever um artigo sobre a “mentalidade de fronteira no oeste americano de 1840 a 1880”. Para o fazer, precisa de encontrar fontes bibliográficas numa série de bibliotecas. Assim, autentica-se no sistema LIBSYS e usa o mecanismo de pesquisa para descobrir se pode aceder a documentos originais da época. Descobre fontes bibliográficas em várias bibliotecas universitárias dos EUA e descarrega cópias de algumas dessas fontes. No entanto, para um dos documentos é necessário que a sua universidade confirme que ela é realmente estudante e que a fonte será utilizada para fins não comerciais. A estudante usa o mecanismo do LIBSYS que permite solicitar essa autorização e regista o seu pedido. Se o pedido for concedido, o documento será transferido para o servidor da biblioteca e impresso. Ela receberá então uma mensagem do LIBSYS dizendo que irá receber uma mensagem de correio electrónico assim que o documento impresso estiver disponível para recolha.2009/2010Engenharia do Software I21
  • 22. Testes de sistemaTestar mecanismo de autenticação usando credenciais válidas e inválidas para verificar se utilizadores com credenciais válidas são aceites e se utilizadores com credenciais inválidas são rejeitados.Testar mecanismo de pesquisa usando diferentes interrogações a diferentes fontes de informação para verificar se mecanismo de facto encontra documentos.Testar mecanismo de apresentação para verificar se informação é apresentada correctamente.Testar mecanismo de pedido de autorização para descarregamento.Testar resposta via correio electrónico que indica que documento descarregado está disponível.2009/2010Engenharia do Software I22
  • 23. Casos de usoPodem ser base para obtenção de testes de sistemaAjudam a identificar operações a testar e ajudam a conceber os casos de teste necessáriosA partir de diagrama de sequência associado, indentificar entradas e saídas a usar nos testes2009/2010Engenharia do Software I23
  • 24. Diagrama de sequência da recolha de dados meteorológicos2009/201024Engenharia do Software Isd data collection: CommunicationsController: WeatherStation: WeatherDatagetReport()acknowledge()getReport()getSummary()acknowledge()
  • 25. Testes de desempenhoTestes de lançamento podem envolver teste a propriedades emergentesTestes de desempenhoTestes de fiabilidadePlanear série de testes com carga crescente até desempenho ficar inaceitável2009/2010Engenharia do Software I25
  • 26. Testes de estresseSujeitam sistema a cargas superiores a máximo previsto tentando revelar defeitosAferem comportamento em caso de falhaSistema não pode falhar catastroficamenteFalhas não podem levar a perdas inaceitáveis de serviço ou dadosMuito relevantes para sistemas distribuídos que podem sofre degradação séria perante rede sobrecarregada2009/2010Engenharia do Software I26
  • 27. Testes de componentes ou testes unitáriosProcesso de testar isoladamente componentes individuaisÉ processo de teste de defeitos2009/2010Engenharia do Software I27
  • 28. Componentes ou unidades (de modularização)RotinasFunções e procedimentos isoladosOperações de classes e seus objectosClasses e respectivas propriedades e operaçõesComponentes compósitos com interface definida para aceder à sua funcionalidade2009/2010Engenharia do Software I28
  • 29. Testes de classes (de objectos)Cobertura completa de classe por testes implicaTestar todas as operaçõesAlterar e inspeccionar todas as propriedadesFazer objectos passar por todos os estados representativosFazer objectos passar por todos os possíveis fluxos de controloHerança dificulta desenho de testes para classes, pois informação está disseminada2009/2010Engenharia do Software I29
  • 30. Interface de estação meteorológica2009/201030Engenharia do Software IWeatherStation+ reportWeather()+ calibrate(instruments)+ test()+ startup(instruments)+ shutdown(instruments)
  • 31. Teste da estação meteorológicaNecessário definir casos de teste parareportWeather()calibrate()test()startup()shutdown()2009/2010Engenharia do Software I31
  • 32. Teste da estação meteorológicaUsando modelo de transição de estadosIdentificar sequências de transição a testarIdentificar sequências de eventos que as causemExemploEsperandoCalibrandoTestandoTransmitindoEsperando2009/2010Engenharia do Software I32
  • 33. Testes de interfacesDetectar anomalias devidas aErros de interfaceSuposições inválidas acerca das interfacesEspecialmente importantes em desenvolvimento orientado para objectos (classes de objectos definidas pela interface)2009/2010Engenharia do Software I33
  • 34. Testes de interfaces2009/201034Engenharia do Software ICasos de testeBAC
  • 37. Linhas de orientação para testes de interfaceInvocar rotinas com valores extremos dos argumentosInvocar rotinas com argumentos nulos onde parâmetros forem ponteiros ou referênciasTentar fazer os componentes falharFazer testes de estresse em sistemas com passagem de mensagensVariar ordem de activação de componentes em sistemas com memória partilhada2009/2010Engenharia do Software I37
  • 38. Desenho de casos de testeDesenho de casos de teste (entradas e saídas) usados para testar sistemaObjectivo: criar conjunto de testes eficazes na validação e nos testes de defeitosAbordagensTestes baseados em requisitosTestes de partiçãoTestes estruturais2009/2010Engenharia do Software I38
  • 39. Testes baseados em requisitosRequisitos têm de ser testáveisTécnica de testes de validaçãoConjunto de testes derivado para cada requisito2009/2010Engenharia do Software I39Princípio geral da engenharia de requisitos
  • 42. Testes de partiçõesEntradas e saídas muitas vezes em diferentes classes cujos membros estão relacionadosCada classe é partição ou domínio de equivalência para cujos membros comportamento do programa é equivalenteDevem escolher-se casos de teste em cada partição2009/2010Engenharia do Software I42
  • 43. Partições de equivalência2009/201043Engenharia do Software Ientradas válidasentradas inválidasSistemasaídas
  • 44. Partições de equivalência2009/201044Engenharia do Software I3114107Número de entradasMenos de 4Entre 4 e 10Mais de 109 999100 00010 00099 99950 000Valores da entradaMenos de 10 000Entre 10 000 e 99 999Mais de 99 999
  • 45. Especificação de rotina de pesquisaprocedure Search(element : inElement_T; sequence : inarray (Integer range <>) ofElement_T;elementFound : inout Boolean; index : inout Integer) iswith Pre => -- the sequence has at least one elementsequence'FIRST <= sequence'LAST, Post => -- the element is found and is referenced by index (elementFoundand sequence(index) = element) or -- the element is not in the sequence (notelementFoundandnot (exists i, sequence'FIRST <= i <= sequence'LAST, sequence(i) = element));2009/2010Engenharia do Software I45Artificial…
  • 46. Partição das entradasEntradasQue não cumprem a pré-condiçãoQue cumprem a pré-condiçãoEm que o elemento ocorre na sequênciaEm que o elemento não ocorre na sequência2009/2010Engenharia do Software I46
  • 47. Linhas de orientação para testes (sequências)Usar sequências vaziasUsar sequências com um único elementoUsar sequências com diferentes comprimentos em diferentes testesForçar acesso a primeiro elemento, último elemento e elemento central2009/2010Engenharia do Software I47
  • 50. Testes estruturaisTambém conhecidos por testes de caixa brancaDerivação de casos de teste de acordo com estrutura do programaConhecimento do programa usado para identificar casos de teste adicionaisObjectivo é exercitar todas instruções do programa e não todos possíveis caminhos2009/2010Engenharia do Software I50
  • 51. Testes estruturais2009/201051Engenharia do Software IDados de testederivartestarCódigo do componenteResultados do teste
  • 52. Especificação de rotina de pesquisa bináriaprocedureSearchIncreasing(element : inElement_T; sequence : inarray (Integer range <>) ofElement_T;elementFound : inout Boolean; index : inout Integer) iswith Pre => -- the sequence is increasing (foralli, sequence'FIRST <= i < sequence'LAST, sequence(i) <= sequence(i + 1)), Post => -- the element is found and is referenced by index (elementFoundand sequence(index) = element) or -- the element is not in the sequence (notelementFoundandnot (exists i, sequence'FIRST <= i <= sequence'LAST, sequence(i) = element));2009/2010Engenharia do Software I52
  • 53. Partição das entradasEntradasQue não cumprem a pré-condiçãoQue cumprem a pré-condiçãoEm que o elemento ocorre na sequênciaEm que o elemento não ocorre na sequênciaSequência vaziaSequência com um único elementoSequência com um número par de elementosSequência com um número ímpar de elementos2009/2010Engenharia do Software I53
  • 54. Partições de equivalência2009/201054Engenharia do Software ICentroPrimeiroÚltimoCentro + 1Centro - 1InferioresSuperioresClasses de equivalência
  • 56. Teste de caminhosObjectivo: assegurar que conjunto de casos de teste garante que cada caminho é executado pelo menos uma vezComeçar por obter grafo de fluxo do programa mostrando nós representando decisões do programa e arcos representando o fluxo de controloInstruções com condições são por isso nós do grafo de fluxo de controlo2009/2010Engenharia do Software I56
  • 57. Implementação da pesquisa bináriapublic <T extends Comparable<T>> void search(final T element, final List<T> sequence) { 1 indexOfFoundElement = -1; 2 found = false; 3 int left = 0; 4 int right = sequence.size() - 1; 5 while(left <= right) { 6 final int middle = (left + right) / 2; 7 int comparison = sequence.get(middle).compareTo(element); 8 if(comparison == 0) { 9 found = true;10 indexOfFoundElement = middle;11 return;12 } else if(comparison < 0)13 left = middle + 1; else14 right = middle - 1; }15 }2009/2010Engenharia do Software I57
  • 58. Grafo de fluxo da pesquisa binária2009/201058Engenharia do Software I1234left > right5left <= right6comparison < 0713comparison == 0comparison != 089121410comparison > 01115
  • 59. Caminhos independentes2009/201059Engenharia do Software I111, 2, 3, 4, 5, 151, 2, 3, 4, 5, 6, 7, 8, 9, 10, 111, 2, 3, 4, 5, 6, 7, 8, 12, 13, 5, …1, 2, 3, 4, 5, 6, 7, 8, 12, 14, 5, …223344left > right55left <= right66comparison < 0771313comparison == 0comparison != 089128912141410comparison > 01011151115
  • 60. Caminhos independentesDesenvolver casos de teste que levem a execução de cada um dos caminhosUm analisador dinâmico de programas pode ser usado para verificar que todos os caminhos foram executados2009/2010Engenharia do Software I60
  • 61. Automatização de testesTestar é caroBancadas de trabalho para testes ajudam a automatizar o processoBancadas de trabalho para testesFerramentas para poupar tempo e custo dos testesSistemas como JUnit suportam execução automática de testesMaioria são sistemas abertos, assim suportando especificidades das organizaçõesPor vezes difíceis de integrar com bancadas de trabalho fechadas para desenho e análise2009/2010Engenharia do Software I61
  • 62. Uma bancada de trabalho para testes2009/201062Engenharia do Software IGerador de dados de testeEspecificaçãoOráculoDados de testeGestor de testesCódigo fontePrograma em testeResultados dos testesPrevisões dos testesAnalisador dinâmicoRelatório de execuçãoSimuladorComparador de ficheirosRelatório dos resultados dos testesGerador de relatórios
  • 63. Adaptação da bancada de trabalho para testesScripts para simuladores de interfaces com o utilizador e padrões para geradores de dadosPreparação manual de saídas dos testes para posterior comparaçãoDesenvolvimento de comparadores de ficheiros especializados2009/2010Engenharia do Software I63
  • 64. A reterTestesRevelam erros em sistemaNão demonstram ausência de errosDe componentes: desenvolvedoresDe sistema: outra equipaDe integração: incrementos a sistemaDe lançamento: sistema a fornecerDesenhados recorrendo a experiência e linhas de orientação2009/2010Engenharia do Software I64
  • 65. A reterTestes de interface revelam defeitos em interfaces de componentes compósitosPartições de equivalência para descobrir casos de teste – casos em partição têm comportamento equivalenteAnálise estrutural analisa programa e deriva casos de testeAutomatização de testes reduz custos através de múltiplas ferramentas software2009/2010Engenharia do Software I65
  • 66. A lerIanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006Capítulo 232009/2010Engenharia do Software I66