Motivação. Qualidade e Teste de Software. Importância das Atividades de Qualidade. Importância das Atividades de Qualidade
|
|
- Henrique Lancastre de Paiva
- 8 Há anos
- Visualizações:
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 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 maisEngenharia 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 maisPROCESSO 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 maisc. 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 mais3ª 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 maisFundamentos 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 maisa) 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 maisConteú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 maisIntroduçã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 maisTestes 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 maisTeste 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 maisTestes 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 maisUnidade 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 maisGARANTIA 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 maisISO/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 maisCHECK - 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 maisEngenharia 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 maisComo 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 maisQualidade 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 maisRoteiro 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 maisPONTIFÍ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 maisTé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 maisTestes 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 maisEngenharia 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 maisEngenharia 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 maisTestes 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 maisAtividade 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 maisProva 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 maisARCO - 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 maisTeste 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 maisAlgoritmos 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 maisReferê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 maisJuciara 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 maisPrincí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 maisIntroduçã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 mais2 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 maisGlossá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 maisQUALIDADE 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 maisCasos 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 maisNa 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 maisTipos 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 maisPR 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 maisUNIVERSIDADE 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 maisConteú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 maisPROFESSOR: 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 maisAuditoria 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 maisEngenharia 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 maisTecnologia 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
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 maisFeature-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 maisMetodologias 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 maisExtraçã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 maisConsideraçõ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 maisRequisitos 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 mais3 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 maisEngenharia 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 maisUniversidade 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 maisRequisitos. 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 maisPalestra 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 maisUNIVASF - 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 maisProjeto 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 mais3 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 maisCONCURSO 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
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 maisGerê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 maisFá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 maisEngenharia 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 maisNome: 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 mais1. 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 maisTó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 maisOCOMON 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 maisGerenciamento 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 maisSistemas 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 maisENGENHARIA 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 maisGestã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 maisObjetivos. 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 maisBoas 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 maisQualidade 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 maisConteú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 mais2ª 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 maisHardware (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 maisBancos 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 maisGerenciamento 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 maisEspecificaçã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 maisExame 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 maisGuia 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 maisAUTOR: 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 maisManual 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 maisGerenciamento 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 maisGUIA 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 maisModernizaçã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 maisENGENHARIA 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 maisRegistro 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 maisEngenharia 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 maisTeste 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