Partilhar via


Configure manualmente o fluxo de trabalho de CI/CD para executar testes de carga

Você pode automatizar um teste de carga no Teste de Carga do Azure criando um pipeline de CI/CD. Neste artigo, você aprenderá a configurar manualmente as Ações do GitHub, os Pipelines do Azure ou outras ferramentas de CI para invocar um teste existente no Teste de Carga do Azure. Automatize um teste de carga para validar continuamente o desempenho e a estabilidade do aplicativo sob carga.

Para adicionar um teste de carga existente a um pipeline de CI/CD:

  • Configure a autenticação de serviço para permitir que a ferramenta de CI se conecte ao seu recurso de teste de carga do Azure.
  • Adicione arquivos de entrada de teste de carga ao repositório, como o script de teste e a configuração do YAML de teste de carga.
  • Atualize a definição de pipeline de CI/CD para invocar o Teste de Carga do Azure.

Pré-requisitos

Configurar autenticação de serviço

Para executar um teste de carga em seu fluxo de trabalho de CI/CD, você precisa conceder permissão ao fluxo de trabalho de CI/CD para acessar seu recurso de teste de carga. Crie uma entidade de serviço para o fluxo de trabalho de CI/CD e atribua a função RBAC do Azure de Colaborador de Teste de Carga.

Criar uma conexão de serviço no Azure Pipelines

No Azure Pipelines, você cria uma conexão de serviço em seu projeto do Azure DevOps para acessar recursos em sua assinatura do Azure. Quando você cria a conexão de serviço, o Azure DevOps cria um objeto principal de serviço do Microsoft Entra.

  1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto.

    Substitua o espaço reservado de texto <your-organization> pelo seu identificador de projeto.

  2. Selecione Configurações do projeto>Conexões de serviço>+ Nova conexão de serviço.

  3. No painel Nova conexão de serviço, selecione o Gerenciador de Recursos do Azure e selecione Avançar.

  4. Selecione o método de autenticação da entidade de serviço (automática) e, em seguida, selecione Avançar.

  5. Insira os detalhes da conexão de serviço e selecione Salvar para criar a conexão de serviço.

    Campo Valor
    Nível de âmbito Subscrição.
    Subscrição Selecione a assinatura do Azure que hospeda seu recurso de teste de carga.
    Grupo de recursos Selecione o grupo de recursos que contém o recurso de teste de carga.
    Nome da conexão de serviço Insira um nome exclusivo para a conexão de serviço.
    Conceder permissão de acesso a todos os pipelines Verificado.
  6. Na lista de conexões de serviço, selecione a conexão que criou anteriormente e, em seguida, selecione Gerir Service Principal.

    Captura de ecrã que mostra opções para gerir uma entidade de serviço.

    O portal do Azure é aberto num separador separado do navegador e mostra os detalhes do principal de serviço.

  7. No portal do Azure, copie o valor Nome de exibição.

    Use esse valor na próxima etapa para conceder permissões para a execução de testes de carga na entidade de serviço.

Conceder acesso ao Teste de Carga do Azure

O Teste de Carga do Azure usa o RBAC do Azure para conceder permissões para executar atividades específicas em seu recurso de teste de carga. Para executar um teste de carga a partir do pipeline de CI/CD, conceda a função de Colaborador de Teste de Carga ao principal de serviço.

  1. No Azure portal, vá ao seu recurso de Teste de Carga do Azure.

  2. Selecione Controle de acesso (IAM)>Adicionar>Adicionar atribuição de função.

  3. Na guia Função, selecione Colaborador de Teste de Carga na lista de funções.

    Captura de tela que mostra a lista de funções na página Adicionar atribuição de função no portal do Azure, destacando a função de Colaborador de Teste de Carga.

  4. Na guia Membros, selecione Selecionar membros e use o nome de exibição copiado anteriormente para pesquisar a entidade de serviço.

  5. Selecione a entidade de serviço e, em seguida, selecione Selecionar.

  6. No separador Rever + atribuir, selecione Rever + atribuir para adicionar a atribuição de função.

Agora você pode usar a conexão de serviço em sua definição de fluxo de trabalho do Azure Pipelines para acessar seu recurso de teste de carga do Azure.

Adicionar arquivos de teste de carga em seu repositório

Para executar um teste de carga com o Teste de Carga do Azure em um fluxo de trabalho de CI/CD, você precisa adicionar todos os arquivos de entrada de teste de carga em seu repositório de controle do código-fonte.

Se você não tiver um teste de carga existente, adicione os seguintes arquivos ao repositório de código-fonte:

  • Teste de carga do arquivo YAML de configuração. Saiba como pode criar um ficheiro YAML de configuração de teste de carga.
  • Arquivo de plano de teste. Para testes baseados em JMeter, adicione um script de teste JMeter (JMX arquivo). Para testes baseados em gafanhotos, adicione um script de teste de gafanhotos (.py arquivo). Para testes baseados em URL, adicione um arquivo JSON de solicitações.
  • Quaisquer ficheiros de propriedades de utilizador JMeter.
  • Todos os arquivos de dados de entrada que seu plano de teste usa. Por exemplo, arquivos de dados CSV.

Se você tiver um teste de carga existente, poderá baixar as definições de configuração e todos os arquivos de entrada diretamente do portal do Azure. Execute as seguintes etapas para baixar os arquivos de entrada para um teste de carga existente no portal do Azure:

  1. No portal do Azure, vá para o seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir a lista de testes de carga e, em seguida, selecione seu teste.

    Captura de tela que mostra a lista de testes para um recurso de Teste de Carga do Azure.

  3. Selecione as reticências (...) ao lado da execução de teste com a qual está a trabalhar e, em seguida, selecione Descarregar o ficheiro de entrada.

    O navegador faz o download de um arquivo zip que contém os ficheiros de entrada do teste de carga.

    Captura de tela que mostra como baixar o arquivo de resultados para uma execução de teste de carga.

  4. Use qualquer ferramenta zip para extrair os arquivos de entrada.

    A pasta contém os seguintes ficheiros:

    • config.yaml: o arquivo de configuração YAML de teste de carga. Você faz referência a esse arquivo na definição de fluxo de trabalho CI/CD.
    • .jmx ou .py: O script de teste JMeter ou Locust
    • Quaisquer arquivos de entrada adicionais, como arquivos CSV ou arquivos de propriedades do usuário que são necessários para executar o teste de carga.
  5. Confirme todos os arquivos de entrada extraídos em seu repositório de controle do código-fonte.

    Use o repositório de código-fonte no qual você configura o pipeline de CI/CD.

Atualizar a definição do fluxo de trabalho de CI/CD

O Teste de Carga do Azure dá suporte às Ações do GitHub e aos Pipelines do Azure para executar testes de carga.

Instalar a extensão de Teste de Carga do Azure para Azure DevOps

Para criar e executar um teste de carga, a definição de fluxo de trabalho do Azure Pipelines usa a extensão de tarefa Teste de Carga do Azure do Azure DevOps Marketplace.

  1. Abra a extensão de tarefa de Teste de Carga do Azure no Azure DevOps Marketplace e selecione Obter gratuitamente.

  2. Selecione sua organização do Azure DevOps e selecione Instalar para instalar a extensão.

    Se você não tiver privilégios de administrador para a organização de DevOps do Azure selecionada, selecione Solicitar para solicitar que um administrador instale a extensão.

Atualizar o fluxo de trabalho do Azure Pipelines

Atualize seu fluxo de trabalho do Azure Pipelines para executar um teste de carga para seu recurso de teste de carga do Azure.

  1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto.

  2. Selecione Pipelines na navegação à esquerda, selecione seu pipeline e selecione Editar para editar sua definição de fluxo de trabalho.

    Como alternativa, selecione Criar Pipeline para criar um novo pipeline no Azure Pipelines.

  3. Use a AzureLoadTest tarefa para executar o teste de carga.

    Especifique o ficheiro de configuração do teste de carga exportado anteriormente na propriedade loadTestConfigFile.

    Substitua os <load-testing-resource> e <load-testing-resource-group> espaços reservados pelos nomes do seu recurso de teste de carga do Azure e do grupo de recursos.

        - task: AzureLoadTest@1
          inputs:
            azureSubscription: $(serviceConnection)
            loadTestConfigFile: 'config.yaml'
            loadTestResource: <load-testing-resource>
            resourceGroup: <load-testing-resource-group>
    

    Opcionalmente, pode passar parâmetros ou segredos para o teste de carga usando a propriedade env ou secrets.

  4. Use a publish tarefa para publicar os resultados do teste como artefatos na sua execução do fluxo de trabalho do Azure Pipelines.

        - publish: $(System.DefaultWorkingDirectory)/loadTest
          artifact: loadTestResults
    

Ver resultados do teste de carga

Ao executar um teste de carga a partir do pipeline de CI/CD, pode visualizar os resultados resumidos diretamente no log de saída de CI/CD. Se você publicou os resultados do teste como um artefato de pipeline, também poderá baixar um arquivo CSV para relatórios adicionais.

Captura de ecrã que mostra as informações de registo do fluxo de trabalho.

Limpar recursos

Se você não planeja usar nenhum dos recursos que criou, exclua-os para não incorrer em mais cobranças.

  1. Remova as alterações do Azure Pipelines:

    1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto.

      Substitua o marcador de posição <your-organization> pelo identificador do seu projeto.

    2. Se você criou um novo pipeline":

      1. Selecione Pipelines e, em seguida, selecione seu pipeline.

      2. Selecione as reticências e, em seguida, selecione Eliminar.

        Captura de tela que mostra como excluir uma definição do Azure Pipelines.

      3. Insira o nome do pipeline e selecione Excluir para excluir o pipeline.

    3. Se você modificou uma definição de fluxo de trabalho existente, desfaça as modificações para executar o teste de carga e salve o fluxo de trabalho.

  2. Remova a conexão de serviço:

    1. Selecione Configurações do>projeto Conexões de serviço e, em seguida, selecione sua conexão de serviço.
    2. Selecione Editar>Eliminar para remover a conexão de serviço.

Próximos passos

Avance para o próximo artigo para saber como identificar regressões de desempenho definindo critérios de reprovação de teste e comparando execuções de teste.