A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

How to Break Software Capítulo 2 Taíse Dias Testing from the User Interface.

Apresentações semelhantes


Apresentação em tema: "How to Break Software Capítulo 2 Taíse Dias Testing from the User Interface."— Transcrição da apresentação:

1 How to Break Software Capítulo 2 Taíse Dias Testing from the User Interface

2 Roteiro Usando o modelo Fault para guiar testes Explorando Inputs Attack 1 Attack 2

3 Modelo Fault para guiar testes Baseado em estratégias: ataques Divididos em 4 categorias: aceitar entradas produzir entradas armazenar dados executar cálculos (computação) Devem ser executados um de cada vez

4 Explorando Inputs Aplicações sem documentação Testadores precisam conhecer comportamento do software Dificuldade pra realizar testes Solução: conhecer a aplicação usando o software

5 Attack 1 “Apply inputs to force all error messages to occur”

6 Quando aplicar esse ataque? Característica essencial de um software: desvidar entradas incorretas ou responder apropriadamente a essas entradas Assegurar que código de erro escrito pelo desenvolvedor foi testado

7 Quando aplicar esse ataque? Inputs que estão fora do intervalo permitido ou de tipo diferente do permitido Provavelmente serão encontrados bugs Conhecer técnicas utilizadas por desenvolvedores Input Filters: entradas incorretas filtradas pela interface gráfica Input checking: software não é executado com entradas incorretas (if else) e retorna mensagens de erro Exception handlers: “permite” o sistema falhar, permite que o sistema continue interagindo com o usuário

8 Quando aplicar esse ataque? O teste deve focar em inputs erradas Gerar cada mensagem de erro pelo menos uma vez

9 Que falhas do software tornam esse ataque bem sucedido? Desenvolvedor pára de pensar no fluxo principal e considera entradas incorretas Software pára a execução para mostrar a mensagem de erro e continua a execução da aplicação Exception handler Benefícios aos usuários e aos desenvolvedores de manutenção

10 Como determinar se esse ataque revela falhas? Dados de entrada que os desenvolvedores não sabiam que eram incorretos Casos específicos negligenciados Provocam o travamento dos softwares Mensagens mal formadas prejudicam credibilidade do software

11 Como conduzir esse ataque? Considerar as seguintes propriedades: O tipo da entrada: utilizar tipos inválidos geralmente causam mensagens de erro Tamanho da entrada Valores de fronteiras: todo tipo de dado numérico possui valores limites

12 Attack 2 “Apply inputs that force the software to estabilish default values”

13 Ocorre falha caso o software seja executado sem que o valor default da variável seja atribuído Garante que a maior parte de valores default para dados são testados Bugs surgem caso variáveis não inicializadas sejam utilizadas Aplicado em qualquer programa que declara, inicializa e usa dados Funciona por causa de falhas na compilação Setar compilador corretamente Ferramentas para analisar código Exemplo: deixar um campo em branco não atribui nenhum valor à variável Quando aplicar esse ataque?

14 Como conduzir esse ataque? Verificar opções de botões, configuração de painéis, telas de instalação As mensagens retornadas por esses itens são comumente usadas em toda a aplicação O testador deve selecionar os dados de acordo com sua intuição (se o dado está sendo o usado) Consultar o código na seção de declaração de dados

15 Como conduzir esse ataque? Após identificar dados: Aceitar valores default exibidos pelo software Entrar com valores nulos Trocar o valor default Usar primeiro o valor default e depois trocar por valor nulo


Carregar ppt "How to Break Software Capítulo 2 Taíse Dias Testing from the User Interface."

Apresentações semelhantes


Anúncios Google