DevOps Test-Tool-Integration

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 5 Minuten Lesedauer
  • Mit der Test-Tool-Integration können Sie Testergebnisse in anzeigen DevOps Für Jenkins, Azure DevOps, GitHub, GitHub Enterprise, Und GitLab Einheiten-, Funktions- und Leistungstests.

    Für GitLab Und Jenkins wird nur die Integration des JUnit-Testtyps unterstützt.

    Hinweis:
    Verwenden Sie für andere Testtypen DevOps – POST /devops/Tool/{ability} Endpunkt von DevOps-API .
    • Selentests, die mit TestNG ausgeführt und veröffentlicht werden, werden von gemeldet Jenkins Plugin für ServiceNow DevOps.
    • Die Testtypkategorisierung wird unterstützt.
    • Zusätzliche Testergebnisse, die von Tools wie Apache JMeter gemeldet werden, können in verarbeitet werden DevOps Mit anwenderdefinierter Verwendung Workflow-Studio Subflows (keine Pipeline-Changes erforderlich).
    Kategorie Testtyp
    Einheit

    JUnit (Standard)

    NUnit

    XUnit

    Einheitentest

    Hinweis:
    • Für GitLab Und Jenkins wird nur die Integration des JUnit-Testtyps unterstützt.
    • Für ADO, GitHub und GitHub Enterprise die JUnit, NUnit, Integrationen vom Typ „XUnit“ und „Einheit“ werden unterstützt.

    Sie können den Standardtesttyp ändern, indem Sie ändern [sn_devops.default_test_type] DevOps useran.

    Funktionell
    • Integration
    • Regression
    • Rauch
    • System
    • Anwenderakzeptanz
    Leistung Laden

    Testtypzuordnung

    Die Testtypzuordnung verbindet den Testtyp und die zu testende Entität mit DevOps Tool (DevOps > Integrationen > Testtyp-Zuordnungen Modul.)

    Testtypzuordnungen

    Eine genaue Testtypzuordnung stellt sicher, dass der Testtyp in den Testzusammenfassungsergebnissen immer wie vorgesehen angezeigt wird.

    Feld Beschreibung
    Testtyp
    • JUnit
    • Neinheit
    • Xunit
    • Einheitentest
      Hinweis:
      • Für GitLab Und Jenkins wird nur die Integration des JUnit-Testtyps unterstützt.
      • Für ADO, GitHub und GitHub Enterprise die JUnit, NUnit, Integrationen vom Typ „XUnit“ und „Einheit“ werden unterstützt.
    • Integration
    • Regression
    • Rauch
    • System
    • Anwenderakzeptanz
    • Laden
    ID der DevOps-Entität Tabellenname

    DevOps Tabellenname, der die Entität enthält, die mit den Testergebnissen verknüpft ist (in der Testberichtsnutzlast).

    • Schritt [sn_devops_STEP]
    • Pipeline [sn_devops_Pipeline]
    Hinweis:
    Nur DevOps Schritt- und Pipeline-Tabellen werden unterstützt.
    Dokument

    Name der in der ausgewählten Tabelle angegebenen Entität.

    Zum Beispiel der Name des Schritts, der Pipeline, des Artefakts oder des Pakets.

    Testdateipfade

    ( Jenkins Nur Tests)

    Pfad zur generierten Testergebnisdatei auf der Jenkins Server.

    Dies ist nützlich, damit Testberichte mit Attributen, die nicht der JUnit- oder TestNG-Implementierung entsprechen, z. B. JMeter, weiterhin von genutzt werden können DevOps.

    Trennen Sie mehrere Dateien durch ein Komma.

    Hinweis:
    Sie müssen verwenden Workflow-Studio subflow zum Transformieren einer Rohtest-Nutzlast.
    Toolintegration

    Tool, das den Test ausführt.

    DevOps-Tabelle

    DevOps Tabelle, die dem Tabellennamen in entspricht DevOps-Entitäts-ID Einstellung.

    Abbildung : 1. DevOps Testtypzuordnung
    DevOps-Testtypzuordnung
    Abbildung : 2. Beispiel für eine yaml-Datei des ADO-Einheitentests
    Beispiel für eine yaml-Datei des ADO-Einheitentests
    Abbildung : 3. Beispiel-yaml-Datei des GitHub-Einheitentests
    Beispiel-yaml-Datei des GitHub-Einheitentests

    Umwandlung einer Rohtest-Nutzlast

    Sie können einen Rohtestbericht (einen Bericht mit Attributen, die nicht der JUnit- oder TestNG-Implementierung entsprechen), z. B. JMeter, umwandeln, indem Sie konfigurieren DevOps-Test-Subflow-Richtlinie Entscheidungstabelle zum Aufrufen eines anwenderdefinierten Subflows (Entscheidungstabellen > Entscheidungstabellen Modul).
    Hinweis:
    Sie müssen anwenderdefiniert erstellen Workflow-Studio subflow, der die Rohtest-Nutzlast umwandelt.

    Wenn in einer Leistungsphase mehr als einen Testtyp vorhanden ist, können Sie verwenden DevOps-Testtyprichtlinie Entscheidungstabelle zum Konfigurieren des Testtyps für jeden Test, damit die Nutzlasten des Testergebnisses korrekt umgewandelt werden.

    Abbildung : 4. DevOps Entscheidungstabellen
    DevOps-Entscheidungstabellen
    Tabelle : 1. DevOps Entscheidungstabellen
    Entscheidungstabelle Zweck Konfiguration
    DevOps-Test-Subflow-Richtlinie

    Dient zum automatischen Aufrufen eines anwenderdefinierten Subflows, der die vom Tool empfangene Rohnutzlast umwandelt.

    Entscheidungseingaben:

    • Testergebnis-Nutzlast
    • Testtyp

    Erstellen Sie eine Entscheidung, die den anwenderdefinierten Subflow angibt, der aufgerufen werden soll, wenn die Rohnutzlast empfangen wird.

    Legen Sie die Bedingungen so fest, dass sie Felder enthalten, die in der Rohnutzlast enthalten wären.

    Zum Beispiel „an anrufen“ Jenkins Anwenderdefinierter Subflow für BZ-Leistungstest:

    Bedingungen:
    • Testtyp ist „Laden“

      (Last ist der Testtyp, der für Leistungstests konfiguriert ist)

    • Nutzlast des Testergebnisses enthält Durchsatz
    • Testergebnis-Nutzlast enthält Gleichzeitigkeit

    Antwort: Flow: Jenkins BZ-Leistungstest

    DevOps-Testtyprichtlinie

    Dient zum automatischen Festlegen von Testtypen, wenn in einer Leistungstestphase mehr als ein Testtyp konfiguriert ist.

    Dies ist erforderlich, damit die Ergebnisse für den zweiten Testtyp korrekt umgewandelt werden.

    Beispielsweise, wenn sowohl ein Lastleistungstest als auch ein JUnit-Leistungstest in demselben zugeordnet sind DevOps Schritt: Die JUnit-Testergebnisse werden nur dann korrekt formatiert, wenn eine Entscheidung erstellt wird.

    Entscheidungseingaben:
    • Schritt
    • Testergebnis-Nutzlast
    • Toolintegration
    • Pipeline

    Erstellen Sie eine Entscheidung für jeden Testtyp in der Leistungstestphase, um den Testtyp festzulegen.

    Lasttest:
    • Bedingungen:
      • Schritt ist Leistungstests
      • Nutzlast des Testergebnisses enthält Durchsatz
      • Testergebnis-Nutzlast enthält Gleichzeitigkeit
    • Antwort: Testtyp: Laden

    JUnit-Test:

    • Bedingungen:
      • Schritt ist Leistungstests
      • Nutzlast des Testergebnisses enthält keinen Durchsatz
      • Die Nutzlast des Testergebnisses enthält keine Gleichzeitigkeit
    • Antwort: Testtyp: JUnit

    Abbildung : 5. DevOps Mehrere Leistungstypen
    DevOps – mehrere Leistungstypen
    Abbildung : 6. DevOps Mehrere Testtypzuordnungen
    DevOps-Testtypzuordnungen
    Abbildung : 7. DevOps Entscheidung der Entscheidungstabelle
    Entscheidung der DevOps-Entscheidungstabelle

    Testzusammenfassungsergebnisse

    Auf diese Weise können Sie die Ergebnisse der Testzusammenfassung anzeigen.
    Abbildung : 8. DevOps Beispiel für Leistungstestzusammenfassung
    Zusammenfassung des DevOps-Leistungstests

    Erwartete Nutzlast der Standard-JSON-Benachrichtigungsfähigkeit – Testtool

    Funktionsfähig:
    { 
    "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.
    Leistung:
    { 
    "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.