testes de software aula 03 eduardo silvestri

17
Testes de Software Testes de Software AULA 03 AULA 03 Eduardo Silvestri www.eduardosilvestri.com .br

Upload: internet

Post on 22-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testes de Software AULA 03 Eduardo Silvestri

Testes de Testes de SoftwareSoftware

AULA 03AULA 03

Testes de Testes de SoftwareSoftware

AULA 03AULA 03

Eduardo Silvestriwww.eduardosilvestri.com.br

Page 2: Testes de Software AULA 03 Eduardo Silvestri

Testes de SoftwareTestes de Software

DependabilidadeDependabilidade

Page 3: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Mascaramento de Falhas

O mascaramento de falhas garante resposta correta mesmo na presença de falhas. A falha não se manifesta como erro, o sistema não entra em estado errôneo e, portanto, erros não precisam ser detectados, confinados e recuperados.

Page 4: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Mascaramento de Falhas

Entretanto, em caso de falhas permanentes, a localização e o reparo da falha ainda são necessários. A tabela mostra mecanismos usuais para implementação de mascaramento de falhas. Algunsdesses mecanismos serão vistos em detalhes.

Page 5: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Mascaramento de Falhas

Page 6: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância.

Redundância é a palavra mágica em tolerância a falhas. Redundância para aumentar confiabilidade é quase tão antiga como a história dos computadores. Todas as técnicas de tolerância a falhas envolvem alguma forma de redundância. Redundância está tão intimamente relacionada a tolerância a falhas que naindústria nacional o termo usado para designar um sistema tolerante a falhas é sistema redundante.

Page 7: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância.

Redundância para tolerância a falhas pode aparecer de várias formas:•Redundância de hardware•Redundância de software

Page 8: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância.

Todas as formas de redundância, de hardware e de software, tem algum impacto no sistema, seja no custo, no desempenho, na área (tamanho, peso), ou na potência consumida. Assim, apesar de ser a solução "mágica" para tolerância a falhas, o uso de redundância em qualquer projeto deve ser bem ponderada.

Page 9: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância.

Redundância tanto serve para detecção de falhas, como para mascaramento de falhas. O grau de redundância em cada caso é diferente. Para mascarar falhas são necessários 12 mais componentes do que para detectar falhas.

Page 10: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância.

Por exemplo, para detectar falhas em um microprocessador é necessário outro microprocessador idêntico, sincronizado ao primeiro, além de um comparador de sinais na saída de ambos. Qualquer diferença na comparação indica que o par de microprocessadores está em desacordo, e que portantoum dos dois está falho.

Page 11: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância.

Entretanto está falha não pode ser mascarada. O resultado da comparação não indica quais as saídas são as corretas.

Page 12: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância de Hardware.

Redundância de hardware está baseada na replicação de componentes.

Page 13: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância de Software.

A simples replicação de componentes idênticos é uma estratégia inútil em software.Componentes idênticos de software vão apresentar erros idênticos. Assim não basta copiar um programa e executá-lo em paralelo ou executar o mesmo programa duas vezes.

Page 14: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância de Software.

Exemplos de outras formas de redundância em software:• diversidade (ou programação n-versões)• blocos de recuperação• verificação de consistência

Page 15: Testes de Software AULA 03 Eduardo Silvestri

DependabilidadeDependabilidade

Redundância de Software.

É interessante lembrar que se o software foi projetado corretamente desde o início, então não são necessárias técnicas de tolerância a falhas para software. Infelizmente estamos longe de poder garantir, na prática, programas corretos.

Page 16: Testes de Software AULA 03 Eduardo Silvestri

Perguntas / Entrega ImediataPerguntas / Entrega Imediata1- O que é mascaramento de falhas ?1- O que é mascaramento de falhas ?

2- Quais os mecanismos de mascaramento de falhas ?2- Quais os mecanismos de mascaramento de falhas ?

3- O que é redundância e para que serve ?3- O que é redundância e para que serve ?

4- Quais as formas de redundância ?4- Quais as formas de redundância ?

5- Quais os impactos que a redundância de hardware pode 5- Quais os impactos que a redundância de hardware pode causar em um sistema ?causar em um sistema ?

6- A replicação de um componente de Software pode ser 6- A replicação de um componente de Software pode ser determinado uma redundância ? Porque ?determinado uma redundância ? Porque ?

PublicaçõesPublicações-Mapa Conceitual.Mapa Conceitual.

Page 17: Testes de Software AULA 03 Eduardo Silvestri

www.eduardosilvestri.com.brwww.eduardosilvestri.com.br

Eduardo SilvestriEduardo [email protected]@eduardosilvestri.com.br

DúvidasDúvidas