Motivação. Qualidade e Teste de Software. Importância das Atividades de Qualidade. Importância das Atividades de Qualidade

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

Download "Motivação. Qualidade e Teste de Software. Importância das Atividades de Qualidade. Importância das Atividades de Qualidade"

Transcrição

1 Qualidade e Pedro de Alcântara dos Santos Neto Motivação Importância das Atividades de Qualidade Dependência por sistemas de software Testes e outras técnicas t são fundamentais para garantir a qualidade de tais sistemas No entanto, são caros e muitas vezes deixados de lado! Importância das Atividades de Qualidade Um dado impressionante do NIST: U$ ,00 é o custo das falhas em software nos EUA, apenas em U$ ,00 em economia, caso a infra- estrutura para testes fosse melhor. Importância das Atividades de Qualidade Mars Climate Orbiter Objetivo Enviar sinais a partir de marte, após s seu pouso no planeta Desastre Chocou-se com o planeta Motivo Bug no software responsável pela conversão de medidas Prejuízo» 165 milhões de dólaresd Importância das Atividades de Qualidade Airbus 320 Desastre USS Vicennes derrubou um airbus 320 em 1988 Motivo Bug no software de reconhecimento, confundindo o avião com um F-14F Prejuízo 290 mortes 1

2 Importância das Atividades de Qualidade Máquina de Terapia Radiotiva Desastre Overdose em pacientes sob tratamento Motivo Inabilidade em gerenciar certas condições de disputa Prejuízo Morte de 2 pessoas 6 outras lesionadas Importância das Atividades de Qualidade London Ambulance Service Desastre Serviço o auxiliado por computador falhou nos dias 26 e 27 de novembro de 1992, gerando várias v falhas, como o envio de 2 ambulâncias para o mesmo destino, envio de uma ambulância para um local estando outras mais próximas, etc. Motivo Tudo indica que o problema estava relacionado a alta carga de emergências durante o período. Prejuízo Morte de 20 pessoas Importância das Atividades de Qualidade Mais de uma centena de outras falhas... Como ficar livre disso? Importância das Atividades de Qualidade Expectativa Podemos esperar que o software funcione corretamente? Programas feitos com bastante cuidado 5 falhas / 1000 LOC Programa com 1 Milhão LOC 5000 falhas Windows P tem 45 Milhões de LOC 45 x 5000 = Importância das Atividades de Qualidade Piada? Se a indústria automobilística tivesse se desenvolvido como a indústria do software, nós n s teríamos carros por U$25, fazendo 5000 milhas com um galão de combustível. Porém, esse carro iria quebrar duas vezes por dia, sem um motivo aparente, e quando você solicitasse assistência junto as concessionárias eles iriam dizer para você reinstalar o motor! 2

3 Importância das Atividades de Qualidade Carros são mais confiáveis que software? Importância das Atividades de Qualidade Como os carros são desenvolvidos? Requisitos Motor, rodas, ar-condicionado, som, espaço o para bagagem... Desenho detalhado Projeto arquitetônico, revisado várias v vezes Verificação do desenho Simulação, protótipo tipo Desenvolvimento de componentes Testa-se se cada componente Componentes são reusáveis Produzidos em massa Montagem do carro Testa-se se o carro (teste de batidas, teste de resistência, teste de estabilidade Teste de usabilidade Importância das Atividades de Qualidade Como os carros são desenvolvidos? Unidades Integração Integração Produto Concluído Importância das Atividades de Qualidade Características do LEGO Modularidade Reusabilidade Flexibilidade Compatibilidade No entanto, também m existem falhas! Tudo precisa ter sua qualidade aferida, seja por testes, seja por qualquer outra técnica! t Qualidade de Software O O que é Qualidade de Software? Totalidade de características de uma entidade que lhe confere a capacidade de satisfazer a necessidades explícitas e implícitas [NBR ISO 1994] Conformidade a: requisitos funcionais e de desempenho, padrões e convenções de desenvolvimento pré- estabelecidos, atributos implícitos que todo software desenvolvido profissionalmente deve possuir. [R.S.Pressman] 3

4 Modelo de Qualidade de McCall et al, 1977 Características Habilidade Operacionais: para ser correção alterado: manutenibilidade confiabilidade integridade flexibilidade eficiência testabilidade Adaptabilidade a novos ambientes: portabilidade reusabilidade interoperabilidade O O que é Qualidade de Software? Cada tipo de software tem seus próprios prios requisitos de qualidade A importância de cada característica de qualidade varia conforme o tipo de software Funcionalidade Confiabilidade Usabilidade Desempenho Manutenibilidade Portabilidade Sistema Sistema de de Controle Controle Sistema Sistema Embarcado Embarcado de de Mercearias Mercearias de de Satélite Satélite Por quê surgem falhas? Alterações: alterações degradam a estrutura do software, tornando-o o cada vez mais difícil de alterar Tempo: com o tempo os custos da implementação de alterações aumenta, e a capacidade do sistema em prestar os serviços esperados diminui Complexidade: difícil de desenvolver: um único desenvolvedor não é capaz de entender o sistema como um todo difícil de usar difícil de entender: código c incompreensível, falta de documentação Garantindo a Qualidade Aplicação de métodos m e ferramentas técnicast uso pelos desenvolvedores de métodos m e ferramentas que ajudem a conseguir especificações, projetos, etc, de maior qualidade Realização de revisões técnicas t e inspeções o objetivo é avaliar a qualidade do artefato de software (especificação, projeto,...) produzido ao longo do desenvolvimento Atividades de testes em complemento às s revisões e outras técnicast V&V Aplicação de padrões padrões podem ser usados: para documentos, documentação do código e estilo de codificação (como usar linguagem de programação) padrões podem ser determinados pelo cliente, por normas internacionais ou pela empresa de desenvolvimento. Garantindo a Qualidade Verificação e Validação (V&V) Verificação É o processo de se avaliar um software a cada fase para determinar se o produto dessa fase satisfaz ao que foi requerido no início da fase Objetivo: Assegurar consistência, completitude e corretude do produto em cada fase e entre fases consecutivas Estamos desenvolvendo certo o produto? Validação É o processo de se avaliar um software, durante ou após s o desenvolvimento, para determinar se o produto satisfaz aos requisitos Objetivo: Assegurar que o produto final corresponda aos requisitos do usuário Estamos desenvolvendo o produto certo? Garantindo a Qualidade Verificação ão Estamos desenvolvendo certo o produto? 4

5 Garantindo a Qualidade Validação ão Estamos desenvolvendo o produto certo? Garantindo a Qualidade V & V Fazer ou não? Garantindo a Qualidade V & V Fazer ou não? Garantindo a Qualidade V & V, fazer ou não? Permite encontrar falhas mais cedo Melhora a qualidade dos produtos Torna os requisitos mais estáveis Permite acompanhamento contínuo nuo da qualidade e da produtividade Facilita o gerenciamento Garantindo a Qualidade V & V, fazer ou não? Aumenta os custos do desenvolvimento análise custos benefícios iniciar V&V o mais cedo possível enfocar partes mais críticas do sistema (análise de riscos) Aumenta a interação entre equipes escolher equipe experiente para V&V envolver equipe de V&V desde cedo Aumenta a documentação melhora a qualidade Requer compartilhamento de recursos (e/ou dados) críticos prever no contrato com o cliente Garantindo a Qualidade Atividades de V & V Verificação estática tica não envolve a execução do produto visa determinar propriedades do produto válidas v para qualquer execução do produto final Revisões, inspeções Verificação dinâmica envolve a execução do produto (código ou modelo executável) visa encontrar falhas ou erros no produto Teste 5

6 Garantindo a Qualidade Porcentagem Atividades de Garantia da Qualidade Inspeções Formais PBQP Software - MCT Revisões Estruturadas Testes de Aceitação Atividade Testes do Sistema Integrado Testes de Unidade Garantindo a Qualidade Teste é o processo de executar um programa com o intuito de encontrar erros Glenford J. Myers (1979) Pode mostrar a presença a de falhas, mas nunca a sua ausência - Dijkstra Processo de execução de um sistema ou componente sob condições especificas para detectar diferenças entre os resultados obtidos e os esperados (IEEE) Garantindo a Qualidade Custo da Qualidade Esforço por Atividade Command-control SAGE-NTDS Command-control TRW Sapceborne OS/360 Científico TRW Comercial Raytheon Análise Projeto Codificação e Auditoria Teste e Integraçao 35% 17% 48% 46% 20% 34% 34% 20% 46% 33% 17% 50% 44% 26% 30% 44% 28% 28% Quando os testes devem começar? As atividades de testes devem ser integradas às atividades de desenvolvimento As atividades de teste devem ser iniciadas cedo Procedimentos de teste podem ser descritos desde a fase de especificação Fases do Teste Ciclo dos Testes Especificação Planejamento Objetivos do Teste O quê testar? Oráculo Desenho Execução dos Casos de Teste Implementação Determinação de estratégias para delimitar os objetivos Execução Geração de Procedimentos e Casos de Teste Entradas Saídas Obtidas Passou Não passou Inconcludente Erro Veredicto Determinar se os objetivos foram atendidos Registrar lições aprendidas, gerando um relatório rio final Verificação Balanço Final Software 6

7 Dificuldades do Teste Detecção de falhas se dád através s da ocorrência de defeitos É necessária a existência de uma especificação Falhas nos requisitos podem não ser detectadas Especificação incompleta ou ambígua pode levar a resultados incorretos ou inadequados Dificuldades Testes não podem ser exaustivos não servem para demonstrar corre Certas tarefas de testes não podem ser automatizadas não servem para demonstrar correção de um sw problemas intratáveis e indecidíveis Veredictos de testes dependem das saídas esperadas mas elaborar mecanismo que produza as saídas esperadas (oráculo) é difícil ou mesmo impossível Testar Não é Tudo! Testar não é a única forma de encontrar falhas em um software testes devem complementar outras formas de V&V e não substituí-las Há falhas que dificilmente seriam reveladas através de testes As revisões e inspeções são mais efetivas na descoberta de erros! Como tornar a atividade de teste mais eficiente? Utilizar outras técnicas t de V&V combinadas ao teste Uso de ferramentas e metodologias Reuso de casos de teste sempre que possível Integração das atividades de testes com as atividades de desenvolvimento Uso de estratégias com base em riscos Garantindo a Qualidade Pequeno teste : Um programa lê 3 inteiros. Os três valores são interpretados como os comprimentos dos lados de um triângulo. O programa imprime uma mensagem que mostra que o triângulo é escaleno, isósceles sceles ou eqüil ilátero. Em uma folha de papel, escreva um conjunto de casos de testes (ex.: especifique conjunto de dados) que você acredita ser adequado para testar esse programa. Garantindo a Qualidade Pequeno teste : 1. Você tem um caso de teste que representa um triângulo escaleno válido? (Note que casos de testes como 1,2,3 e 2,5,10 não ganham um u sim nesta pergunta, pois não existem triângulos válidos v com esses lados.) 2. Você tem um caso de teste que representa um triângulo eqüil ilátero válido? 3. Você tem um caso de teste que representa um triângulo isósceles? sceles? (Um caso de teste com 2,2,4 não pode ser contado.) 4. Você tem no mínimo m 3 casos de testes que representam um triângulo isósceles sceles válido v e que você tenha tentado as três permutações possíveis (Ex.: 3,3,4; 3,4,3;4,3,3)? 5. Você tem um caso de teste no qual um dos lados é zero? 6. Você tem um caso de teste no qual um dos lados tem o valor negativo? 7

8 Garantindo a Qualidade Pequeno teste : 7. Você tem um caso de teste com 3 inteiros maiores que zero, onde a soma de dois lados é igual ao terceiro lado? (Se o programa disser que 1,2,3 representa um triângulo escaleno, ele contém m um erro.) 8. Você tem no mínimo m 3 casos de teste da categoria 7 para as quais você tentou as três permutações? (Ex.: 1,2,3; 1,3,2 e 3,1,2) 9. Você tem um caso de teste com 3 inteiros maiores que zero, onde a soma de dois lados é menor que o terceiro lado (1,2,4 ou 12,15,30)? 10. Você tem um caso de teste na categoria 9 para o qual você tentou as três permutações (Ex.: 1,2,4; 1,4,2 e 4,1,2)? 11. Você tem um caso de teste no qual todos os lados são 0 (Ex. 0,0,0)? 0)? 12. Você tem um caso de teste especificando valores não-inteiros? 13. Você tem um caso de teste especificando uma quantidade errada de valores (Ex.: dois em vez de 3, inteiros)? 14. Para cada teste, você especificou a saída esperada do programa além dos valores de entrada? Garantindo a Qualidade Pequeno teste : Obviamente, um conjunto de casos de testes que satisfaça as condições anteriores não garantem que todos os erros possíveis foram encontrados. Como ponto de referência: Programadores altamente experientes obtiveram, na média, somente 7.8 pontos no total de 14. Mesmo de um programa trivial como este não é uma tarefa fácil. f E, se isso é verdade, considere a dificuldade de testar um sistema de controle aéreo a com linhas de códigoc Garantindo a Qualidade Princípios do Teste [Myers]: não planeje o teste assumindo que o programa está correto um bom caso de teste é aquele que tem alta probabilidade de encontrar erro ainda não descoberto caso de teste bem sucedido é aquele que detecta erro ainda não descoberto a a probabilidade de existência de mais erros numa parte do programa é proporcional ao número n de erros jáj descoberto na mesma Garantindo a Qualidade Princípios do Teste [Myers]: teste deve ser feito por outra pessoa que não o autor do programa dados de teste devem ser definidos para dados inválidos e não-esperados determinar SEMPRE os resultados esperados verificar cuidadosamente os resultados de cada teste nunca jogue fora casos de teste, a não ser que esteja jogando fora também m seu programa Conceitos BásicosB Conceitos BásicosB Teste consistes na verificação dinâmica do funcionamento de um programa em um conjunto finito de casos de teste, cuidadosamente selecionado dentro de um domínio infinito de entradas, contra seu funcionamento esperado. Dinâmico Execução Finito Existem muitos casos de teste Selecionado Técnicas diferem na seleção Esperado Funcionamento deve ser verificado 8

9 Conceitos BásicosB Terminologia Elementos do Teste Procedimento de Teste» Documentação especificando uma seqüência de ações a para execução de um teste. Caso de Teste» Documentação especificando entradas, resultados esperados, e um conjunto de condições de execução para um item de teste. Plano de Teste» Documento que descreve o escopo, abordagem, recursos e agenda para as atividades de teste, identificando os itens de teste, as construções a serem testadas, as tarefas envolvidas, executores e riscos associados. Níveis de Teste IEEE STD Níveis de Teste Alvo do Teste Módulo simples Um grupo de módulosm Agrupado por propósito, uso, ou estrutura O O sistema completo Níveis de Teste Teste de Unidade Teste de caixa branca (estrutural) Conduzido em paralelo para vários v módulosm Diversas Características avaliadas Interface Operações sobre variáveis veis Caminhos de execução importantes Caminhos de atendimento a erros Condições de contorno Níveis de Teste Teste de Unidade Características Avaliadas interface» dados entram e saem corretamente» número e tipo de parâmetros - compatibilidade operações sobre variáveis veis» cálculos incorretos» over/underflow underflow, índices, etc. caminhos de execução» caminhos importantes» caminhos de atendimento a erros Níveis de Teste Teste de Unidade Características Avaliadas atendimento a erros» rotina de erro corresponde ao erro encontrado» erro causa intervenção do sistema antes do atendimento» mensagem elucida causa do erro? condições de contorno» testes com valores máximo, mínimo, imediatamente abaixo e acima de itens de dados e de variáveis veis de controle de loops erros comuns» precedência de operadores incorreta» comparações de tipos de dados diferentes» terminação inexistente de ciclos» erros de precisão 9

10 Níveis de Teste Teste de Unidade Ambiente para Teste de Unidade Driver: chamador do módulo em teste» Inicialização das variáveis veis e dos parâmetros da chamada Stub: : módulos m chamado pelo módulos m testados stub driver módulo stub Níveis de Teste Teste de Unidade Planejamento do Teste de Unidade escolha de critério rio de cobertura lógical selecionar caminhos de teste determinar casos de teste caso de teste» dado de teste» resultado esperado Demonstração: Criando Testes de Unidade Teste de Unidade Práticas aconselhadas: Todo desenvolvedor deve criar teste de unidade para o código c produzido Tais testes devem passar por revisões, seja por membros da equipe e de teste, seja por um desenvolvedor com um pouco mais de experiência em testes Considerar a possibilidade de desenvolver geradores automáticos ticos de objetos É importante o suporte de transações para evitar problemas com a repetição dos testes Considerar a possibilidade de cada desenvolvedor ter seu próprio prio banco Considerar a possibilidade de separar a implementação dos seus testes, pois podem existir muitas classes, gerando confusão Importante o uso de analisadores estáticos ticos para garantia de certas propriedades Níveis de Teste Teste de Integração ão Processo de verificar a interação entre os componentes. Montagem do software com módulos m jáj testados Verificação da interface entre módulosm Funções parciais e global do sistema Estratégias de integração topdown bottom-up mista Níveis de Teste Teste de Integração Top-Down integração parte do módulo m principal para os módulos m que implementam funções primitivas tipos: vertical: segundo o fluxo principal de controle horizontal: incorpora todos os módulos diretamente subordinados a cada níveln M5 M8 M1 M2 M3 S4 M6 S7 10

11 Níveis de Teste Plano de Integração Práticas Aconselhadas Determine uma estratégia de integração Verifique com cuidado a ordem de acoplamento Isso pode ter um impacto direto na sua estratégia Determinar casos de teste Gerar drivers e stubs Uma boa prática Integração bottom-up facilita a integração das unidades, sem a necessidade de retrabalho Tempo para apresentação do produto final aumenta, mas a priorização dos casos de uso minimiza esse problema Demonstração: Teste de Integração Níveis de Teste Teste de Sistema Teste no sistema completamente integrado, para verificar o atendimento aos requisitos. Envolve o teste de todos os requisitos funcionais e não funcionais. Teste de recuperação» Força a falhas para verificar a recuperação do sistema Teste de segurança» Desenvolvedor assumindo o papel de hacker» Objetivo é tornar o custo da invasão maior que o valor dos dados Teste de estresse e desempenho Níveis de Teste Teste de Sistema Teste de segurança Existem diversas ferramentas que auxiliam esse tipo de teste Verificações realizadas:» Descoberta de servidores» Determinação da estrutura do sítio s web» Geração de mensagens muito grandes» Geração de mensagens com elementos excepcionais» Execução de port scans» Execução de DoS denial-of-service service» Execução de vulnerabilidades comuns a servidores Web Objetivos do Teste O teste de software geralmente é conduzido por objetivos, que podem ou não ser claros Diferentes propriedades podem ser verificadas 11

12 Teste de Aceitação Verifica se o software funciona de acordo com as necessidades do cliente Geralmente feito pela empresa contratante Pode envolver desenvolvedores Teste de Instalação Verifica se a instalação do software no ambiente alvo ocorre corretamente. Necessário para softwares que executam em diferentes plataformas de hardware e software Ex: Imposto de Renda Pode incluir a verificação de todo o procedimento de instalação, que envolve dentre outras coisas, as instruções de instalação Teste de Instalação Práticas Aconselhadas: Sistemas com diversos tipos de usuário, com diferentes configurações de hardware e software precisam desse tipo de teste Idealmente, pessoas sem conhecimento do software a ser instalado deveriam ser selecionadas para a verificação da documentação de instalação Testes Alfa e Beta Antes da liberação de uma versão do produto, pode ser realizado testes com usuários finais na organização desenvolvedora (alfa) ou fora da organização, preferencialmente nas instalações dos usuários finais (beta). Práticas Aconselhadas Teste alfa pode ser combinado com teste de usabilidade, reduzindo custos Mas isso deve ser feito em etapas iniciais, por isso, essa prática deve ser seguida por desenvolvimento baseado em iterações Testes de Regressão Testes realizados a cada vez que um sw é alterado Objetivo: validar modificações feitas mostrar que modificações realizadas não afetaram as partes que não foram modificadas Ou seja: mostrar que o software não regrediu Objetivos do Teste Testes de Regressão Linha básica b ( baseline( baseline ) versão de um componente (ou sistema) jáj testada Delta modificação feita a um componente (ou sistema) e que ainda não foi testada Configuração delta ( delta( build ) configuração executável do sistema contendo deltas e linhas básicas Caso de teste de regressão caso de teste aplicado à linha básica b com veredicto = passou se veredicto = não passou na configuração delta» falha de regressão 12

13 Objetivos do Teste Testes de Regressão Testar aplicações críticas que devem ser retestadas freqüentemente entemente Testar sw que é alterado constantemente durante o desenvolvimento (por exemplo, Processo Incremental) Testar componentes reutilizáveis para determinar se são adequados para o novo sistema Quando? Durante os testes de integração Durante os testes, após s correções Na fase de manutenção (corretiva, adaptativa, perfectiva ou preventiva) Quando háh mudanças as de plataforma Testes de Regressão Falhas de regressão ocorrem quando háh dependências entre D (delta) e B (linha básica): b de fluxo de controle de fluxo de dados restrições de ativação compartilhamento de dados tempo disputa por recursos Testes de Regressão Programa original = P Programa modificado = P P Abordagens: retesta tudo: T T = T seletiva: T T T qual abordagem usar? P P T T? Testes de Regressão Sejam: T e T cardinalidades de T e T T s custo médio m de seleção/caso de teste r custo médio m de execução/caso de teste se s T T < r ( T - T T ) regressão seletiva mas se potencial detecção falhas T T < T retesta tudo P P T T Testes de Regressão P T Problema: Segurança P T como obter T T contendo casos de teste t T T que exercitem código de P que foi modificado em P? P Problema Indecidível O O uso de uma seqüência de regressão segura todos os casos de teste que podem revelar a presença a de falhas foram aplicados ~ ausência de falhas de regressão ou de qualquer outro tipo de falha Testes de Regressão Retesta tudo Segura Caixa Branca reaplica todos os testes da linha básicab Retesta no firewall Segura seleciona casos de testes analisando dependências de códigoc Retesta casos de uso de maior risco Caixa Preta seleciona casos de testes com base em análise de riscos Retesta de acordo com o perfil seleciona casos de teste de acordo com o perfil operacional: retestar as parte mais usadas 13

14 Testes de Regressão Retesta no firewall Analisa conjunto de componentes (classes, programas, módulos,...) que devem ser incluídos nos testes de regressão Dependências entre A (delta) e B (inalterado):» B usa A (B é cliente de A)» B é servidor de A» B é subclasse de A» B sobrecarrega A (polimorfismo) Testes de Regressão Retesta no firewall Testes de Regressão Retesta no firewall Dependência entre componentes Testes de Regressão Retesta no firewall Seleção de testes Testes de Regressão Ferramentas Para testes de regressão existem muitas Para seleção de testes de regressão existem muitas, principalmente de caráter acadêmico» Muito pouco existe para uso comercial e em um ambiente de produção Testes de Regressão Práticas Aconselhadas Uma boa estratégia inicial é o uso dos testes de unidade e de integração como testes de regressão Mantenha todos, até que sua execução fique impraticável, por exemplo, por causa do tempo de execução Se isso ocorrer, use alguma técnica t de seleção 14

15 Testes de Regressão Práticas Aconselhadas Procure usar uma ferramenta de integração contínua! nua! Servidor de Builds Sempre busca por alterações Reporta erros aos interessados» , netsend, tryicon (messenger) Verifica padrões de codificação Cria rótulos r no ambiente de gestão de configuração Exemplo: CruiseControl.NET» SourceSafe Demonstração: Teste de Regressão Testes de Desempenho e Estresse 3 3 Cenários comuns: 1: não existe nenhuma ou quase nenhuma preocupação quanto ao desempenho e performance do sistema pois não existe nenhum gargalo aparente. 2: existe uma chocante necessidade de uso em escala extrema e toda a concentração da equipe fica voltada para a capacidade de processamento, prejudicando o andamento das funcionalidades de negócio. 3: existe um equilíbrio entre produzir o software e garantir que suas funcionalidades atendam a demanda esperada. Somente a metodologia, experiência e conhecimento de processos conseguem garantir tal equilíbrio. Testes de Estresse O O teste de estresse é realizado para confrontar os programas com situações anormais. Essencialmente, a pessoa que realiza esse teste pergunta: até que ponto podemos elevar isto até que falhe? O O teste de estresse executa o sistema de uma forma que exige recursos de quantidade, freqüência ou volume anormais. Testes de Estresse Exemplos: Entrada de dados podem ser aumentados em uma ordem de magnitude para determinar como as funções de entrada responderão. Os casos de teste que exigem o máximo m da memória ou outros recursos podem ser executados. Qualquer outro teste que tente, essencialmente, destruir o programa. Objetivos do Teste Testes de Desempenho O teste de desempenho é idealizado para testar o desempenho do software quando executado dentro do contexto de um sistema integrado. É importante definir o contexto, ou seja, descrever o ambiente, no qual o desempenho será medido. Exemplo: Número de usuários simultâneos Configuração da máquina m que está sendo utilizada Os atributos relacionados com o desempenho irão variar de sistema para sistema. 15

16 Testes de Desempenho Para executarmos um teste de desempenho devemos seguir os seguintes passos: Definir o contexto no qual o desempenho será medido; Definir, de acordo com os resultados esperados, o que constituirá uma performance aceitável; Executar os testes e avaliar os resultados. Testes de Desempenho e Estresse - Passos Entender melhor o problema Qual é a demanda prevista para usar a solução?» 200 acessos por dia em média. m Existe possibilidade de picos? Se sim, qual o pico previsto?» Sim. Podemos chegar a um pico de 100 usuários simultâneos. Qual é o tempo de resposta desejado?» O nível n ideal de trabalho é que o usuário não espere mais do que 2 segundos por cada resposta. Os acessos durante o dia vão se concentrar mais em um horário rio específico?» Sim, 80% devem ocorrer entre as 11:00 e 21:00. Demonstração: Testes de Desempenho e Estresse JMeter Usaremos uma aplicação exemplo com apenas 2 casos de uso: Login: autentica usuário no sistema Gestão de Usuários: gerencia dados de usuários Vamos simular o acesso concorrente de 10 usuários e gerar relatórios rios com os resultados Objetivo do Teste: Medir o tempo médio m de resposta de todas as requisições, identificar a página p que consome mais tempo. JMeter Configurar valores comuns entre as URLs; Criar componentes Config Elements No nosso exemplo, utilizaremos um HTTP Request Defaults Informar o servidor, porta, caminho e tudo que for padrão para os testes a serem criados Exemplo:» Server Name: localhost» Port Number: : 8080 JMeter Configurar as requisições HTTP Adicionar um Thread Group (responsável pela criação de threads) Cada thread representará 1 usuário Informar o número n de threads e o período usado para iniciar tais threads Exemplo:» Number of Threads: : 2» Ramp-Up Periodo: : 2 Pode-se agendar o teste para outros dias e horários rios 16

17 JMeter Configurar as requisições HTTP Adicionar elementos do grupo Logic Controller: Once Only Controller: : que irá conter requisições que sós devem ocorrer 1 vez em um loop por usuário» login Simple Controller: : requisições que ocorrem mais de 1 vez por usuário (ex: consultar valor, realizar pesquisa,...)» Exibir lista de usuários JMeter Configurar as requisições HTTP Adicionar requisições para cada um dos elementos selecionados JMeter Definir a forma de apresentação dos resultados Adicionando os Listeners ao plano de testes Testes de Desempenho Práticas Aconselhadas Procure sempre verificar o funcionamento do seu sistema sob circunstâncias anormais Isso pode revelar comportamentos indevidos que podem gerar prejuízos - Teste de Usabilidade Participantes representativos avaliam o grau que um produto se encontra em relação a critérios rios específicos O teste de usabilidade não é uma pesquisa. É uma avaliação do sistema feita por especialistas, através da observação e análise do comportamento do usuário enquanto ele navega e executa tarefas específicas. São mais eficientes quando implementados como parte do processo de desenvolvimento de um produto - Teste de Usabilidade Os testes podem ser feitos em cada uma das etapas do projeto. Problemas detectados precocemente são corrigidos a um custo muito menor em qualquer aspecto Fornecer um retorno mais rápido r para o cliente, que vê o seu pedido tomando forma antes do produto estar necessariamente pronto. 17

18 - Teste de Usabilidade Processo É feito utilizando uma amostragem dos próprios prios futuros usuários do sistema. São selecionados de 3 a 5 participantes representativos de um grupo de usuários do programa. Este grupo é colocado em contato com a interface criada e têm que executar algumas tarefas pré-definidas pela equipe de teste. Todos os passos dos participantes são monitorados e gravados. Em seguida, a equipe de teste faz uma minuciosa entrevista dos participantes - Teste de Usabilidade Ambiente FísicoF Melhor opção é utilizar 2 salas uma reservada aos testes outra reservada à observação Na sala de observação, os observadores assistem, mas não se comunicam diretamente com o avaliador. O O som e as imagens são captados pelas câmeras de vídeo v e transmitidos diretamente para o monitor de vídeo v da sala de observação. - Teste de Usabilidade Ambiente FísicoF - Teste de Usabilidade Ambiente FísicoF - Teste de Usabilidade Ambiente FísicoF Através s do segundo monitor, moderador observa o desempenho do participante e toma notas. Uma câmera estrategicamente posicionada filma tanto as reações do participante quanto seu caminho percorrido no site. Objetivos do Teste - Teste de Usabilidade Resultados As observações da equipe de teste, aliadas às s respostas das entrevistas com os participantes, são transformadas em um relatório rio detalhado, contendo: Descrição e Metodologia do Roteiro do Teste Uma breve descrição explicativas das metas propostas e de como se chegou nelas. Análise do Comportamento dos Participantes Como os participantes se comportaram durante o teste? Sorriam? Faziam cara de sofrimento? Coçavam a cabeça? a? Perguntavam muito?» Parece bobagem, mas isso é essencial para avaliar o sucesso da interface. Resumos das Entrevistas Pós-TesteP As principais opiniões, perguntas, dúvidas, d reclamações e sugestões dadas pelos participantes após s o teste. 18

19 Objetivos do Teste - Teste de Usabilidade Resultados Problemas de Usabilidade Lista dos problemas de usabilidade encontrados.» Cada problema é tratado detalhadamente, com descrição dos critérios rios heurísticos que ele viola, seu grau de severidade, o custo para o cliente de não consertar o problema versus o custo de resolvê-lo lo. Principais Paradas Críticas» Mais do que um simples problema, uma parada crítica é um beco sem saída do sistema. Seja físico f (o usuário não tem mais fisicamente aonde ir) ou psicológico (o usuário fica tão confuso e frustrado que simplesmente pára, p desiste), as paradas críticas, se existirem, têm que ser tratadas como prioridade absoluta. Plano de Correção» São propostas soluções eficientes e cost-effective para cada problema encontrado. Cada solução é sempre pensada em termos de custo-benef benefício para o cliente. - Teste de Usabilidade Práticas Aconselhadas A A Usabilidade de um sistema pode ser uma ótima estratégia de marketing A A Usabilidade exprime parte do contentamento do usuário com o trabalho realizado A A realização de testes de usabilidade em etapas iniciais do projeto possibilitam correções mais baratas Esse tipo de teste pode ser realizado em conjunto com testes alfa, reduzindo custos Para isso é necessário uma estratégia de priorização de casos de uso com entrega evolutiva Técnicas de Teste Técnicas de Teste Técnicas de Teste Têm como objetivo auxiliar a detecção do maior número n de falhas. Devem ser sistemáticas ticas para tentar identificar um conjunto representativo de comportamento do programa. É muito difícil classificar as técnicas t de forma homogênea. Utilizamos um classificação baseada em como testes são gerados: Intuição e experiência dos engenheiros de software Especificações Estrutura do códigoc Falhas a serem descobertas Campo de uso Natureza da aplicação Técnicas de Teste Técnicas de Teste Caixa Branca Testes são criados com base em como o software foi projetado ou codificado. Também m chamado de teste de caixa de vidro. Objetivo de derivar casos de teste que garantam:» Exercício cio de todos os caminhos independentes de um módulom» Exercício cio de todas as decisões lógicas l (verdadeiro e falso)» Exercício cio de todos os ciclos em seus limites e dentro de seus intervalos operacionais» Exercício cio das estrutura de dados internas Técnicas de Teste Técnicas de Teste Caixa Preta Casos de teste são criados usando apenas o comportamento de entrada e saída do SUT (Software Under Test). Não é uma alternativa aos testes de caixa branca, é uma abordagem complementar que deve descobrir uma classe diferentes de erros. Encontra erros nas seguintes categorias:» Funções incorretas ou omitidas» Erros de interface» Erros de estrutura de dados ou de acesso a base de dados externas» Erros de comportamento ou desempenho» Erros de iniciação e de términot 19

20 Técnicas de Teste Técnicas de Teste Caixa Preta Questões a serem verificadas:» As funções são realizadas?» As entradas produzem resultados esperados?» Integridade das informações externas é mantida Métodos para determinação de dados de teste» Particionamento em Classes de Equivalência» Análise de Valores Limites do Domínio» Grafos Causa-Efeito Técnicas de Teste Caixa Preta Particionamento de Equivalência Identificação de classes de equivalência sobre o domínio dos dados de entrada Domínio de entrada é subdividido em sub-dom domínios Selecionar dados para cada sub-dom domínio Exemplo: domínio: datas sub-dom domínios: dias úteis e feriados Técnicas de Teste Caixa Preta Particionamento de Equivalência Técnicas de Teste Caixa Preta Particionamento de Equivalência Listar condições de entrada descritas na especificação do programa Identificar para cada condição: domínios válidos, v enumerações válidas e valores não válidosv Decompor condições compostas em elementares Criar um conjunto de dados de teste, onde cada dado exercite pelo menos uma condição Técnicas de Teste Caixa Preta Particionamento de Equivalência Passos: Decompor o programa em funções Identificar as variáveis veis que determinam o comportamento de cada função Particionar os valores de cada variável vel em classes de equivalência (válidas e inválidas) Especificar os casos de teste:» eliminar as classes impossíveis ou os casos desinteressantes» selecionar casos de testes cobrindo as classes válidas v das diferentes variáveis veis» para cada classe inválida escolha um caso de teste que cubra 1 e somente 1 de cada vez Técnicas de Teste Caixa Preta Particionamento de Equivalência Classes de Equivalência podem ser definidas de acordo com as seguintes diretivas: Intervalo, uma válida v e duas inválidas Um valor, uma válida v e duas inválidas Membro de um conjunto, uma válida v e uma inválida Booleana,, uma válida v e uma inválida 20

Motivação. Teste de Software. ü Importância das Atividades de Qualidade Dependência por sistemas de software

Motivação. Teste de Software. ü Importância das Atividades de Qualidade Dependência por sistemas de software Motivação Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br Dependência por sistemas de software Testes e outras técnicas são fundamentais para garantir a qualidade de tais sistemas No entanto, são caros

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 8 http://www.ic.uff.br/~bianca/engsoft2/ Aula 8-17/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

3ª Parte Técnicas de Teste

3ª Parte Técnicas de Teste 3ª Parte Técnicas de Teste ü Técnicas de Teste Técnicas de Teste Ø Têm como objetivo auxiliar a detecção do maior número de falhas. Ø Devem ser sistemáticas para tentar identificar um conjunto representativo

Leia mais

Fundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com

Fundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com Fundamentos em Teste de Software Vinicius V. Pessoni viniciuspessoni@gmail.com Objetivos do treinamento 1. Expor os fundamentos de Teste de Software; 2. Conceituar os Níveis de Teste; 3. Detalhar sobre

Leia mais

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

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Considerando as seguintes afirmações: I. 100% de cobertura de sentença (comando) garante 100% de cobertura de desvio II. 100% de cobertura de desvio

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Introdução a Verificação, Validação e Teste de Software

Introdução a Verificação, Validação e Teste de Software Engenharia de Software I 2012.2 Introdução a Verificação, Validação e Teste de Software Ricardo A. Ramos [Baseado na apresentação do LABS ICMC-USP -> http://www.labes.icmc.usp.br] Organização Introdução

Leia mais

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

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída DCC / ICEx / UFMG Testes de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Teste de software buscam por erros ou anomalias em requisitos funcionais e não funcionais Classificação

Leia mais

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

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites Teste de Software Prof. Avelino F. Zorzo PUCRS Elaborado inicialmente pelo prof. Bernardo Copstein Teste é uma coisa óbvia? Qual a complexidade da questão? tá pronto, profi, é só testar... ué, mas pra

Leia mais

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder

Leia mais

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

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

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

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008 Como melhorar a Qualidade de Software através s de testes e integração contínua. nua. Cláudio Antônio de Araújo 22/11/2008 Objetivos Fornecer uma visão geral da área de testes de software, com ênfase em

Leia mais

Qualidade de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br

Qualidade de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Qualidade de Software Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Verificação x validação Verificação prova que o produto vai ao encontro dos requerimentos especificados no desenvolvimento

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Técnicas de Teste de Software

Técnicas de Teste de Software Técnicas de Teste de Software Fabrício Sousa fabricio@uesb.br Projeto de Caso de Teste Conjunto de técnicas para criação de casos de testes Série de casos de testes que tem grande probabilidade de encontrar

Leia mais

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

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída DCC / ICEx / UFMG Testes de Software Testes de Software Teste de software buscam por erros ou anomalias em requisitos funcionais e não funcionais Classificação de testes pelo objetivo Teste de Validação:

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Roteiro Inspeção Defeitos dos Software Classificação dos Erros Técnica de Leitura Ad-hoc Checklist Exercício Inspeção Inspeção de Software Definição É um método de análise estática

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Construção 2 VISÃO GERAL Fase Construção. Visão Geral 3

Leia mais

Testes de Software Fases. Baseado em notas de aula da profa. Eliane Martins

Testes de Software Fases. Baseado em notas de aula da profa. Eliane Martins Testes de Software Fases Baseado em notas de aula da profa. Eliane Martins Tópicos Testes de Unidades Testes de Integração Testes de Aceitação e de Sistemas Testes de Regressão Testes de Unidades Visam

Leia mais

Atividade da gerência da qualidade

Atividade da gerência da qualidade O que é qualidade de software? Qualidade, de forma simplista, significa que o produto deve esta de acordo com a especificação. Problemas: Tensão entre requisitos do cliente: Eficiência, confiança, etc.

Leia mais

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e

Leia mais

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

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Teste de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br

Teste de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Teste de Software Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Qualidade Garantia de Qualidade Qualidade do processo Qualidade do produto Testes Estáticos Testes Dinâmicos Teste de software

Leia mais

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software Juciara Nepomuceno de Souza Rafael Garcia Miani Teste de Software Técnicas de Teste de Software Testabilidade Operabilidade; Observabilidade; Controlabilidade; Decomponibilidade; Simplicidade; Estabilidade;

Leia mais

Princípios do teste de software

Princípios do teste de software Teste de Software Princípios do teste de software Conforme a Lei de Pareto, 80% dos erros podem ser localizados em 20% do projeto, geralmente nos módulos principais do sistema; A atividade de teste não

Leia mais

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

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1 Qualidade Plácido A. S. Neto 1 1 Gerência Educacional de Tecnologia da Informação Centro Federal de Educação Tecnologia do Rio Grande do Norte 2006.1 - Planejamento e Gerência de Projetos Agenda Introdução

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 QUALIDADE DE SOFTWARE Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 Objetivos Apresentar o processo de gerenciamento de qualidade e as atividades centrais da garantia de

Leia mais

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado. 1 Introdução Testes são importantes técnicas de controle da qualidade do software. Entretanto, testes tendem a ser pouco eficazes devido à inadequação das ferramentas de teste existentes [NIST, 2002].

Leia mais

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

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Tipos de teste de software

Tipos de teste de software Tipos de teste de software Volnys Borges Bernal volnys@lsi.usp.br Adilson Hira ayhira@lsi.usp.br Laboratório de Sistemas Integráveis Departamento de Sistemas Eletrônicos Escola Politécnica da USP Sumário

Leia mais

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9 Página: 1 de 9 1. OBJETIVO Estabelecer sistemática de funcionamento e aplicação das Auditorias Internas da Qualidade, fornecendo diretrizes para instruir, planejar, executar e documentar as mesmas. Este

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

PROFESSOR: CRISTIANO MARIOTTI

PROFESSOR: CRISTIANO MARIOTTI PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade

Leia mais

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto Prof. Elias Batista Ferreira Material cedido por: Prof. Edison A M Morais Objetivo Descrever os processos da norma

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Introdução Objetivos da Gestão dos Custos Processos da Gerência de Custos Planejamento dos recursos Estimativa dos

Leia mais

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico.  Crise do Software Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e Engenharia de! Engenharia de e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Requisitos de Software. Teresa Maciel DEINFO/UFRPE Requisitos de Software Teresa Maciel DEINFO/UFRPE 1 Requisito de Software Características que o produto de software deverá apresentar para atender às necessidades e expectativas do cliente. 2 Requisito

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Conteúdo Definição Questionamentos Típicos Visão Geral Ciclo de Vida dos Requisitos Síntese dos Objetivos Gerência de Mudança Identificação de Requisitos Classificação de Requisitos

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Requisitos. Sistemas de Informações

Requisitos. Sistemas de Informações Requisitos Sistemas de Informações Definindo o Sucesso do Software Clientes satisfeitos Eles estão satisfeitos quando você: Atende às expectativas Entrega no prazo Entrega no orçamento O Sucesso começa

Leia mais

Palestra Informativa Sistema da Qualidade NBR ISO 9001:2000

Palestra Informativa Sistema da Qualidade NBR ISO 9001:2000 Palestra Informativa Sistema da Qualidade NBR ISO 9001:2000 ISO 9001:2000 Esta norma considera de forma inovadora: problemas de compatibilidade com outras normas dificuldades de pequenas organizações tendências

Leia mais

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software Prof. Ricardo A. Ramos Ciclo de Vida de Software 2 Manutenção de Software Alterações efetuadas no software depois de sua liberação.

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás

Leia mais

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico.  Crise do Software Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e! e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do Processo de Desenvolvimento

Leia mais

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Laboratório de Tecnologia de Software LTS www.ufpa.br/lts Rede Paraense de Pesquisa em Tecnologias de Informação

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

Leia mais

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

1. Qual das seguintes alternativas não é um tipo de revisão? 2. Qual das alternativas é um atributo da qualidade? Simulado CTFL- BSTQB Tempo de duração: 30 minutos 1. Qual das seguintes alternativas não é um tipo de revisão? a) Acompanhamento b) Revisão técnica c) Revisão informal d) Aprovação da gerência 2. Qual

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

OCOMON PRIMEIROS PASSOS

OCOMON PRIMEIROS PASSOS OCOMON PRIMEIROS PASSOS O OCOMON ainda não possui um arquivo de Help para atender a todas questões relacionadas ao sistema. Esse arquivo serve apenas para dar as principais instruções para que você tenha

Leia mais

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas Gerenciamento de Gerenciamento de Configuração Novas versões de sistemas de software são criadas quando eles: Mudam para máquinas/os diferentes; Oferecem funcionalidade diferente; São configurados para

Leia mais

Sistemas de Gerenciamento de Banco de Dados

Sistemas de Gerenciamento de Banco de Dados Sistemas de Gerenciamento de Banco de Dados A U L A : C R I A Ç Ã O D E B A N C O D E D A D O S - R E Q U I S I T O S F U N C I O N A I S E O P E R A C I O N A I S P R O F. : A N D R É L U I Z M O N T

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009 Gestão da Qualidade Políticas Manutenção (corretiva, preventiva, preditiva). Elementos chaves da Qualidade Total satisfação do cliente Priorizar a qualidade Melhoria contínua Participação e comprometimento

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás Prof.: Ivon Rodrigues Canedo PUC Goiás Qualidade Subjetiva Não sei o que é mas reconheço quando a vejo Qualidade Baseada no Produto O produto possui algo que produtos similares não têm Qualidade Baseada

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

2ª Parte Objetivos do Teste

2ª Parte Objetivos do Teste 2ª Parte Objetivos do Teste O teste de software geralmente é conduzido por objetivos, que podem ou não ser claros Diferentes propriedades podem ser verificadas Teste Funcional Ø Também conhecido como teste

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br Gerenciamento de projetos cynaracarvalho@yahoo.com.br Projeto 3URMHWR é um empreendimento não repetitivo, caracterizado por uma seqüência clara e lógica de eventos, com início, meio e fim, que se destina

Leia mais

Especificação Suplementar

Especificação Suplementar Especificação Suplementar Versão Histórico de Revisões Data Versão Descrição Autor 29/10/2014 2.0 2.1 funcionalidade e segurança de M. Vinícius acesso 30/10/2014

Leia mais

Exame de Fundamentos da ITIL

Exame de Fundamentos da ITIL Exame de Fundamentos da ITIL Simulado B, versão 5.1 Múltipla escolha Instruções 1. Todas as 40 perguntas devem ser respondidas. 2. Todas as respostas devem ser assinaladas na grade de respostas fornecida.

Leia mais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Manual Portal Ambipar

Manual Portal Ambipar Manual Portal Ambipar Acesso Para acessar o Portal Ambipar, visite http://ambipar.educaquiz.com.br. Login Para efetuar o login no Portal será necessário o e-mail do Colaborador e a senha padrão, caso a

Leia mais

Gerenciamento de Projeto

Gerenciamento de Projeto UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Projeto Engenharia de Software 2o. Semestre/ 2005

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Modernização e Evolução do Acervo de Software Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Tópicos 1. Estudo Amplo sobre Modernização 2. Visão IBM Enterprise Modernization 3. Discussão - Aplicação

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Síntese de tópicos importantes PRESSMAN, Roger S. Conteúdo Componentes e tipos de software Problemas com o software e suas causas Mitologia que envolve o software Configuração de

Leia mais

Registro e Acompanhamento de Chamados

Registro e Acompanhamento de Chamados Registro e Acompanhamento de Chamados Contatos da Central de Serviços de TI do TJPE Por telefone: (81) 2123-9500 Pela intranet: no link Central de Serviços de TI Web (www.tjpe.jus.br/intranet) APRESENTAÇÃO

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

Teste de Software. Ricardo Argenton Ramos ricargentonramos@gmail.com. Engenharia de Software I 2012.2

Teste de Software. Ricardo Argenton Ramos ricargentonramos@gmail.com. Engenharia de Software I 2012.2 Teste de Software Ricardo Argenton Ramos ricargentonramos@gmail.com Engenharia de Software I 2012.2 O que diferencia teste de software OO de testes Convencionais? Técnicas e abordagens são normalmente

Leia mais