Teste de Software 1 Teste de Sistema Teste conduzido sobre um sistema completo e integrado (BD, hardware, processos) para avaliar a confiabilidade do software com seus requisitos especificados Teste de sistemas é do tipo caixa preta 2 Teste de Sistema Teste de Recuperação Testar quão bem o sw se recupera de crashes, falhas de hw e outros problemas similares; Força falhas do software de diversas maneiras para verificar que a recuperação é adequada 3 Teste de Sistema Teste de Recuperação Exemplos 1) Enquanto a aplicação está executando, reiniciar o computador → Verificar a validade da integridade dos dados 2) Enquanto a aplicação está recebendo dados da rede, desplugar/plugar o cabo → Analisar a habilidade da aplicação em continuar recebendo os dados a partir do momento de reconexão. 3) Reiniciar o sistema quando o browser estiver com um número definido de sessões → Verificar a habilidade em recuperar todas as sessões. 4 Teste de Sistema Teste de Segurança Testar sistemas que gerenciam informações importantes ou causam ações que podem prejudicar (ou beneficiar) indivíduos → Causas de invasão (acesso impróprio ou ilegal); Testes tentam verificar que os mecanismos de proteção contruídos para o sistema irá, de fato, proteger de acessos indevidos. 5 Teste de Sistema Teste de Segurança Testar invulnerabilidades (Beizer [BEI84]): … de ataques frontais, e … dos flancos e retaguarda O testador simula o(s) papel(is) do indivíduo que deseja acessar o sistema: deve tentar adquirir senhas por meios diversos pode sobrecarregar/dominar o sistema, danificando o serviço de outros usuários/sis pode causar erros para invadir o sistema durante a recuperação 6 Teste de Sistema Teste de Segurança Navegar em dados/telas inseguras esperando entrar no sistema. De acordo com tempo e recursos, bons testes de segurança alcançarão seus objetivos. O papel do projetista de software é fazer o custo da invasão ser maior que o valor da informação que será obtida. 7 Teste de Sistema Teste de Desempenho Tem como objetivo avaliar o desempenho da avaliação Volume de dados Carga de processamento Carga de comunicação Pode ser por 48 a 72 h 8 Teste de Sistema Teste de Estresse Teste para determinar a estabilidade de um dado sistema ou entidade. Envolve testar além da capacidade operacional normal, até um ponto limite (crash) → observar os resultados. Em teste de sw, avalia-se a robustez, disponibilidade e controle de erros sob uma carga pesada, maior que a considerada normal In particular, the goals of such tests may be to 9 ensure the software doesn’t crash in conditions Teste de Sistema Teste de Estresse Tem como objetivo garantir que o software não falhe em condições de recursos computacionais insuficientes (memória, disco), alta concorrência ou negação de serviços por outros sistemas Exemplo: Um servidor web é testado usando scripts e várias ferramentas de negação de serviço para observar o desempenho do software durante uma sobrecarga na rede 10