Aula 21 Testes 1. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio

Tamanho: px
Começar a partir da página:

Download "Aula 21 Testes 1. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio"

Transcrição

1 Aula 21 Testes 1 Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio

2 Especificação Objetivo dessa aula Apresentar os conceitos básicos utilizados ao testar módulos Apresentar 3 critérios de seleção de casos de teste caixa branca: cobertura de instruções, de arestas, de decisões Referência básica: Capítulo 15 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; / 32

3 Sumário Objetivos e Processo de teste Registro de falhas ou defeitos Critérios de seleção de casos de teste Critérios de cobertura de instruções, de arestas e de decisões Teste de repetições, arrasto Transformação de casos de teste abstratos em casos de teste úteis 3 / 32

4 Motivação Trem fantasma Na década de 90, na Inglaterra, ocorreu um problema nos sensores das linhas férreas situadas em túneis O sistema alertava o trem a parar devido à suspeita de outro trem na linha A causa do problema era a névoa de água salgada que confundia os sensores Motivo da falha: Provavelmente os requisitos do sistema não levavam em conta a névoa de água salgada como um possível evento Mai 2016 Bruno Cafeo - OPUS Group/LES/DI/PUC-Rio 4 / 49

5 Motivação Metrô em Nova Iorque Em 1995, duas composições colidiram matando um maquinista e ferindo 54 pessoas A distância entre os sinais (projetado em 1918) era menor que a distância de parada necessária para os trens em 1995 (maiores, mais pesados e mais rápidos) Os trens foram atualizados sem modificação no sistema de controle Motivo da falha: Atualização de uma parte do sistema sem validar o sistema como um todo. Mai 2016 Bruno Cafeo - OPUS Group/LES/DI/PUC-Rio 5 / 49

6 Motivação Ariane 5 Em 1996, o veículo espacial Ariane 5 saiu de sua rota e explodiu segundos após o lançamento. Levou uma década para ser desenvolvido e custou 7 bilhões de dólares Componentes reutilizados do veículo Ariane 4 foram a causa do acidente Motivo da falha: A variável que armazenava cálculo da velocidade horizontal do foguete deveria ter 64 bits (floating point), mas possuía 16 bits (signed integer). O valor era maior que gerando uma falha de conversão!!! Mai 2016 Bruno Cafeo - OPUS Group/LES/DI/PUC-Rio 6 / 49

7 Motivação Alguém já testou algum produto de software? Quais foram os maiores desafios? Mai 2016 Bruno Cafeo - OPUS Group/LES/DI/PUC-Rio 7 / 49

8 O que são testes? Testes são técnicas de controle da qualidade baseados na condução de experimentos controlados Em um experimento controlado: dispõe-se de uma hipótese: o módulo a testar corresponde exatamente à sua especificação não tem funcionalidade a mais não tem funcionalidade a menos satisfaz todos os requisitos não funcionais formula-se um conjunto de experimentos: a massa de teste conjunto de dados e comandos os resultados dos testes que suportam a hipótese os resultados esperados para cada dado e/ou comando procura-se identificar condições que tenham elevada chance de mostrar que a hipótese não vale 8 / 32

9 O que são testes? Em um experimento controlado (cont.): executa-se o teste (efetua-se o experimento) obtêm-se os resultados dos testes comparam-se os resultados esperados com os obtidos caso todos os experimentos comprovem que o resultado esperado é igual ao obtido, conclui-se que o programa corresponde à sua especificação, considerando o teste realizado a conclusão será sempre dependente da massa de teste utilizada a rigor testes deveriam ser repetidos com variadas massas de teste e variadas condições de realização deles quanto maior o rigor do experimento, mais confiança poder-se-á depositar na conclusão 9 / 32

10 Postura ao testar Em geral o teste deve ser orientado à destruição procurar demonstrar que o módulo não corresponde exatamente à especificação procurar demonstrar que o módulo não funciona ao invés de demonstrar que corresponde à especificação ao invés de ver se funciona algumas vezes o teste será orientado à avaliação (auditoria funcional) verificar se resolve o problema do usuário quão bem o faz mesmo aqui o interesse é descobrir os casos em que não o faz tão bem quanto o esperado 10 / 32

11 Características de testes Testes são caros há quem diga que testes correspondem a entre 30 e 50% do esforço de desenvolvimento problema é como foi obtida esta estatística? demorados através da automação dos testes reduz-se significativamente (ordens de grandeza) o esforço despendido ineficientes encontram poucas falhas a cada execução ineficazes estatísticas mostram que somente encontram cerca de 65% dos problemas devem ser projetados cuidadosamente visando aumentar eficiência e eficácia 11 / 32

12 Objetivos do teste Encontrar o maior número de falhas relevantes possível encontrar todas é um ideal em geral não alcançável Encontrar falhas funcionais o módulo não corresponde exatamente à sua especificação Estimar o grau de qualidade do teste completeza (cobertura) do teste ver contadores de passagem riscos de defeitos remanescentes os defeitos remanescentes são sempre desconhecidos 12 / 32

13 Processo de teste Requisitos de qualidade Especificação Solicitação de alteração Corrigir artefato Selecionar critérios Produzir casos de teste Produzir artefato instrumentado Efetuar teste Falha do artefato Reduzir instrumentação Corrigir casos de teste Falha dos casos de teste Diagnosticar falhas OK final OK intermediário Solicitação de alteração Falha da especificação Artefato aceito Laudos finais fluxo de laudos fluxo do processo fluxo de informação Massas de teste aceitas Especificação aceita Armadura de teste aceita 13 / 32

14 Controle da suficiência dos testes Podem ser utilizadas diversas formas para controlar a suficiência dos testes medir a cobertura dos testes mede-se com o uso de contadores, vide aula de instrumentação (módulo CONTA) esta técnica de controle da suficiência de testes pode ser utilizada junto com qualquer critério de seleção de casos de teste existem vários critérios de completeza caso um ou mais dos contadores contenha zero e não for possível argumentar que o contador será sempre zero para qualquer instância de uso estamos diante de: ou código morto ou código de interceptação de falha 14 / 32

15 Controle da suficiência dos testes Código morto é uma função ou fragmento de código, que jamais poderá ser exercitado em qualquer condição de uso normal ou de tratamento de falha Código morto deve ser excluído do programa manutenção de código morto é uma despesa inútil Interceptação de falha não é código morto interceptação de falhas é proteção contra lesões causas endógenas, exógenas ou decorrentes do mau uso tipicamente consta de assertivas executáveis e o código de tratamento para o caso das assertivas falharem evidentemente o código de tratamento jamais deveria ser executado caso o artefato esteja operando de forma correta 15 / 32

16 Controle da suficiência dos testes Outra forma de avaliar a suficiência de testes é medir o intervalo de tempo entre falhas realizam-se continuamente testes (ou utiliza-se o módulo em produção) com dados variantes mede-se o intervalo de tempo decorrido entre falhas consecutivas Caso o intervalo observado seja maior do que um número estipulado, assume-se que o artefato tenha sido suficientemente testado corre-se o risco de que o artefato ainda contenha um número possivelmente grande de defeitos desconhecidos depende da forma do uso MTBF mean time between failures é um indicador de risco, quanto maior o MTBF menor o risco 16 / 32

17 Controle da suficiência dos testes Não são critérios que determinam a suficiência dos testes: esgotamento do prazo para entrega do artefato esgotamento dos recursos disponíveis para desenvolver o artefato Infelizmente tendem a ser os critérios mais populares 17 / 32

18 Critérios de seleção de casos de teste Critérios de seleção de casos de teste são utilizados para gerar os casos de teste que compõem a massa de teste a geração pode ser manual, ou parcial ou totalmente automatizada Categorias de critérios de seleção de casos de teste teste caixa preta gera os casos utilizando somente a especificação a massa pode ser desenvolvida antes ou junto com o código teste caixa branca (teste estrutural) gera os casos de teste utilizando o código completo e a especificação teste de estruturas de dados gera os casos de teste utilizando modelos e/ou o código de declaração da estrutura de dados e a especificação 18 / 35

19 Critérios de seleção de casos de teste Um critério de seleção de casos de teste é válido: existindo defeitos no artefato testado, acusa falhas que permitam localizar esses defeitos confiável: é indiferente à escolha dos dados e ações usados na massa de teste completo: exercita todo o código segundo um padrão de completeza eficaz: quanto mais falhas encontrar, provocadas por diferentes defeitos quanto mais defeitos for capaz de identificar eficiente: quanto menos recursos necessitar para executar os testes 19 / 35

20 Critérios: caixa branca Passo 1: produção do fluxograma MAT_tpCondRet f1(int i, int j) { if ( ( i < 10 ) && ( j < 10 ) ) { i = ( i + j ) / 2; if ( i > 5 ) { j = 10; else { i = 10; } } return MAT_CondRetOK; }

21 Critérios: caixa branca MAT_tpCondRet f1(int i, int j) { } Passo 1: produção do fluxograma if ( ( i < 10 ) && ( j < 10 ) ) { } i = ( i + j ) / 2; if ( i > 5 ) { else { } j = 10; i = 10; return MAT_CondRetOK; S if ( ( i < 10 ) && ( j < 10 )) i = ( i + j ) / 2 ; if ( i > 5 ) j = 10 ; i = 10 ; S N N

22 Critérios de cobertura: instruções Cobertura de instruções A if ( ( i < 10 ) && ( j < 10 )) N (vértices) Cada instrução é executada pelo menos uma vez no B S i = ( i + j ) / 2 ; conjunto de todos os casos de teste rotulam-se as instruções e C criam-se os casos de teste S if ( i > 5 ) N cada caso percorre pelo D E menos uma instrução ainda não percorrida j = 10 ; i = 10 ; até que todas as instruções tenham sido percorridas i = 4 ; j = 8 A B C D i = 4 ; j = 4 A B C E Jun 2009 LES/DI/PUC-Rio 22 / 32

23 Critérios de cobertura: arestas Cobertura de arestas I Cada aresta é percorrida pelo if ( ( i < 10 ) && ( j < 10 )) N B menos uma vez no conjunto de todos os casos de teste D A i = ( i + j ) / 2 ; C S N if ( i > 5 ) j = 10 ; i = 10 ; F S E rotulam-se as arestas e criam-se os casos de teste cada caso percorre pelo menos uma aresta ainda não percorrida até que todas as arestas tenham sido percorridas i = 4 ; j = 8 I A C D F i = 4 ; j = 6 I A C E F Suficiente? Jun 2009 LES/DI/PUC-Rio 23 / 32

24 Critérios de cobertura: arestas Cobertura de arestas I Cada aresta é percorrida pelo if ( ( i < 10 ) && ( j < 10 )) N B menos uma vez no conjunto de todos os casos de teste D A i = ( i + j ) / 2 ; C S N if ( i > 5 ) j = 10 ; i = 10 ; F S E rotulam-se as arestas e criam-se os casos de teste cada caso percorre pelo menos uma aresta ainda não percorrida até que todas as arestas tenham sido percorridas i = 4 ; j = 8 I A C D F i = 4 ; j = 6 I A C E F i = 3 ; j = 10 I B F Jun 2009 LES/DI/PUC-Rio 24 / 32

25 Critérios de cobertura: decisões A (v, v) if ( ( i < 10 ) N D (f, f) && ( j < 10 )) S i = ( i + j ) / 2 ; S if ( i > 5 ) N B (v, f) C (f, v) E (v) F (f) j = 10 ; i = 10 ; Cobertura de decisões Cada combinação ao avaliar membros das expressões lógicas é exercitada pelo menos uma vez no conjunto de todos os casos de teste Neste caso, as decisões são rotuladas i = 4 ; j = 9 A, E i = 1 ; j = 1 A, F i = 4 ; j = 10 B i = 10 ; j = 4 C i = 10 ; j = 10 D Possíveis combinações de decisões: v,v,v v,v,f v,f f,v f,f LES/DI/PUC-Rio Neste caso, são necessários no mínimo 5 casos de teste 25 / 35

26 Critérios de cobertura: repetições Caso cobertura de instrução executar a repetição para n > 1 iterações; Caso cobertura de arestas executar a repetição para: n = 0 iterações n = 1 iteração n >= 2 iterações Caso cobertura de decisões como na cobertura de arestas em adição: cada uma das possibilidades de se decidir pelo término foi exercitada para os 3 casos acima break, ou return no corpo da repetição expressão de controle de término composta 26 / 35

27 Critérios de cobertura: repetições O custo do teste cresce com o número de iterações portanto o número de iterações a testar no caso n > 1 deverá ser pequeno e ser suficientemente grande para que o teste possa ser assumido válido 27 / 35

28 Arrasto Arrasto é o maior dos menores números de iterações necessárias para que todas as variáveis ou estados inicializados antes e modificados durante a repetição passem a depender exclusivamente de valores computados em iterações anteriores de uma mesma instância de execução dessa repetição Exemplos: A[0] = 0 ; A[1] = 0 ; A[2] = 0 ; A[3] = 0 ; memset( A, 0, sizeof( A )) ; pelem = ProcurarSimbolo( ptabela, psimbolo ) ; todos têm Arrasto == 0 Arrasto: força de resistência ao avanço de um objeto em um fluido, resultante da ação do meio 28 / 35

29 Critérios de cobertura: repetições O arrasto é o número mínimo de iterações a realizar para que todos os valores que possam ser modificados durante a repetição tenham sido de fato modificados 29 / 35

30 Arrasto Arrasto é o menor número de iterações necessárias para que todas as variáveis ou estados inicializados antes e modificados durante a repetição passem a depender exclusivamente de valores modificados em iterações anteriores de uma mesma instância de execução dessa repetição Exemplos: for (i = 0; i < TamVet; i++) { Vet[i] = 0; } Soma = 0; for (i = 0; i < TamVet; i++) { Soma += Vet[i]; } i somente é atualizado apenas depois do fim da 1a. Interação todos têm Arrasto == 1 Jun 2009 LES/DI/PUC-Rio 30 / 35

31 Arrasto: exemplos Série de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,... lei de formação F n = F n-2 + F n-1 tem Arrasto ==? int main() { int tam, f1, f2, f3, cont; do { printf("digite o tamanho da sequencia: "); scanf("%i", &tam); if (tam <= 0) printf("digite um numero positivo!!"); } while (tam <= 0); } printf("0-1 - "); f1 = 0; f2 = 1; for (cont = 3; cont <= tam ; cont++) { f3 = f2 + f1; printf("%i - ", f3); f1 = f2; f2 = f3; } return 0;? Jun 2009 LES/DI/PUC-Rio 31 / 35

32 Arrasto: exemplos Série de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,... lei de formação F n = F n-2 + F n-1 tem Arrasto == 3 int main() { int tam, f1, f2, f3, cont; do { printf("digite um numero: "); scanf("%i", &tam); if (tam <= 0) printf("digite um numero positivo!!"); } while (tam<=0); Ainda não satisfaz as condições do arrasto Quando variável passa depender somente de valores gerados em iterações anteriores } printf("0-1 - "); f1 = 0; f2 = 1; for (cont = 3; cont <= tam ; cont++) { f3 = f2 + f1; printf("%i - ", f3); f1 = f2; f2 = f3; } return 0; cont f3 f1 f Jun 2009 LES/DI/PUC-Rio 32 / 35

33 Arrasto: exemplos for ( i = 0 ; i < 10 ; i++ )... for ( pelem = porg ; pelem!= NULL ; pelem = pelem->pprox )... fgets, fputs, fread, fwrite tpestado Corrente ; Corrente = DefinirPrimeiro( ValorProcurado ) ; while (!Terminou( Corrente )) { if ( Comparar( ObterValor( Corrente ), ValorProcurado ) == EH_IGUAL ) { return Corrente ; } /* if */ Corrente = DefinirProximo( Corrente, ValorProcurado ) ; } /* while */ return ESTADO_NIL ; Todos têm Arrasto == 1 33 / 35

34 Arrasto: exemplos A Intercalar arquivos Buffer A Buffer B B Abrir arquivos E Ler 1o. reg de A Ler 1o. reg de B C 2 Efetuar a intercalação F Intercalar pares regs correntes D Fechar arquivos { enquanto RegA.Chave < máximo ou RegB.Chave < máximo } {RegA.Chave < RegB.Chave} {RegA.Chave == RegB.Chave} G Transferir reg de A para S H Transferir regs de A para E e de B para E {RegA.Chave > RegB.Chave} I Transferir reg de B para S Tem Arrasto ==? Jun 2009 LES/DI/PUC-Rio 34 / 35

35 Arrasto: exemplos Tem Arrasto == 2 A Intercalar arquivos Abrir arquivos MAIOR DOS... menores números de iterações B Buffer A Buffer B Caso 1 E Ler 1o. reg de A Ler 1o. reg de B Transferir reg de A para S C 2 Efetuar a intercalação Intercalar pares regs correntes {RegA.Chave < RegB.Chave} {RegA.Chave == RegB.Chave} G F Caso 2 H Transferir regs de A para E e de B para E Fechar arquivos { enquanto RegA.Chave < máximo ou RegB.Chave < máximo } {RegA.Chave > RegB.Chave} Transferir reg de B para S buffers mudam com duasbuffers mudam com somente uma interações interação Jun 2009 LES/DI/PUC-Rio 35 / 35 D I

36 Arrasto: exemplos A Intercalar arquivos B Abrir arquivos E Ler 1o. reg de A Ler 1o. reg de B C 2 Efetuar a intercalação F Intercalar pares regs correntes D Fechar arquivos { enquanto RegA.Chave < máximo ou RegB.Chave < máximo } {RegA.Chave < RegB.Chave} {RegA.Chave == RegB.Chave} G Transferir reg de A para S H Transferir regs de A para E e de B para E {RegA.Chave > RegB.Chave} I Transferir reg de B para S Tem Arrasto == 2 36 / 35

37 Critérios de cobertura: repetições O arrasto é o número mínimo de iterações a realizar para que todos os valores que possam ser modificados durante a repetição tenham sido de fato modificados corresponde ao número mínimo de iterações para atingir o estado genérico é função do projetista determinar o arrasto Os casos de teste a para as repetições são: caso 0 iteração (caso especial) caso 1 iteração (base da indução) caso n >= arrasto + 1 iterações (simula o passo de indução) devem sempre ser considerados os casos de término: break ou return no corpo da iteração atingiu a condição de término 37 / 35

38 Critério cobertura de decisões: exemplo Esquema do algoritmo para pesquisa em qualquer tabela tpestado Corrente ; Corrente = DefinirPrimeiro( ValorProcurado ) ; while (!Terminou( Corrente )) { if ( Comparar( ObterValor( Corrente ), ValorProcurado ) == EH_IGUAL ) { return Corrente ; } /* if */ Corrente = DefinirProximo( Corrente, ValorProcurado ) ; } /* while */ return ESTADO_NIL ; arrasto == 1 38 / 35

39 Critério cobertura de decisões: exemplo Caso 0 iterações: tabela vazia tabela com 1 ou mais elementos e acha o primeiro elemento Caso 1 iteração: tabela com 1 elemento e não acha o elemento tabela com 2 ou mais elementos e acha o segundo elemento Caso arrasto + 1 iterações: tabela com 2 elementos e não acha o elemento tabela com 3 ou mais elementos e acha o segundo elemento 39 / 35

40 FIM 40 / 32

Aula 23 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Aula 23 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Aula 23 Testes 3 Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; 2008. Especificação Objetivo dessa

Leia mais

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Aula 20 Testes 3 Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; 2008. Teste de Caixa Branca O que

Leia mais

Programação Modular: Prova, Trabalho e Considerações Finais

Programação Modular: Prova, Trabalho e Considerações Finais Programação Modular: Prova, Trabalho e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio Junho 2016 Prova 22/06 Toda matéria Em particular, material após P1 Dicas: Revisem os exercícios dados em sala

Leia mais

Teste Estrutural 1. Arndt von Staa Departamento de Informática PUC-Rio Maio 2017

Teste Estrutural 1. Arndt von Staa Departamento de Informática PUC-Rio Maio 2017 1 Teste Estrutural 1 Arndt von Staa Departamento de Informática PUC-Rio Maio 2017 Especificação Objetivo desse módulo Apresentar os conceitos de teste estrutural visando o teste de unidades. Apresentar

Leia mais

Teste Estrutural 1. Arndt von Staa Departamento de Informática PUC-Rio Fevereiro 2018

Teste Estrutural 1. Arndt von Staa Departamento de Informática PUC-Rio Fevereiro 2018 1 Teste Estrutural 1 Arndt von Staa Departamento de Informática PUC-Rio Fevereiro 2018 Especificação Objetivo desse módulo Apresentar os conceitos de teste estrutural visando o teste de unidades. Apresentar

Leia mais

Aula 27 Testes Caixa Branca. Alessandro Garcia Willian Oizumi LES/DI/PUC-Rio Novembro 2014

Aula 27 Testes Caixa Branca. Alessandro Garcia Willian Oizumi LES/DI/PUC-Rio Novembro 2014 Aula 27 Testes Caixa Branca Alessandro Garcia Willian Oizumi LES/DI/PUC-Rio Novembro 2014 Especificação Objetivo dessa aula Apresentar os conceitos básicos utilizados ao testar módulos Apresentar 3 critérios

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Especificação de comandos Objectivo: O objectivo da especificação formal de comandos é a necessidade de assegurar a correcção dos comandos a desenvolver. Torna-se necessário desenvolver uma metodologia

Leia mais

Apêndice 1. Recomendações para testes de módulos

Apêndice 1. Recomendações para testes de módulos Recomendações para testes de módulos - 1 Apêndice 1. Recomendações para testes de módulos O presente conjunto de recomendações tem por objetivo definir um conjunto mínimo de critérios de seleção de casos

Leia mais

Programação Modular: Exercício T4 e Considerações Finais

Programação Modular: Exercício T4 e Considerações Finais Programação Modular: Eercício T4 e Considerações Finais Alessandro Garcia LES/DI/PUC-Rio Cronograma Aula 13/6: Eercício do T3 relativo a: critérios de cobertura de teste caia-branca instrumentação para

Leia mais

Teste de Software. Karen Frigo Busolin Novembro / 2010

Teste de Software. Karen Frigo Busolin Novembro / 2010 Teste de Software Karen Frigo Busolin Novembro / 2010 Processo de Testes de Software Possibilitar aos profissionais maior visibilidade e organização dos trabalhos. Representa uma estruturação de etapas,

Leia mais

Respostas Exercício: Cobertura Teste Caixa Branca

Respostas Exercício: Cobertura Teste Caixa Branca Respostas Eercício: Cobertura Teste Caia Branca Alessandro Garcia LES/DI/PUC-Rio Junho 2016 Eercício 1 a) Fluograma Note que eistem dois comandos (13 e 14), com rótulos G e H, na mesma linha. G 1. #include

Leia mais

Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia

Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia Aula 04 Princípios de Modularidade 3 e Introdução à Teste de Software Alessandro Garcia LES/DI/PUC-Rio Março 2017 Avisos O horário de monitoria será no seguinte horário: 6ª. Feira, 13:00 15:00 (15 alunos

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

Aula 10 Especificação de Requisitos

Aula 10 Especificação de Requisitos Aula 10 Especificação de Requisitos Alessandro Garcia LES/DI/PUC-Rio Setembro 2016 Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos

Leia mais

Aula 5 Introdução à Teste de Módulos. Alessandro Garcia LES/DI/PUC-Rio Agosto 2017

Aula 5 Introdução à Teste de Módulos. Alessandro Garcia LES/DI/PUC-Rio Agosto 2017 Aula 5 Introdução à Teste de Módulos Alessandro Garcia LES/DI/PUC-Rio Agosto 2017 Avisos Monitoria, horário: Sextas, 11:00 às 13:00 9º. Andar do Prédio Pe. Leonel Franca Próxima aula: exercício (T1) Alessandro

Leia mais

Qualidade de Software e Atividades de Verificação e Validação

Qualidade de Software e Atividades de Verificação e Validação e Atividades de Verificação e Validação Profa. Ellen Francine Barbosa {francine}@icmc.usp.br Instituto de Ciências Matemáticas e de Computação ICMC/USP Roteiro I Trem Fantasma Desastre no Metrô de Nova

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Disciplina: Algoritmos e Programação Luciano Moraes Da Luz Brum Universidade Federal do Pampa Unipampa Campus Bagé Email: lucianobrum18@gmail.com Horários de atendimento: (outros

Leia mais

Estruturas de repetição

Estruturas de repetição Título em português: FEITIÇO DO TEMPO (1993) Sinopse: Um repórter de televisão que faz previsões de meteorologia vai à uma pequena cidade para fazer uma matéria especial sobre o inverno. Querendo ir embora

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

SSC 0721 Teste e Validação de Software

SSC 0721 Teste e Validação de Software SSC 0721 Teste e Validação de Software Conceitos básicos Prof. Marcio E. Delamaro delamaro@icmc.usp.br SSC 0721 Teste e Validação de Software ICMC/USP p. 1 O que é teste Atividade de executar um programa

Leia mais

Modulo 4: while do while (limites de variáveis)

Modulo 4: while do while (limites de variáveis) PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 4: while do while (limites de variáveis) Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Até aqui apreendemos as estruturas: If e If...else Switch

Leia mais

Aula 17 Decomposição sucessiva

Aula 17 Decomposição sucessiva Aula 17 Decomposição sucessiva Francisco Dantas LES/DI/PUC-Rio Agosto 2008 Especificação Objetivos dessa aula Apresentar o método de desenvolvimento baseado em decomposição sucessiva Apresentar uma técnica

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

Medidas de Esforço de Desenvolvimento de Software

Medidas de Esforço de Desenvolvimento de Software Medidas de Esforço de Desenvolvimento de Software Unidade 1 Fundamentos de Métricas e Medidas Luiz Leão luizleao@gmail.com http://www.luizleao.com Unidade 1 Fundamentos de métricas e medidas Introdução

Leia mais

Aula 11 Assertivas. Alessandro Garcia LES/DI/PUC-Rio Abril 2016

Aula 11 Assertivas. Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Aula 11 Assertivas Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Especificação Objetivo dessa aula Discutir como especificar funções Apresentar assertivas de entrada, de saída e estruturais como um instrumento

Leia mais

Estruturas de Repetição

Estruturas de Repetição Prof.: Edwar Saliba Júnior Fevereiro 2012 1 Nomenclaturas: Loopings, Laços ou Malhas de Repetição; Possibilidades de Parada: Quantidade de repetições previamente definida (melhoria na legibilidade e qualidade

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos 2018.2 Modelo de Computação Determinação de como os cálculos são realizados pelo computador e que funcionalidades ele possui. Máquina de Turing É um modelo de computação

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Qualidade de software. Prof. Emiliano Monteiro

Qualidade de software. Prof. Emiliano Monteiro Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação

Leia mais

Algoritmos e Estruturas de Dados I Linguagem C

Algoritmos e Estruturas de Dados I Linguagem C Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 11 Recursividade 1 Recursão Na linguagem C, uma função pode chamar outra função. A função main()

Leia mais

Entrada Processamento Saída

Entrada Processamento Saída Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Disciplina: PEOO Professor: Eberton da Silva Marinho e-mail: ebertonsm@gmail.com Data:

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Alguns cálculos realizados pelo computador são feitos de forma repetitiva Exemplos: Cálculo de 25! fat = 25*24*23*22*21*20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1; Soma

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

Garantia de Qualidade

Garantia de Qualidade Garantia de Qualidade Teste de Software Profa Rosana Braga Material produzido por docents do Labes e revisado por Simone Souza Disciplina: Engenharia de Software ICMC/USP O Processo de Engenharia de Software

Leia mais

Programação Estruturada Aula - Estruturas de Repetição

Programação Estruturada Aula - Estruturas de Repetição Programação Estruturada Aula - Estruturas de Repetição Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 TESTE NO INÍCIO: WHILE Fundamentos TESTE NO INÍCIO: WHILE Estes comandos permitem

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados

Leia mais

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Linguagem de Programação 1 Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Objetivo: Apresentar a composição lógica em estruturas de decisão e as

Leia mais

Teste de Software. Proj. Desenvolvimento de Software. Prof. Cleverton Hentz. 30 de agosto de Material Apresentado

Teste de Software. Proj. Desenvolvimento de Software. Prof. Cleverton Hentz. 30 de agosto de Material Apresentado Teste de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 30 de agosto de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Níveis de Teste 3 Terminologia

Leia mais

LINGUAGEM C CONTROLE DE FLUXO

LINGUAGEM C CONTROLE DE FLUXO LINGUAGEM C CONTROLE DE FLUXO Introdução à Programação Prof. Cayo Fontana SUMÁRIO Instruções Condicionais Simples Composta Seleção Instruções de Repetição Instruções de Desvio INSTRUÇÕES CONDICIONAIS Praticamente

Leia mais

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE) Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional

Leia mais

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software Engenharia de Software Aula 17 Desenvolvimento de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 7 Maio 2012 1. Especificação de requisitos 2. Projeto

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVO Compreender uma série de técnicas de testes, que são utilizadas para descobrir defeitos em programas Conhecer as diretrizes que

Leia mais

Introdução a Testes de Software. Ricardo Argenton Ramos

Introdução a Testes de Software. Ricardo Argenton Ramos Introdução a Testes de Software Ricardo Argenton Ramos ricargentonramos@gmail.com Agenda da Aula Introdução sobre Testes; Testes Funcionais de software; Testes Estruturais de Software; Teste de Software

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Técnica de Teste Estrutural Critérios de Teste 2 Casos de Teste Diante da impossibilidade

Leia mais

Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23

Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23 Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23 Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

AED2 - Aula 22 Busca em largura, cálculo de distâncias

AED2 - Aula 22 Busca em largura, cálculo de distâncias AED2 - Aula 22 Busca em largura, cálculo de distâncias Relembrando a busca genérica, usando um versão alternativa: marque todos os vértices como não encontrados. marque s como encontrado. coloque s no

Leia mais

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Algoritmos e Técnicas de Programação. Professora: Luciana Faria Algoritmos e Técnicas de Programação Professora: Luciana Faria Estrutura de Repetição condicional Estrutura de repetição Nas aulas anteriores verificamos que a execução sequencial dos comandos da função

Leia mais

MC-102 Aula 07 Comandos Repetitivos

MC-102 Aula 07 Comandos Repetitivos MC-102 Aula 07 Comandos Repetitivos Instituto de Computação Unicamp 11 de Setembro de 2016 Roteiro 1 Variável Indicadora Números Primos Números em Ordem 2 Variável Contadora Números Primos 3 Outros Exemplos

Leia mais

Métodos Computacionais em Física

Métodos Computacionais em Física Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 2014-2 Informações gerais Todas as informações sobre o curso, ementa, cronograma, listas de exercício etc podem ser encontradas

Leia mais

SSC643 -Avaliação de Desempenho de Sistemas Computacionais -

SSC643 -Avaliação de Desempenho de Sistemas Computacionais - Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC643 -Avaliação de Desempenho de Sistemas Computacionais - Aula 2 Sarita Mazzini Bruschi

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal

Leia mais

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente

Leia mais

Aula 10 Comandos de Repetição

Aula 10 Comandos de Repetição Aula 10 Comandos de Repetição Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Em certas situações é necessária

Leia mais

Recursão David Déharbe

Recursão David Déharbe Recursão David Déharbe 1 1 Objetivos da aula O conceito de recursão. Exemplos. Programação em C. 2 2 Roteiro da aula Revisão de funções; Motivação; Definição; Dois exemplos básicos; Recursão mútua; Dois

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Aula 19 Instrumentação Parte 1

Aula 19 Instrumentação Parte 1 Aula 19 Instrumentação Parte 1 Alessandro Garcia LES/DI/PUC-Rio Novembro 2016 Hoje... Especificação Objetivo dessa aula Motivar instrumentação de programas Necessidade do controle de espaços dinâmicos

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU Aula 7 Oficina de Programação Estruturas de Repetição no C Profa. Elaine Faria UFU - 2017 Aula de Hoje Estruturas de repetição: do while while for Introdução Apresentar as estruturas de repetição do while,

Leia mais

Aula 17 Revisão. Alessandro Garcia LES/DI/PUC-Rio Abril 2010

Aula 17 Revisão. Alessandro Garcia LES/DI/PUC-Rio Abril 2010 Aula 17 Revisão Alessandro Garcia LES/DI/PUC-Rio Abril 2010 Matéria da Prova Todo material dado até o dia de hoje capítulos correspondentes do livro são indicados no início de cada aula material referenciado

Leia mais

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

INTRODUÇÃO A ENGENHARIA DE SOFTWARE Universidade TESTE Estadual DE SOFTWARE Vale do Acaraú O que são testes? INTRODUÇÃO A ENGENHARIA DE SOFTWARE Teste é um processo de avaliar um sistema ou um componente de um sistema para verificar se ele

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

Engenharia de Software

Engenharia de Software Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação

Leia mais

Aula 02 Conceitos e Princípios de Modularidade 1

Aula 02 Conceitos e Princípios de Modularidade 1 Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Agosto 2016 Lembretes Horário das aulas inicio cada aula a partir de 13:15 Sítio (site) da disciplina: www.inf.puc-rio.br/~inf1301

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - Funções e Procedimentos Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada

Leia mais

Aula 02 Conceitos e Princípios de Modularidade 1

Aula 02 Conceitos e Princípios de Modularidade 1 Aula 02 Conceitos e Princípios de Modularidade 1 Alessandro Garcia LES/DI/PUC-Rio Março 2017 Lembretes Horário das aulas vamos ter que começar as 13:00 Definição de horário de monitoria Sítio (site) da

Leia mais

Aula 15: Repetição (Parte 3)

Aula 15: Repetição (Parte 3) Aula 15: Repetição (Parte 3) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Recursividade. Objetivos do módulo. O que é recursividade

Recursividade. Objetivos do módulo. O que é recursividade Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade

Leia mais

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira E-mail: adelson.nogueira@pitagoras.com.br Aplicação: 1) Como imprimir os três primeiros número ímpares? Aplicação:

Leia mais

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento Teste de Software 3 Teste de Software Objetivo: Executar software para revelar erros/falhas ainda não descobertos Pode gastar 40% do esforço de desenvolvimento 2 Teste de Software Defeito (fault, defects)

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

VETORES Motivação AULA 19

VETORES Motivação AULA 19 AULA 19 VETORES 19.1 Motivação Considere o problema de calcular a média aritmética das notas de 5 alunos de uma disciplina e determinar e escrever o número de alunos que obtiveram nota superior à média

Leia mais

Aula 14: Repetição (Parte 2)

Aula 14: Repetição (Parte 2) Aula 14: Repetição (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Laços de repetição Comando de repetição

Leia mais

Aula 9 Especificação de Requisitos

Aula 9 Especificação de Requisitos Aula 9 Especificação de Requisitos Alessandro Garcia LES/DI/PUC-Rio Abril 2016 Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos relacionados

Leia mais

LINGUAGEM C: ARQUIVOS

LINGUAGEM C: ARQUIVOS LINGUAGEM C: ARQUIVOS Prof. André Backes Arquivos 2 Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial;

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros 7 Conclusão e Trabalhos Futuros O teste é uma etapa importante no desenvolvimento de software. Quando realizado de forma apropriada pode identificar uma grande parcela dos defeitos contidos no software,

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

Leia mais

4. Constantes. Constantes pré-definidas

4. Constantes. Constantes pré-definidas 4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.

Leia mais

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo Teste de Software Planejamento de Teste Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Atividades de Teste Conceitos importante no Contexto de Teste Abordagem de Teste 2 Atividades de

Leia mais

Aula 11. Assertivas. Alessandro Garcia LES/DI/PUC-Rio Setembro 2009

Aula 11. Assertivas. Alessandro Garcia LES/DI/PUC-Rio Setembro 2009 Aula 11 Assertivas Alessandro Garcia LES/DI/PUC-Rio Setembro 2009 Especificação Objetivo dessa aula Apresentar assertivas de entrada, de saída e estruturais como um instrumento de especificação Referência

Leia mais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo

Leia mais

Prof. A. G. Silva. 13 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de / 21

Prof. A. G. Silva. 13 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de / 21 INE5603 Introdução à POO Prof. A. G. Silva 13 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de 2017 1 / 21 Estruturas de repeteção (INTRODUÇÃO) Prof. A. G. Silva INE5603

Leia mais

Comandos de Controle do Programa

Comandos de Controle do Programa Comandos de Controle do Programa Comandos de Seleção - if, else, switch Comandos de Iteração - for, while, do-while Comandos de Desvio - return, goto, break, continue O Comando if O if O else O if-else-if

Leia mais

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr. Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Verificação e Validação (V&V) S.L.Pfleeger (Cap.8 & 9) R.Pressman (Cap.13 & 14) I.Sommerville (Cap.22 & 23) Introdução Verificação

Leia mais

Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana

Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana Estágio II Aula 01 Qualidade de Software Prof. MSc. Fred Viana Agenda Qualidade de Software Definições Dimensões Qualidade e Produtividade Por que testar um software Definições de Teste Motivação Por que

Leia mais

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo. Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de

Leia mais

1. A principal razão de dividir o processo de teste em tarefas distintas é:

1. A principal razão de dividir o processo de teste em tarefas distintas é: Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. A principal razão de dividir o processo de teste em tarefas distintas é: a) Cada fase do teste tem uma proposta diferente b) É mais fácil para gerência

Leia mais

Programação I Estruturas de Repetição

Programação I Estruturas de Repetição Programação I Estruturas de Repetição Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões compactas Frequentemente existe a necessidade de escrever expressões da forma:

Leia mais

Laços de repetição for, while, do-while

Laços de repetição for, while, do-while Computação Eletrônica Laços de repetição for, while, do-while Prof: Luciano Barbosa Estruturas de Repetição Imagine um programa que calcula a média de um aluno. Este programa é bastante simples, bastaria:

Leia mais

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 4 SUMÁRIO Apresentação -----------------------------------------------------------

Leia mais