Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Testes de Performance, Stress e Segurança
Rating: 4.3 out of 5(28 ratings)
444 students

Testes de Performance, Stress e Segurança

Planeje e execute testes avançados para avaliar desempenho, estabilidade e segurança
Created byClaudio Coelho
Last updated 1/2025
Portuguese

What you'll learn

  • Formação para Analista de Qualidade
  • Capacitação como Analista de QA
  • Planejar e Executar Testes de Performance
  • Garantir Segurança em Aplicações
  • Analisar e Mitigar Problemas
  • Utilizar Ferramentas de Mercado
  • Estar Preparado para Cenários Reais

Course content

8 sections • 16 lectures • 1h 21m total length
  • Métricas de Performance5:54

    Introdução ao Tópico:

    • Nesta aula, você aprenderá sobre as métricas chave de performance, que são essenciais para avaliar o desempenho de sistemas e aplicações. Ao final, você será capaz de definir, medir e interpretar métricas como tempo de resposta, throughput e latência, além de entender seu impacto na experiência do usuário.

    1. Definição de Métricas Chave:

    • Tempo de Resposta:

      • Definição: Tempo total que leva para um sistema responder a uma solicitação de um usuário.

      • Exemplo: Se um usuário clica em um botão e a resposta demora 2 segundos, esse é o tempo de resposta.

      • Detalhamento: O tempo de resposta é crucial para a satisfação do usuário; tempos elevados podem indicar gargalos ou ineficiências no sistema.

    • Throughput:

      • Definição: Número de transações ou processos que um sistema pode completar em um determinado período.

      • Exemplo: Um servidor web pode processar 2000 requisições por segundo. Esse valor representa o throughput.

      • Detalhamento: Throughput é uma medida de eficiência do sistema. Maior throughput geralmente indica melhor performance, mas deve ser analisado em conjunto com outras métricas.

    • Latência:

      • Definição: Tempo necessário para que uma mensagem viaje de um ponto a outro na rede.

      • Exemplo: A latência de uma requisição de um cliente para um servidor é de 50ms.

      • Detalhamento: Latência afeta diretamente a velocidade percebida pelo usuário. Baixa latência é desejável para uma experiência mais ágil.

    2. Como Medir e Interpretar Cada Métrica:

    • Medindo o Tempo de Resposta:

      • Passo a Passo:

        1. Inicie um cronômetro no momento em que a solicitação é feita.

        2. Pare o cronômetro quando a resposta completa for exibida.

        3. Registre o tempo decorrido.

      • Interpretação: Compare o tempo registrado com benchmarks ou SLAs (Acordos de Nível de Serviço) para determinar se está dentro dos limites aceitáveis.

    • Medindo Throughput:

      • Passo a Passo:

        1. Utilize ferramentas de monitoramento para registrar o número de transações completadas em um minuto.

        2. Divida o número total de transações pelo tempo em segundos para obter o throughput.

      • Interpretação: Avalie o throughput em diferentes condições de carga para identificar potenciais gargalos.

    • Medindo Latência:

      • Passo a Passo:

        1. Utilize ferramentas como ping ou traceroute para medir o tempo de ida e volta de pacotes.

        2. Registre o tempo médio de latência.

      • Interpretação: Latências acima do esperado podem indicar problemas de rede ou configuração inadequada.

    3. Impacto das Métricas na Experiência do Usuário:

    • Tempo de Resposta:

      • Impacto direto na satisfação do usuário; tempos altos podem levar à frustração e abandono.

    • Throughput:

      • Afeta a capacidade de atender múltiplos usuários simultaneamente; throughput insuficiente pode levar a tempos de espera prolongados.

    • Latência:

      • Alta latência pode resultar em tempos de carregamento lentos, afetando a percepção de velocidade do sistema.

    4. Exemplos de Relatórios de Métricas e Análise:

    • Exemplo de Relatório de Tempo de Resposta:

      • Inclua gráficos mostrando tempos médios e máximos de resposta sob diferentes cargas.

      • Análise: Identifique picos de tempo de resposta e correlacione com eventos específicos (e.g., backup em execução, alto tráfego).

    • Exemplo de Relatório de Throughput:

      • Gráficos de throughput ao longo do tempo, destacando períodos de alta e baixa atividade.

      • Análise: Determine a relação entre throughput e carga de usuário; ajuste recursos para otimizar.

    • Exemplo de Relatório de Latência:

      • Exibindo latência média e variação durante diferentes períodos do dia.

      • Análise: Identificar possíveis causas de alta latência, como congestionamento de rede ou problemas de hardware.

  • Testes: Métricas de Performance
  • Introdução aos Testes de Performance5:54

    Introdução ao Tópico:

    • Nesta aula, você aprenderá sobre as métricas chave de performance, que são essenciais para avaliar o desempenho de sistemas e aplicações. Ao final, você será capaz de definir, medir e interpretar métricas como tempo de resposta, throughput e latência, além de entender seu impacto na experiência do usuário.

    1. Definição de Métricas Chave:

    • Tempo de Resposta:

      • Definição: Tempo total que leva para um sistema responder a uma solicitação de um usuário.

      • Exemplo: Se um usuário clica em um botão e a resposta demora 2 segundos, esse é o tempo de resposta.

      • Detalhamento: O tempo de resposta é crucial para a satisfação do usuário; tempos elevados podem indicar gargalos ou ineficiências no sistema.

    • Throughput:

      • Definição: Número de transações ou processos que um sistema pode completar em um determinado período.

      • Exemplo: Um servidor web pode processar 2000 requisições por segundo. Esse valor representa o throughput.

      • Detalhamento: Throughput é uma medida de eficiência do sistema. Maior throughput geralmente indica melhor performance, mas deve ser analisado em conjunto com outras métricas.

    • Latência:

      • Definição: Tempo necessário para que uma mensagem viaje de um ponto a outro na rede.

      • Exemplo: A latência de uma requisição de um cliente para um servidor é de 50ms.

      • Detalhamento: Latência afeta diretamente a velocidade percebida pelo usuário. Baixa latência é desejável para uma experiência mais ágil.

    2. Como Medir e Interpretar Cada Métrica:

    • Medindo o Tempo de Resposta:

      • Passo a Passo:

        1. Inicie um cronômetro no momento em que a solicitação é feita.

        2. Pare o cronômetro quando a resposta completa for exibida.

        3. Registre o tempo decorrido.

      • Interpretação: Compare o tempo registrado com benchmarks ou SLAs (Acordos de Nível de Serviço) para determinar se está dentro dos limites aceitáveis.

    • Medindo Throughput:

      • Passo a Passo:

        1. Utilize ferramentas de monitoramento para registrar o número de transações completadas em um minuto.

        2. Divida o número total de transações pelo tempo em segundos para obter o throughput.

      • Interpretação: Avalie o throughput em diferentes condições de carga para identificar potenciais gargalos.

    • Medindo Latência:

      • Passo a Passo:

        1. Utilize ferramentas como ping ou traceroute para medir o tempo de ida e volta de pacotes.

        2. Registre o tempo médio de latência.

      • Interpretação: Latências acima do esperado podem indicar problemas de rede ou configuração inadequada.

    3. Impacto das Métricas na Experiência do Usuário:

    • Tempo de Resposta:

      • Impacto direto na satisfação do usuário; tempos altos podem levar à frustração e abandono.

    • Throughput:

      • Afeta a capacidade de atender múltiplos usuários simultaneamente; throughput insuficiente pode levar a tempos de espera prolongados.

    • Latência:

      • Alta latência pode resultar em tempos de carregamento lentos, afetando a percepção de velocidade do sistema.

    4. Exemplos de Relatórios de Métricas e Análise:

    • Exemplo de Relatório de Tempo de Resposta:

      • Inclua gráficos mostrando tempos médios e máximos de resposta sob diferentes cargas.

      • Análise: Identifique picos de tempo de resposta e correlacione com eventos específicos (e.g., backup em execução, alto tráfego).

    • Exemplo de Relatório de Throughput:

      • Gráficos de throughput ao longo do tempo, destacando períodos de alta e baixa atividade.

      • Análise: Determine a relação entre throughput e carga de usuário; ajuste recursos para otimizar.

    • Exemplo de Relatório de Latência:

      • Exibindo latência média e variação durante diferentes períodos do dia.

      • Análise: Identificar possíveis causas de alta latência, como congestionamento de rede ou problemas de hardware.

  • Testes: Introdução aos Testes de Performance
  • Ferramentas para Testes de Performance5:11

    Introdução ao Tópico da Aula:

    Nesta aula, você aprenderá sobre as ferramentas essenciais para testes de performance, entendendo como selecionar a ferramenta certa para suas necessidades, configurar o ambiente de teste e utilizar a interface das principais ferramentas do mercado. Ao final, você será capaz de realizar demonstrações práticas utilizando uma dessas ferramentas.

    1. Visão Geral de Ferramentas Populares (JMeter, LoadRunner, Gatling):

    • JMeter:

      • Descrição: JMeter é uma ferramenta open-source desenvolvida pela Apache para testar a performance de aplicações web.

      • Funcionalidade: Permite simular múltiplos usuários em cenários de carga e stress, analisando o comportamento do servidor sob diferentes condições.

      • Exemplo:

        1. Passo 1: Download e instalação do JMeter a partir do site oficial da Apache.

        2. Passo 2: Configuração de um teste básico de carga com 100 usuários simultâneos.

        3. Passo 3: Execução do teste e análise dos resultados no relatório gerado.

    • LoadRunner:

      • Descrição: LoadRunner é uma ferramenta desenvolvida pela Micro Focus para testes de carga, que oferece suporte a uma ampla variedade de protocolos.

      • Funcionalidade: Ideal para ambientes corporativos, suporta testes complexos com simulações de milhares de usuários.

      • Exemplo:

        1. Passo 1: Instalação do LoadRunner e criação de um novo projeto.

        2. Passo 2: Configuração de um script de teste para simular 500 usuários acessando uma aplicação web.

        3. Passo 3: Análise dos resultados utilizando gráficos de resposta e logs detalhados.

    • Gatling:

      • Descrição: Gatling é uma ferramenta de código aberto para testes de carga voltada para desenvolvedores, com foco em aplicações web.

      • Funcionalidade: Permite simular cenários de carga utilizando scripts baseados em Scala.

      • Exemplo:

        1. Passo 1: Configuração do ambiente de desenvolvimento para executar scripts do Gatling.

        2. Passo 2: Criação de um script básico em Scala para simular 200 usuários.

        3. Passo 3: Execução do teste e análise dos relatórios gerados em formato gráfico.

    2. Critérios para Escolha de Ferramentas:

    • Escalabilidade: Avalie se a ferramenta suporta o número de usuários que você precisa simular.

    • Facilidade de uso: Considere a curva de aprendizagem e a facilidade de integração com suas ferramentas atuais.

    • Compatibilidade: Verifique se a ferramenta suporta os protocolos e tecnologias que você utiliza.

    • Custo: Analise o custo-benefício entre ferramentas gratuitas e pagas.

    Exemplo:

    • Se sua equipe possui desenvolvedores familiarizados com Scala, o Gatling pode ser uma escolha eficiente devido à sua integração fácil e flexibilidade em scripts.

    • Para grandes corporações com necessidades complexas e orçamento disponível, o LoadRunner pode ser mais adequado devido ao seu suporte extensivo e funcionalidades avançadas.

    3. Configuração Básica e Interface das Ferramentas:

    • JMeter:

      • Configuração: Após a instalação, é necessário configurar o arquivo jmeter.properties para ajustar parâmetros de execução.

      • Interface: Oferece uma interface gráfica intuitiva com seções para configurar planos de teste, grupos de usuários, e relatórios.

      • Exemplo:

        1. Passo 1: Adicionar um Thread Group para definir o número de usuários.

        2. Passo 2: Configurar uma HTTP Request para simular uma chamada ao servidor.

        3. Passo 3: Adicionar um Listener para visualizar os resultados em tempo real.

    • LoadRunner:

      • Configuração: Requer a instalação de módulos específicos para diferentes tipos de teste (Web, Database, etc.).

      • Interface: Composta por três partes principais: VuGen (para scripts), Controller (para execução) e Analysis (para relatórios).

      • Exemplo:

        1. Passo 1: Criar um script no VuGen para automatizar as ações do usuário.

        2. Passo 2: Configurar um cenário de teste no Controller para execução em larga escala.

        3. Passo 3: Analisar os resultados detalhados no módulo Analysis.

    • Gatling:

      • Configuração: Requer a instalação do JDK e configuração do ambiente de desenvolvimento Scala.

      • Interface: Utiliza scripts baseados em código, sem interface gráfica, ideal para desenvolvedores.

      • Exemplo:

        1. Passo 1: Criar um novo script Scala utilizando o Gatling Recorder.

        2. Passo 2: Configurar o cenário de teste com simulações de usuários e pausas.

        3. Passo 3: Executar o script e analisar os relatórios HTML gerados.

    4. Demonstração Prática de uma Ferramenta:

    • Demonstração com JMeter:

      • Passo a Passo:

        1. Instalação: Baixe o JMeter do site oficial e extraia o arquivo ZIP.

        2. Configuração Inicial: Abra o jmeter.bat (Windows) ou jmeter.sh (Linux) para iniciar a interface.

        3. Criação do Teste:

          • Adicione um "Thread Group" para definir o número de usuários e o período do teste.

          • Inclua uma "HTTP Request" para especificar a URL e parâmetros da aplicação a ser testada.

          • Adicione "Listeners" como "View Results Tree" e "Graph Results" para monitorar a execução.

        4. Execução do Teste: Clique em "Start" para executar o teste e visualize os resultados nos listeners.

        5. Análise dos Resultados: Revise os tempos de resposta, taxas de erro e outras métricas para avaliar a performance.

  • Testes: Ferramentas para Testes de Performance

Requirements

  • Não existe pré-requisito. Curso para todos. Ótimo para quem quer iniciar na área de TI

Description

Garanta a qualidade dos sistemas que você desenvolve ou testa! Este curso foi cuidadosamente planejado para levar você ao próximo nível no universo de testes de software, capacitando-o a identificar gargalos, simular cenários extremos e garantir a segurança das aplicações modernas.

Com uma abordagem prática e detalhada, você aprenderá a planejar e executar testes avançados, dominando as ferramentas mais utilizadas no mercado para obter resultados precisos e confiáveis.

O que você aprenderá?

  • Planejamento e execução de testes de performance para medir eficiência e identificar gargalos.

  • Configuração de cenários de stress testing para testar limites e a resiliência de sistemas.

  • Identificação e mitigação de vulnerabilidades de segurança, protegendo aplicações contra ataques.

  • Uso de ferramentas avançadas de mercado para testes de desempenho e segurança.

  • Análise detalhada de resultados para oferecer soluções práticas de otimização.

Para quem este curso é indicado?

  • Profissionais de QA que desejam se especializar em testes avançados.

  • Desenvolvedores interessados em garantir a performance e segurança de suas aplicações.

  • Engenheiros de DevOps focados na resiliência de sistemas.

  • Analistas de Segurança da Informação que desejam aprimorar suas habilidades técnicas.

  • Estudantes de tecnologia que buscam especialização em áreas de alta demanda.

O que você verá em cada módulo?

Módulo 1: Fundamentos de Testes de Performance

  • Aula 1: Introdução aos testes de performance: importância e aplicações.

  • Aula 2: Ferramentas essenciais para realizar testes de performance.

  • Aula 3: Métricas e KPIs fundamentais para medir desempenho.

Módulo 2: Planejamento de Testes de Performance

  • Aula 4: Como identificar requisitos de performance em diferentes projetos.

  • Aula 5: Design de casos de teste de performance: melhores práticas.

Módulo 3: Execução de Testes de Performance

  • Aula 6: Configuração de testes de performance: passo a passo.

  • Aula 7: Interpretação e análise de resultados: insights valiosos.

Módulo 4: Introdução ao Stress Testing

  • Aula 8: Conceitos-chave do stress testing: como e quando aplicar.

  • Aula 9: Ferramentas utilizadas para simular cenários de stress.

Módulo 5: Execução de Stress Testing

  • Aula 10: Criação de cenários de stress: configurando ambientes extremos.

  • Aula 11: Análise de resultados: como identificar falhas críticas.

Módulo 6: Testes de Segurança

  • Aula 12: Fundamentos da segurança em testes: por onde começar.

  • Aula 13: Ferramentas de mercado para identificar vulnerabilidades.

Módulo 7: Identificação de Vulnerabilidades

  • Aula 14: Técnicas avançadas para identificar vulnerabilidades de segurança.

  • Aula 15: Avaliação e mitigação de riscos em sistemas.

Conclusão:

  • Aula 16: Revisão de conceitos, boas práticas e próximos passos para sua carreira.

Por que este curso é essencial para sua carreira?

  • O mercado de tecnologia exige cada vez mais sistemas confiáveis, seguros e de alta performance.

  • Testes de performance e segurança são habilidades avançadas e muito valorizadas, que abrem portas para projetos de maior complexidade e destaque profissional.

  • Você terá acesso a um conteúdo atualizado e orientado para a prática, que pode ser aplicado diretamente em suas atividades diárias.

O que está incluído no curso?

  • 16 aulas em vídeo com explicações detalhadas e exemplos reais.

  • Acesso a materiais complementares e links úteis para aprofundar seus estudos.

Who this course is for:

  • Curso para todos, mas se tiver conhecimento básico em testes manuais ajudará no entendimento