Este tutorial demonstra como usar o PTS para criar e executar um cenário de teste de estresse com múltiplas etapas que simula um fluxo de trabalho típico de educação online.
Cenário
Um site de educação online precisa testar sob estresse seu fluxo de seleção de cursos. O fluxo consiste em três etapas, cada uma com requisitos específicos:
-
Fazer login no sistema de educação online
Crie requisições de login com informações do usuário, como nomes de usuário e senhas.
Transmita as informações de login do usuário (cookie) para as requisições subsequentes de Visualizar lista de cursos e Enviar seleção de curso.
-
Visualize a lista de cursos
Passe o ID do curso para a requisição de Enviar seleção de curso.
-
Envie a seleção de curso
Use o ID do curso obtido na requisição anterior para montar a requisição de envio do curso.
Verifique se o envio do curso foi bem-sucedido.
A configuração básica do cenário de teste de estresse é descrita a seguir.
A sessão session1 está configurada com três APIs ativas (3/3), todas usando o método POST: Login, Query e Submit. Essas APIs correspondem às etapas de login, consulta da lista de cursos e envio da seleção de curso.
Pré-requisitos
Você já ativou o serviço PTS.
-
Prepare um arquivo de parâmetros no formato
CSV. Para mais informações sobre os requisitos de arquivos de parâmetros, consulte Especificações de arquivo de parâmetros.username,password user1,Password1 user2,Password2 user3,Password3
Etapa 1: Configure o cenário de teste de estresse
-
Faça login no console do PTS, escolha e clique em PTS.
-
Adicione o arquivo de parâmetros a uma fonte de dados.
Clique em Data Sources. Na aba Files, clique em + Upload File e selecione o arquivo de parâmetros local que deseja enviar.
Selecione Use First Row as Parameter Name. Ao marcar essa opção, não é necessário especificar os nomes dos parâmetros, pois os dados da primeira linha serão usados automaticamente. Durante a leitura do arquivo, o PTS ignora os dados dessa primeira linha. Caso a primeira linha do arquivo não contenha nomes de parâmetros, defina um nome para cada coluna conforme o seu cenário de negócios.

-
Adicione um nó de configuração de dados.
Na aba Scenario Settings, adicione uma API de teste de estresse, clique na seta suspensa ao lado de Add Instruction e selecione Parameter.
-
Na aba Data Source Parameters, selecione os nomes de parâmetros existentes.
NotaPara usar cada linha apenas uma vez na montagem das requisições, marque Use Once. Após todos os dados serem percorridos uma vez, o cenário interrompe a geração de novas requisições de teste, independentemente do nível de carga configurado.
Caso precise reutilizar os parâmetros durante o teste, não marque Use Once.
É possível selecionar Use Once ou Baseline Column, mas nunca ambos para os mesmos parâmetros. Se você marcar Use Once, a opção Baseline Column ficará indisponível.

-
Monte a sequência de APIs
-
Configure a API de login
Stress Testing URL: Insira a URL a ser testada. Este exemplo usa
http://web.example.com/login.Request Method: Selecione
POST.Body Definition: Defina
Content-Typecomox-www-form-urlencoded. Em seguida, clique em Text Edit no canto superior direito da área de edição e insira{"username":"${username}","password":"${password}"}.
NotaOs cookies da requisição atual, contendo as informações de login do usuário, são compartilhados automaticamente com as demais APIs deste cenário de teste. Nenhuma configuração manual é necessária.
-
Configure a API de visualização da lista de cursos
Clique em Add API e selecione HTTP para adicionar um novo nó de API. Depois, configure as informações básicas da requisição.
**Test URL: Insira a URL a ser testada. Este exemplo usa **
http://web.example.com/mocks/online/list.**Request method: Selecione
POST.**
Para transmitir o ID do curso à próxima requisição, extraia-o da resposta da API atual como um parâmetro de saída. Selecione a aba Output Parameter Definition e configure conforme abaixo.
Em Output Parameter Name, insira
ID. Em Source, selecione Body: JSON. Na parsing expression, insiraschedule_list[1].ID.Output Parameter Name: Defina um nome personalizado para o parâmetro.
Source: Escolha o formato de análise do corpo, como JSON.
-
Parsing Expression: Informe uma expressão de análise baseada nos detalhes da resposta.
Por exemplo, para extrair o ID do segundo curso do corpo de resposta de amostra abaixo, defina a expressão de análise como
schedule_list[1].ID.{ "schedule_list": [ { "Name": "math", "ID": "001" }, { "Name": "english", "ID": "002" }, { "Name": "science", "ID": "003" } ] }NotaUse o recurso de depuração de expressões para definir e validar a expressão de análise de um parâmetro de saída. Após a verificação, aplique a expressão neste campo. Para mais detalhes, consulte Depurar um cenário.
-
Configure a API de envio da seleção de curso
Clique em Add API e selecione HTTP para adicionar um novo nó de API. Em seguida, configure as informações básicas da requisição.
Test URL: Insira a URL a ser testada. Este exemplo usa
http://web.example.com/mocks/online/submit.Request method: Selecione
POST.
Selecione a aba Body Definition e use o ID do curso extraído da API anterior no
Bodyda requisição.Content-Type: Escolha o formato
x-www-form-urlencoded.Key: Defina uma chave personalizada, por exemplo,
ID_from_last_api.Value: Clique em Parameters no canto inferior esquerdo da página para visualizar os parâmetros da sessão, como "ID". Clique no ícone de cópia e cole o valor na caixa Value.
Acesse a aba Output Parameter Definition e defina as seguintes configurações.
Output Parameter Name: Informe um nome personalizado para o parâmetro, como
result.-
Source: Escolha um formato de análise para o corpo, por exemplo, Body: TEXT.
NotaPara a source, defina o formato de análise do Body como TEXT. Da mesma forma, use o recurso de depuração de expressões na depuração de cenários para validar sua expressão de análise.
Parsing Expression: Insira uma expressão de análise baseada nos detalhes da resposta. Neste exemplo, o corpo da resposta é
result:success, logo a expressão de análise seráresult:(.+).
Na aba Check Point (Assertion), configure um ponto de verificação para esta API a fim de confirmar se o envio do curso foi bem-sucedido.
Check Point Type: Selecione output parameter.
Check Object: Escolha result.
Check Condition: Selecione Equal To.
Content to Check: Insira
success.
-
Etapa 2: Stress Mode Configuration
Após construir o cenário, escolha um modo de estresse e defina o nível de carga.
Pressure Source: Selecione Public Network. Caso esteja testando um serviço em uma rede interna da Alibaba Cloud, escolha Alibaba Cloud VPC Network.
Pressure Mode: Escolha Virtual User Mode. Testes de estresse no modo de usuários virtuais são mais adequados para cenários iniciados pelo cliente. Já o RPS Mode mede o throughput do sistema sob a perspectiva do servidor.
Increment Mode: Selecione Manual Speed Control.
Maximum Virtual Users: No modo de usuários virtuais, informe o número máximo de usuários virtuais, por exemplo, 10.
Total Stress Testing Duration: Por exemplo, 1 minuto.
Mantenha os valores padrão para os demais parâmetros.
A execução de testes de estresse gera custos. Escolha um nível de carga adequado. Para mais informações, consulte Visão geral de faturamento e Configuração de modo e volume de pressão.
Etapa 3: Depurar e iniciar o cenário
Depure o cenário para validar suas configurações e evitar falhas nos testes. Recomendamos fortemente a depuração prévia do cenário.
Clique em Save and Start. Na caixa de diálogo Note, selecione Execute Now, marque a caixa de seleção The test is permitted and complies with the applicable laws and regulations. e clique em Start Test.
Analisar os resultados do teste de estresse
Ao término do teste, o sistema coleta automaticamente dados como métricas do cenário, detalhes de negócios, dados de monitoramento e logs de amostragem de API para gerar um relatório. Visualize o relatório na página Stress Test Report. Para mais informações, consulte Visualizar um relatório de teste de estresse do PTS.