DevOps integração da ferramenta de teste

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 6 min. de leitura
  • A integração da ferramenta de teste permite exibir os resultados do teste no DevOps para Jenkins, Azure DevOps, GitHub, GitHub Enterprise, e. GitLab testes de unidade, funcional e de desempenho.

    Para GitLab E Jenkins, somente a integração do tipo de teste JUnit é compatível.

    Nota:
    Para outros tipos de teste, use DevOps - POST /devops/tool/ endpoint do DevOps API .
    • Os testes de selênio executados e publicados usando TestNG são relatados pelo Jenkins plug-in para ServiceNow DevOps.
    • A categorização de tipo de teste é compatível.
    • Resultados de testes adicionais relatados por ferramentas, como Apache JMeter, podem ser processados em DevOps personalizado Workflow Studio subfluxos (nenhuma mudança de pipeline necessária).
    Categoria Tipo de teste
    Unidade

    JUnit (padrão)

    NUnit

    XUnit

    Teste de unidade

    Nota:
    • Para GitLab E Jenkins, somente a integração do tipo de teste JUnit é compatível.
    • Para ADO, GitHub e GitHub Enterprise, o JUnit, Nunit, as integrações do tipo de teste XUnit e Unidade são compatíveis.

    Você pode mudar o tipo de teste padrão modificando o. [sn_devops.default_test_type] DevOps propriedade.

    Funcional
    • Integração
    • Regressão
    • Fumaça
    • Sistema
    • Aceitação do usuário
    Desempenho Carregar

    Mapeamento de tipo de teste

    O mapeamento de tipo de teste conecta o tipo de teste e a entidade que está sendo testada com DevOps ferramenta (DevOps > Integrações > Mapeamentos de tipo de teste .)

    Mapeamentos de tipo de teste

    Um mapeamento de tipo de teste preciso garante que o tipo de teste sempre apareça conforme pretendido nos resultados de resumo do teste.

    Campo Descrição
    Tipo de teste
    • JUnit
    • Nunit
    • Xunit
    • Teste de unidade
      Nota:
      • Para GitLab E Jenkins, somente a integração do tipo de teste JUnit é compatível.
      • Para ADO, GitHub e GitHub Enterprise, o JUnit, Nunit, as integrações do tipo de teste XUnit e Unidade são compatíveis.
    • Integração
    • Regressão
    • Fumaça
    • Sistema
    • Aceitação do usuário
    • Carregar
    ID da entidade do DevOps Nome da tabela

    DevOps nome da tabela que contém a entidade vinculada aos resultados do teste (na carga útil do relatório de teste).

    • Etapa [sn_devops_step]
    • Pipeline [sn_devops_pipeline]
    Nota:
    Apenas DevOps Tabelas de Etapa e Pipeline são compatíveis.
    Documento

    Nome da entidade especificada na tabela selecionada.

    Por exemplo, o nome da etapa, pipeline, artefato ou pacote.

    Testar caminhos de arquivo

    ( Jenkins(somente testes)

    Caminho para o arquivo de resultado de teste gerado no Jenkins servidor.

    Isso é útil para que relatórios de teste com atributos que não estão em conformidade com a implementação JUnit ou TestNG, como JMeter, por exemplo, ainda possam ser aproveitados por DevOps.

    Separe vários arquivos por uma vírgula.

    Nota:
    Você deve usar um Workflow Studio subfluxo para transformar uma carga de teste bruta.
    Integração da ferramenta

    Ferramenta que está executando o teste.

    Tabela do DevOps

    DevOps tabela que corresponde ao nome da tabela no ID da entidade DevOps configuração.

    Figura 1. DevOps mapeamento de tipo de teste
    Mapeamento de tipo de teste DevOps
    Figura 2. Exemplo de arquivo yaml do teste de unidade ADO
    Exemplo de arquivo yaml do teste de unidade ADO
    Figura 3. Exemplo de arquivo yaml do teste de unidade do GitHub
    Exemplo de arquivo yaml do teste de unidade do GitHub

    Transformar uma carga de teste bruta

    Você pode transformar um relatório de teste bruto (um relatório que contém atributos que não estão em conformidade com a implementação JUnit ou TestNG), como JMeter, por exemplo, configurando o. Política de subfluxo de teste de DevOps tabela de decisão para chamar um subfluxo personalizado (Tabelas de Decisão > Tabelas de Decisão ).
    Nota:
    Você deve criar o personalizado Workflow Studio subfluxo que transforma a carga bruta de teste.

    Se houver mais de um tipo de teste em uma fase de desempenho, você poderá usar Política de tipo de teste do DevOps tabela de decisão para configurar o tipo de teste para cada teste para que as cargas úteis do resultado do teste sejam transformadas corretamente.

    Figura 4. DevOps tabelas de decisão
    Tabelas de decisão do DevOps
    Tabela 1. DevOps tabelas de decisão
    Tabela de decisão Finalidade Configuração
    Política de subfluxo de teste de DevOps

    Chamar automaticamente um subfluxo personalizado que transforma a carga bruta recebida pela ferramenta.

    Entradas de decisão:

    • Carga do resultado de testes
    • Tipo de Teste

    Crie uma decisão que especifique o subfluxo personalizado a ser chamado quando a carga bruta for recebida.

    Defina as condições para conter campos que seriam incluídos na carga bruta.

    Por exemplo, para chamar Jenkins Subfluxo personalizado de Teste de desempenho do BZ:

    Condições:
    • O tipo de teste é Carregar

      (Carga é o tipo de teste configurado para testes de desempenho)

    • A carga útil do resultado do teste contém rendimento
    • A carga do resultado do teste contém simultaneidade

    Fluxo: Jenkins Teste de desempenho do BZ

    Política de tipo de teste do DevOps

    Para definir automaticamente tipos de teste quando mais de um tipo de teste estiver configurado em uma fase de teste de desempenho.

    Isso é necessário para que os resultados do segundo tipo de teste sejam transformados corretamente.

    Por exemplo, quando um teste de desempenho Load e um teste de desempenho JUnit são mapeados no mesmo DevOps Etapa, os resultados do teste JUnit não serão formatados corretamente, a menos que uma decisão seja criada.

    Entradas de decisão:
    • Etapa
    • Carga do resultado de testes
    • Integração da Ferramenta
    • Pipeline

    Crie uma decisão para cada tipo de teste na fase de teste de desempenho para definir o tipo de teste.

    Teste de carga:
    • Condições:
      • A etapa é Testes de desempenho
      • A carga útil do resultado do teste contém rendimento
      • A carga do resultado do teste contém simultaneidade
    • Resposta: TestType: Carga

    Teste JUnit:

    • Condições:
      • A etapa é Testes de desempenho
      • A carga do resultado do teste não contém rendimento
      • A carga do resultado do teste não contém simultaneidade
    • Resposta: TestType: JUnit

    Figura 5. DevOps vários tipos de teste de desempenho
    DevOps Vários tipos de teste de desempenho
    Figura 6. DevOps mapeamentos de vários tipos de teste
    Mapeamentos de tipo de teste DevOps
    Figura 7. DevOps decisão da tabela de decisão
    Decisão da tabela de decisão do DevOps

    Resultados do resumo do teste

    Você pode exibir os resultados do resumo do teste dessas maneiras.
    Figura 8. DevOps exemplo de resumo do teste de desempenho
    Resumo do teste de desempenho do DevOps

    Carga de capacidade de notificação JSON padrão esperada - Ferramenta de teste

    Funcional:
    { 
    "name": "CorpSite-selenium#55", 
    "duration": 78.802, 
    "passedTests": 4, 
    "failedTests": 0, 
    "skippedTests": 0, 
    "blockedTests": 0, 
    "totalTests": 4, 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "passingPercent": 100, 
     
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 
    
    Send only one Attribute combination. For example, send Attributes of either  Artifact or Package, or the combination of Build + Stage + PipelineName.
    
    If you send more than one Attribute, priority is given in the following order and the low priory one is ignored. For example, if you send attribute for both packages and artifacts, then attribute of package is considered and the attribute of artifacts is ignored.
    
    1.packages
    2.artifcats
    3.buildNumber + stageName + pipelineName
    
    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-selenium", 
    } 
    
    Notes:
    - The pipelineName attribute value must be same as the value in the Orchestration pipeline field of the Pipeline [sn_devops_pipeline] table.
    - The stageName attribute value must be same as the value in the Orchestration stage field of the Step [sn_devops_step] table.
    Desempenho:
    { 
    "name": "Performance Tests", 
    "url": "http://abc.com", 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "duration": 78.802, 
    "maximumVirtualUsers": "", 
    "throughput": "", 
    "maximumTime": "", 
    "minimumTime": "", 
    "averageTime": "", 
    "ninetyPercent": "", 
    "standardDeviation": "", 
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 
    
    Send only one Attribute combination. For example, send Attributes of either  Artifact or Package, or the combination of Build + Stage + PipelineName.
    
    If you send more than one Attribute, priority is given in the following order and the low priory one is ignored. For example, if you send attribute for both packages and artifacts, then attribute of package is considered and the attribute of artifacts is ignored.
    
    1.packages
    2.artifcats
    3.buildNumber + stageName + pipelineName
    
    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-Performance", 
    } 
    
    Notes:
    - The pipelineName attribute value must be same as the value in the Orchestration pipeline field of the Pipeline [sn_devops_pipeline] table.
    - The stageName attribute value must be same as the value in the Orchestration stage field of the Step [sn_devops_step] table.