unidade 5 – teste de software em sistema em...

53
TESTES DE SOFTWARE Luiz Leão – [email protected] http://www.luizleao.com Unidade 5 – Teste de Software em Sistema em P rodução

Upload: duongcong

Post on 20-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

TESTES DE SOFTWARE

Luiz Leão – [email protected] http://www.luizleao.com

Unidade 5 – Teste de Software em Sistema em Produção

Page 2: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Conteúdo Programático• 5.1 - Teste de software nos diversos tipos de Manutenção • 5.2 - Confiabilidade • 5.3 - Disponibilidade

Page 3: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Teste de software nos diversos tipos de Manutenção

Page 4: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Estudaremos os testes de manutenção (corretiva, perfectiva, adaptativa e preventiva) que um sistema em produção poderá sofrer.

• É importante ressaltar que estes tipos de testes de software aplicados na manutenção de sistemas em produção demandam cuidados adicionais, notadamente quanto à corretitude e ao tempo reduzido para realizar os testes, depurar os erros e validar os resultados, uma vez que os sistemas são ativos da empresa e suas interrupções podem causar danos e prejuízos à empresa.

Introdução

Page 5: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Estudaremos também sobre a importância da medida de confiabilidade e da disponibilidade de um software.

• Veremos que o conceito de confiabilidade se baseia na execução do sistema em determinada unidade de tempo sem falhas. Enquanto que o conceito de disponibilidade se baseia na oferta do software em determinada unidade de tempo, considerando-se, proporcionalmente, o tempo útil de uso e o tempo de reparo de falhas.

Introdução

Page 6: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Introdução

Fonte: Pressman, 2006

Page 7: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• A manutenção de software existente pode ser responsável por mais de 70% de todo o esforço despendido por um setor de desenvolvimento de sistemas.

• A porcentagem pode aumentar a medida que mais software é produzido ou de acordo com o contexto organizacional.

Introdução

Page 8: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• A mudança é inevitável quando se constroem sistemas baseados em computador, já que os processos empresariais mudam e se renovam cada vez mais rápido levando à um ciclo de vida dos produtos cada vez menor.

• Outro fator importante: algumas estatísticas apontam que para cada três vezes que fazemos uma manutenção, em uma delas adicionamos um erro por falha nossa.

Introdução

Page 9: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Uma das metas principais da Engenharia de Software é a de facilitar a acomodação das mudanças, reduzir a quantidade de esforço despendido em manutenção e aumentar a qualidade das tarefas associadas à Manutenção de Software.

Introdução

Page 10: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Independentemente do domínio da aplicação, tamanho ou complexidade, o software continuará a evoluir com o tempo.

• Após seu desenvolvimento um sistema pode ficar operacional, ou seja, em produção por anos ou até mesmo décadas. Porém durante este período o próprio sistema ou seu ambiente operacional podem ser corrigidos, modificados ou completados.

Tipos de Manutenção

Page 11: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Diferentes causas geram manutenções em um software em produção, e podem ser classificadas em:

➢Manutenção Corretiva; ➢Manutenção Adaptativa; ➢Manutenção Perfectiva; ➢Manutenção Preventiva.

Tipos de Manutenção

Page 12: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Corretiva:

• Irá identificar e corrigir defeitos (erros latentes). ✓inclui o diagnóstico e a correção de um ou mais erros não descobertos na fase de teste do software;

✓Uma grande quantidade desses erros indica que o software não foi testado adequadamente;

✓Esse tipo de manutenção não deveria ocorrer.

Tipos de Manutenção

Page 13: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Adaptativa:

• Necessária para ajustar o sistema/programa às novas tecnologias, metodologias, modelos de gestão, legislação e etc. • hardware (processadores, periféricos e etc.) • software (linguagens, sistemas operacionais etc.)

Tipos de Manutenção

Page 14: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Perfectiva:

• Irá incluir novas funções (ampliações) no software em produção, como: • Para atender a solicitações do usuário quanto a melhorias,

novas funções, mudança de contexto organizacional e etc. • É o tipo responsável que mais requer manutenção.

Tipos de Manutenção

Page 15: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Preventiva:

• Modificações para melhorar a confiabilidade, a manutenibilidade futura ou para futuras ampliações.

Tipos de Manutenção

Page 16: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Para entender as características da manutenção de um software devemos considerar:

• Manutenção Estruturada versus Não Estruturada; • Custos associados à Manutenção; • Problemas associados à manutenção;

Tipos de Manutenção

Page 17: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Características da ManutençãoPedido de

Manutenção

Configuração

Avaliar o projeto

Modificar o projeto

Planejar a Abordagem

Recodificar

Revisão

Teste e Lançamento

Avaliar o código

Recodificar

Revisão

?

Manutenção Estruturada Manutenção Não Estruturada

Page 18: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Não Estruturada ✓ Se o único elemento disponível do software for o código-fonte, a atividade inicia-se por uma penosa avaliação do código;

✓ Frequentemente a documentação interna é ruim;

✓ Diversas características do software, como por exemplo restrições de projeto, são difíceis de ser verificadas e acabam mal interpretadas;

Características da Manutenção

Page 19: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Não Estruturada (cont.) ✓As mudanças feitas são difíceis de ser avaliadas.

✓Testes de Regressão são impossíveis de ser realizados por não existir nenhum registro de teste.

➔ Esforço perdido e frustração

Características da Manutenção

Page 20: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• É uma técnica do teste de software que consiste na aplicação de versões mais recente do software, para garantir que não surgiram novos defeitos em componentes já analisados.

• Se, ao juntar o novo componente ou as suas alterações com os componentes restantes do sistema surgirem novos defeitos em componentes inalterados, então considera-se que o sistema regrediu.

Teste de Regressão

Page 21: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Estruturada:

• Ocorre como resultado de aplicação anterior de uma metodologia de engenharia de software, iniciando-se por uma avaliação do projeto;

• O impacto das modificações ou correções exigidas é avaliada e uma abordagem é planejada;

Características da Manutenção

Page 22: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Manutenção Estruturada (cont.) ✓ Usando-se técnicas adequadas, o projeto é modificado e revisado.

✓ Um novo código-fonte pode ser desenvolvido, testes de regressão são levados a efeito.

➔ Embora a existência de uma metodologia não garanta uma manutenção isenta de problemas, a quantidade de esforço é reduzida e a qualidade da mudança ou correção é aumentada.

Características da Manutenção

Page 23: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Custos da manutenção: • O custo da manutenção tem aumentado nos últimos anos

em proporção aos outros gastos do orçamento do software;

Características da Manutenção

Page 24: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Custos intangíveis da manutenção: ✓ Insatisfação do cliente quanto à demora no atendimento; ✓ Redução da qualidade devido à introdução de novos erros; ✓ Descontentamento das pessoas destinadas à tarefa.

✓ Oportunidade de desenvolvimento que é postergada ou perdida porque os recursos disponíveis estão na tarefa de manutenção;

✓ Drástica diminuição de produtividade se comparada à construção de um software;

Características da Manutenção

Page 25: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Problemas associados à manutenção:

• A maioria dos problemas remete-se a deficiências na maneira segundo o qual o software foi planejado e desenvolvido.

• A falta de controle e disciplina nas atividades de desenvolvimento da engenharia de software quase sempre se traduz em problemas durante a manutenção.

➔ Vamos pagar muito mais agora o que não quisemos gastar anteriormente.

Características da Manutenção

Page 26: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Problemas associados à manutenção:

✓A documentação do sistema não existe ou é muito ruim;

✓As mudanças e correções realizadas no sistema não estão adequadamente documentadas;

✓Frequentemente é difícil ou impossível rastrear o processo através do qual o software foi criado;

✓ Muitas vezes é difícil entender o programa “de outra pessoa”;

Características da Manutenção

Page 27: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Problemas associados à manutenção: (cont.)

✓ A “outra pessoa”, quase sempre, não está por perto para explicar o programa;

✓ A maioria dos sistemas não é projetada para sofrer mudanças;

✓ A manutenção não é vista como um trabalho muito glamouroso.

Características da Manutenção

Page 28: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Teste em Manutenção• O teste de manutenção (Sylabbus,2007) é iniciado por:

➢ Modificações no software; ➢ Migrações; ➢ Retiradas de software ou sistemas.

Page 29: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Como vimos, estas modificações podem ser inclusões de melhorias planejadas, ou seja, uma nova versão do software, podem ser mudanças corretivas e emergenciais, ou ainda mudanças de ambiente, como atualização em sistema operacional ou banco de dados, e correções (“patches”) para expor e encontrar vulnerabilidades do sistema operacional.

Teste em Manutenção

Page 30: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Além de testar o que foi alterado, o teste de manutenção pode incluir também um teste de regressão para as partes do sistema que não foram testadas especificamente.

• O escopo do teste de manutenção está relacionado ao risco da mudança, o tamanho do sistema existente e o tamanho da mudança.

• Dependendo da mudança, o teste de manutenção pode ser feito em todos ou apenas em alguns módulos do sistema, e podem ser aplicados todos ou alguns tipos de testes.

Teste em Manutenção

Page 31: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• A determinação de como um sistema pode ser afetado por mudanças é chamado de análise de impacto, e pode ser usado para ajudar a decidir quantos testes de regressão serão realizados.

• Os testes de manutenção pode se tornar uma tarefa complicada se as especificações do software estiverem desatualizadas ou incompletas.

Teste em Manutenção

Page 32: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Dependendo do tipo de manutenção podemos ter os seguintes tipos de teste:

➢Teste em Manutenção Corretiva; ➢Teste em Manutenção Perfectiva; ➢Teste em Manutenção Adaptativa; ➢Teste em Manutenção Preventiva.

Teste em Manutenção

Page 33: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• São os mais exigidos uma vez que se trabalha sobre um produto com vícios de construção, o que pode demandar esforço significativo para identificação e correção adequada do erro.

• Neste caso é indispensável a aplicação dos testes de validação (seu objetivo é avaliar a conformidade do software com os requisitos e especificações analisadas e revisadas nas etapas iniciais do projeto).

• Isto evitará possível propagação ou derivação de erro pela correção realizada e levando em consideração que tudo isso deverá ocorrer em diminuto espaço de tempo.

Teste em Manutenção Corretiva

Page 34: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Também conhecida como manutenção evolutiva, se assemelha ao teste na construção do software, pois testa-se novas funções, incluídas pelo usuário, que serão iniciadas no sistema, podendo ser planejada.

Teste em Manutenção Perfectiva

Page 35: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Por validar mudanças impositivas quer legais, quer tecnológicas, mesmo com tempo limitado, são previsíveis, podendo, assim como a perfectiva e a preventiva, serem planejadas, o que facilita a atividade de teste de software.

Teste em Manutenção Adaptativa

Page 36: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• É o mais previsível, pois busca identificar, antecipadamente, possíveis erros ou falhas no aplicativo que está sendo usado na empresa.

• Vale ressaltar que este tipo de teste não é muito usual.

Teste em Manutenção Preventiva

Page 37: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Confiabilidade e Disponibilidade

Page 38: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Confiabilidade e Disponibilidade

• Com o constante desenvolvimento da TI, os sistemas computacionais têm sido requisitados em quase todas as áreas da atividade humana.

• Essa crescente dependência em relação ao software tem conscientizado os usuários, que cada vez mais exigem softwares confiáveis.

• Por isso o software constitui a parte mais cara para a solução de um problema que envolve a TI.

Page 39: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Consequentemente desenvolver um software com qualidade tem exigido um enorme esforço na atividade de teste.

• Os problemas de confiabilidade e disponibilidade podem quase sempre ser associados a defeitos de projeto ou de implementação.

• Antes de estudarmos sobre a confiabilidade e disponibilidade de um software, precisamos compreender o conceito de falha. Segundo Pressman(2011): • É a falta de conformidade com os requisitos de software.

Confiabilidade e Disponibilidade

Page 40: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Existem diferentes tipos de falhas que podem ser problemáticas ou catastróficas.

• Enquanto uma determinada falha pode ser corrigida em segundos, outras necessitarão de horas ou até mesmo meses para serem corrigidas.

• É importante considerar também que às vezes a correção de uma falha pode resultar na introdução de outros erros que resultarão em outras falhas.

Confiabilidade e Disponibilidade

Page 41: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Componentes dos sistemas que estão sujeitos a falhas: • Hardware: Erros de fabricação;

• Final de sua vida útil.

• Software: Especificação, projeto ou implementação; • Operadores humanos; • Falha ao operar o sistema.

Confiabilidade e Disponibilidade

Page 42: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Dimensões da confiança de um software:

• Segundo Sommerville (2003), confiança de um sistema: • É uma propriedade do sistema que equivale a sua

integridade.

• Ou seja, é o grau de confiança dos usuários de que o sistema operará como eles esperam e não “falhará” em uso normal.

• Existem quatro dimensões principais de confiança:

Confiabilidade e Disponibilidade

Page 43: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Fonte: Sommerville, 2003

Confiabilidade e Disponibilidade

Page 44: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Disponibilidade• Se baseia na oferta do software em determinada unidade de

tempo, considerando-se, proporcionalmente, o tempo útil de uso e o tempo de reparo de falhas.

• É a probabilidade de que um programa esteja operando de acordo com os requisitos em determinado ponto do tempo.

Page 45: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Confiabilidade

• Se um programa deixar de funcionar repetidamente, pouco importa se outros fatores de qualidade de software são aceitáveis.

• Confiabilidade é definida como a probabilidade de operação livre de falhas de um programa de computador num ambiente específico durante determinado tempo.

Page 46: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• O conceito de confiabilidade de software se baseia na execução do sistema em determinada unidade de tempo sem falhas.

• A confiabilidade do produto de software é influenciada pelo processo de software utilizado para desenvolver o produto.

• Um processo orientado no sentido de evitar defeitos poderá desenvolver um sistema confiável.

Confiabilidade

Page 47: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Segurança de Software

• Quando o software é usado como parte do controle de Ambientes Críticos, as falhas tornam-se muito mais difíceis de serem detectadas, podendo resultar em significativos danos e até perda de vidas.

• É uma atividade que se concentra na identificação e avaliação de casualidades em potencial que possam exercer um impacto negativo sobre o software e fazer com que todo o sistema falhe.

Page 48: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Se as casualidades puderem ser identificadas, é possível especificar características de projeto que as eliminem ou controlem. Um processo de modelagem e análise é levado a efeito. Inicialmente, as casualidades são identificadas e dispostas por categorias, criticidade e risco.

• Logo que as casualidades são identificadas e analisadas, os requisitos relacionados à segurança podem ser especificados.

• A especificação pode conter uma lista de eventos indesejáveis e as respostas desejadas a esses eventos.

Segurança de Software

Page 49: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Proteção

• A proteção de um sistema é uma avaliação do ponto em que o sistema protege a si mesmo de ataques externos.

• Erros no desenvolvimento de um sistema podem levar a falhas de proteção.

• Sem um nível razoável de proteção, a disponibilidade, a confiabilidade e a segurança do sistema poderão ser comprometidas se ataques externos provocarem algum dano ao sistema.

Page 50: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

Medida de Confiabilidade

• Um meio simples de se medir a confiabilidade de um software é observar o tempo para a ocorrência da próxima falha.

• Métricas que podem ser utilizadas para medir a confiabilidade:

•Tempo médio de ocorrência de falhas •Tempo médio até a ocorrência de falhas •Tempo médio de reparo

Métrica do número de falhas do sistema

•Taxa de ocorrência de falha. •Probabilidade de falha sob demanda

Métricas de tempo ou número de transações

Page 51: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• O tempo médio entre falhas, MTBF (mean time between failure), representa o tempo esperado para a ocorrência da próxima falha, ou seja, é o tempo durante o qual o software funciona sem falhas (Delamare & Maldonado & Jino, 2007).

• É calculado considerando-se a soma de duas medidas:

• MTTF (mean time to failure) – Tempo médio de uso até a falha do software e

• MTTR (mean time to repair) – Tempo médio de reparo da falha no software.

Medida de Confiabilidade

Page 52: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

MTBF = MTTF + MTTR

• MTBF – tempo médio de ocorrência de falhas (mean time between failure)

• MTTF – tempo médio até a ocorrência de falha (mean time to failure)

• MTTR – tempo médio de reparo (mean time to repair)

• Portanto, quanto maior for o MTBF e o MTTF em relação ao MTTR mais tempo o sistema ficou operativo.

Medida de Confiabilidade

Page 53: Unidade 5 – Teste de Software em Sistema em Produçãoluizleao.com/Docencia/FAP/TESTES_SOFT/TESTES_SOFT_UND_05.pdf · • A falta de controle e disciplina nas atividades de desenvolvimento

Unidade 5 – Teste de Software em Sistema em Produção

TESTES DE SOFTWARE

• Tempo gasto para reparar ou reiniciar o sistema

• A medida de disponibilidade de software considera as medidas MTTF e MTTR, sendo mais sensível ao MTTR ou seja, tempo de correção da falha, pois a disponibilidade é obtida através de:

Disponibilidade = MTTF x 100% (MTTF + MTTR)

• Quanto mais próximo de 1 for a disponibilidade, mais disponível o software esteve no período, logo, mais será produtivo.

Medida de Confiabilidade