Einheit 11 / 11

End-to-End-Workflow, CI/CD-Integration, Ethik und Sicherheit: Verantwortungsvoller Umgang mit KI

Gewinne:

  • Fähigkeit, die Rolle künstlicher Intelligenz und menschlicher Genehmigungspunkte im End-to-End-Qualitätssicherungsfluss von der Idee bis zur Veröffentlichung im Kontext von CI/CD zu gestalten
  • In CI/CD wird die KI nicht autorisiert, den Test automatisch zu „bestehen“, sondern es werden Grenzwerte angewendet, um vertrauliche Daten und Schlüssel zu schützen
  • Fähigkeit, Sicherheitstests innerhalb der Behörde und zu Verteidigungszwecken durchzuführen und verantwortungsvolle Offenlegungs- und ethische Transparenzprinzipien einzuführen.

In den vorherigen zehn Einheiten haben wir KI in einzelnen Aufgaben eingesetzt: Szenariogenerierung, Automatisierungscode, Fehlerberichterstattung, Abdeckungsanalyse, Mutationstests. Diese letzte Einheit vereint sie alle in einem verantwortungsvollen Arbeitsablauf. Moderne Qualitätssicherung ist kein Job, der am Schreibtisch einer einzelnen Person endet; Es handelt sich um einen Prozess, der innerhalb von CI/CD (Continuous Integration / Continuous Delivery – die Pipeline, in der der Code ständig kombiniert, automatisch getestet und häufig und sicher für die Veröffentlichung vorbereitet wird) angesiedelt ist. KI kann jede Phase dieses Prozesses beeinflussen. Aber mit zunehmender Leistungsfähigkeit der KI wächst auch die Bedeutung eines verantwortungsvollen Umgangs mit ihr: Datenschutz, Autorität bei Sicherheitstests, Ethik und vor allem, dass die Entscheidung über die Qualität dem Menschen überlassen bleibt. In dieser Einheit lernen Sie den End-to-End-Ablauf und die Grenzen kennen.

Durchgängiger KI-gestützter QS-Ablauf

Die Rolle der KI auf dem Weg eines Features von der Idee bis zur Veröffentlichung:

1. Anforderungsanalyse. KI weist auf Unklarheiten in der Anforderung und fehlende Akzeptanzkriterien hin („Diese Regel sagt nicht, wie viele Zeichen das Passwort mindestens hat“).

2. Testdesign. Szenario- und Fallentwürfe (Einheit 2), Randfälle (Einheit 3) gehören zu den Akzeptanzkriterien.

3. Automatisierung. Einheit (6), API (5) und UI (4) testen Code-Entwürfe; jedes wird durch Mutation bestätigt (10).

4. CI/CD-Integration. Tests werden bei jeder Codezusammenführung automatisch ausgeführt. AI entwirft die Pipeline-Konfiguration (YAML), fasst Protokolle fehlgeschlagener Tests zusammen und schlägt mögliche Grundursachen vor.

5. Freigabeentscheidung. Die Ergebnisse der Risikoanalyse (8) und der Regression (9) werden gesammelt – aber der Experte entscheidet, ob es erfolgreich sein kann.

6. Produktionsüberwachung und Feedback. Live-Fehler werden zu zukünftigen Tests; AI schlägt einen Regressionsfall ausgehend von einem Herstellungsfehler vor.

Tipp: Richten Sie KI als eine Ebene in CI/CD ein, die „von Menschen überprüfte Entwürfe beschleunigt“, anstatt „Tests zu schreiben und Entscheidungen zu treffen“. Es sollten keine automatisch generierten Tests in die Pipeline gelangen, ohne dass sie von einem Menschen überprüft und genehmigt werden.

KI in CI/CD: wo ja, wo nein

Bühne

KI-fit

Der Mensch ist wesentlich

Codeentwurf testen

Ja

Revision + Mutation

Pipeline-YAML-Entwurf

Ja

Authentifizierung + Überprüfung des geheimen Schlüssels

Zusammenfassung des fehlgeschlagenen Protokolls

Ja

Bestätigung der Grundursache

Fragile Testdiagnose

Ja

Dauerhafte Lösungsentscheidung

„Kann es eine Version geben?“

Nein

Fachmännisches Urteil und Verantwortung

Den Test automatisch „bestehen“.

niemals

Achtung: Geben Sie der KI in CI/CD niemals einen Auftrag wie „Reparieren Sie es, um den fehlgeschlagenen Test zu bestehen“. Dies macht den Zweck des Testens zunichte und vertuscht automatisch Fehler. KI kann den Fehler erklären und eine Korrektur vorschlagen; Aber „den Test grün zu streichen“ muss eine bewusste und begründete Entscheidung einer Person sein.

Privatsphäre, Daten und Sicherheit: unveränderliche Grenzen

Privatsphäre. In der Testumgebung sind tatsächliche Kundendaten, Produktionsdatenbankkopien, API-Schlüssel und interne Systeminformationen vertraulich. Geben Sie diese nicht an öffentliche KI-Tools weiter. Personenbezogene Daten unterliegen der KVKK und ähnlichen Vorschriften; Maskieren Sie Protokolle und Screenshots. Verwenden Sie nach Möglichkeit synthetische (fiktive) Testdaten.

Sicherheitstests – defensiv und autorisiert. Die in diesem Modul erlernten Sicherheitstests (Autorisierungs-/IDOR-Tests, Datei-Upload-Limits, Eingabevalidierung) dienen ausschließlich der Prüfung Ihres eigenen Produkts im Rahmen der schriftlichen Autorisierung und des definierten Umfangs. Der Einsatz von KI, um ohne Erlaubnis auf das System eines anderen zuzugreifen, echte Schwachstellen auszunutzen oder Tests außerhalb des Rahmens durchzuführen, ist sowohl unethisch als auch illegal. Wenn Sie eine Sicherheitslücke entdecken, befolgen Sie den Grundsatz der verantwortungsvollen Offenlegung: Behandeln Sie die Schwachstelle vertraulich und melden Sie sie der entsprechenden Partei, damit sie behoben werden kann.

Ethik und Transparenz. Stellen Sie die von AI erstellten Tests nicht als Ihre eigene Arbeit dar; Zu sagen, dass Sie KI im Team einsetzen, bedeutet Transparenz. Sie sind für die Ungenauigkeit einer von KI erzeugten Ausgabe verantwortlich – „KI hat es geschrieben“ ist keine Entschuldigung.

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwach: „Testpipeline für CI einrichten.“
Stark: „Entwerfen Sie einen CI-Workflow YAML für GitHub-Aktionen: Führen Sie Unit- und API-Tests für jeden PR aus, generieren Sie einen Abdeckungsbericht, führen Sie wöchentlich Mutationstests (Stryker) aus. Betten Sie keine Geheimnisse in den Code ein; verwenden Sie nur die Geheimreferenz. Blockieren Sie die Zusammenführung, wenn Tests rot sind. Dies ist ein ENTWURF; ich werde die Schritte zur Verwaltung und Validierung geheimer Schlüssel überprüfen und bearbeiten. Fügen Sie KEINEN automatisierten Testschritt „Fix“ oder „Migrieren“ hinzu.“

Leistungsstarke Eingabeaufforderung; Es schränkt die Vertraulichkeit, die menschliche Überprüfung und „keine automatisierten Tests“ ein.

Vier kopierbare Vorlagen

1) End-to-End-Testplan:

Ihre Rolle: leitender QA-Leiter. Entwerfen Sie einen End-to-End-Testplan von der Idee bis zur Veröffentlichung für das folgende Feature: [Feature + Akzeptanzkriterien]. Phasen: Anforderungsanalyse (Unsicherheiten), Testdesign, Automatisierungsschichten (Einheit/API/UI), CI/CD-Integration, Release-Entscheidungskriterien, Produktionsverfolgung. Geben Sie die Rolle der KI- und HUMAN-Genehmigungspunkte in jeder Phase separat an.

2) Übersicht über die CI/CD-Pipeline:

CI YAML-Entwurf für [GitHub Actions/GitLab CI/Azure Pipelines]: – Einheit + API-Test + Bereich in PR – Zusammenführung im roten Test verhindern – Geheime Werte nur mit Geheimnissen; Einbetten in CodeDies ist ein Entwurf; Ich werde die wichtigsten Verwaltungs- und Genehmigungsschritte überprüfen. Hinzufügen eines Autokorrektur-/Bestehenstestschritts.

3) Analyse des Testprotokolls fehlgeschlagen:

In diesem CI-Ausdruck sind die Tests rot. Untersuche das Protokoll. Gruppieren Sie die Fehler, unterscheiden Sie mögliche Grundursachen und ermitteln Sie, WELCHE Fehler tatsächlich aufgetreten sind und welche möglicherweise ein fragiles Test-/Umgebungsproblem darstellen. Wenn personenbezogene Daten vorhanden sind, maskieren Sie diese. Die Entscheidung und Korrektur liegt bei mir. Protokoll: [einfügen]

4) Vorabprüfung der Sicherheit/Datenschutz:

Bevor diese Testdaten/Protokoll an das KI-Tool gesendet werden, prüfen Sie: Enthält es personenbezogene Daten, API-Schlüssel, interne Systemadresse, Produktionsdaten? Listen Sie auf, welche Bereiche ggf. maskiert/entfernt werden müssen. Verarbeitung wie sie ist. Inhalt: [einfügen]

drei Mini-Koffer

Fall 1 – Geschwindigkeit des End-to-End-Flusses. Ein Team hat eine neue Funktion zur „Abonnementverlängerung“ mit einem KI-gestützten End-to-End-Ablauf in Angriff genommen: Anforderungsunsicherheiten wurden im Vorfeld gemeldet, dreistufige Tests entworfen und mutationsvalidiert, verknüpft mit CI. Die Funktion reduzierte den Testzyklus, der im herkömmlichen Verfahren fünf Tage dauerte, auf zwei Tage. Die menschliche Zustimmung blieb jedoch in jeder Phase erhalten, und eine Anforderungsunsicherheit (was passiert, wenn die Aktualisierung fehlschlägt) wurde vor der Live-Version geschlossen.

Fall 2 – Rückkehr nach Schlüsselleck. Ein Entwickler ließ die KI CI-YAML generieren und die KI bettete als Beispiel einen echt aussehenden API-Schlüssel in die YAML ein. Der Schritt „Sicherheits-/Datenschutz-Vorabprüfung“ hat dies erfasst; Schlüssel in Geheimreferenz umgewandelt. Ohne den Prüfschritt würde der Schlüssel in die Versionskontrolle (Git-Verlauf) gelangen.

Fall 3 – Beschränkung der Befugnisse. Ein Teammitglied wollte aus „Ich war neugierig“ den erlernten IDOR-Test auf das Live-System eines Geschäftspartners anwenden. Der QA-Leiter hörte auf: Es ist illegal, Sicherheitstests auf einem anderen System ohne schriftliche Genehmigung und definierten Umfang durchzuführen. Die Tests wurden nur in der Testumgebung ihrer eigenen Produkte mit Autorität durchgeführt; Der offene Verantwortliche wurde dem zuständigen Team mitgeteilt.

Häufige Fehler

  • KI dazu bringen, Release-Entscheidungen zu treffen. Stellen Sie die Frage „Kann es veröffentlicht werden?“ an die KI senden und die Antwort anstelle der Signatur einfügen.
  • Den automatisierten Test „bestanden“. Bei CI lässt man den Test grün durch die KI streichen; Fehler vertuschen.
  • Übergabe vertraulicher Daten/Schlüssel zum Fahrzeug. Weitergabe von Produktionsdaten, persönlichen Daten oder API-Schlüsseln ohne Aufsicht.
  • Unbefugte Sicherheitstests. Angreifer testen auf einem anderen System ohne Umfang und Erlaubnis.
  • Einführung von Tests in die Pipeline ohne Überprüfung. Führen Sie die KI-Skizze automatisch ohne menschliche Zustimmung aus.
  • Die Schuld auf die KI schieben. Verteidigen Sie die falsche Ausgabe, indem Sie sagen: „KI hat es geschrieben“.

Zusammenfassend

End-to-End-QA ist ein Prozess, der sich von den Anforderungen bis zur Produktionsverfolgung erstreckt und innerhalb von CI/CD lebt; In jeder Phase erstellt die KI Entwürfe, fasst das Protokoll zusammen und schlägt Grundursachen vor. Aber die Grenzen sind unveränderlich: Menschen treffen Testentscheidungen und geben Genehmigungen frei; Der KI wird niemals die Befugnis übertragen, den Test automatisch zu „bestehen“. vertrauliche Daten und Schlüssel gelangen nicht in das Fahrzeug; Sicherheitstests werden nur für Ihr eigenes Produkt im Rahmen der schriftlichen Genehmigung und des definierten Umfangs zu Verteidigungszwecken durchgeführt und die Ergebnisse werden unter verantwortungsvoller Offenlegung gemeldet. Seien Sie transparent, wenn Sie KI verwenden; Sie sind für die Richtigkeit der Ausgabe verantwortlich. KI beschleunigt sich; Sie stehen für Qualität und Ethik ein.

Anwendungsaufgabe

Entwerfen Sie einen Plan von der Idee bis zur Veröffentlichung mit einer Vorlage für einen „End-to-End-Testplan“ für eine Funktion aus Ihrem eigenen Projekt. Markieren Sie die Rolle der KI und der menschlichen Genehmigungspunkte in jeder Phase separat. Generieren Sie dann eine YAML mit „CI/CD-Pipeline-Übersicht“ und wenden Sie eine „Sicherheits-/Datenschutzvorprüfung“ auf diese YAML an, um nach eingebetteten Schlüssel-/Geheimdaten zu suchen. Listen Sie abschließend alle „menschlichen Entscheidungs“-Punkte in Ihrem Plan auf und begründen Sie in einem Satz, warum diese Entscheidungen nicht an die KI delegiert werden können.

Checkliste

  • [ ] Ich führe Freigabe- und Testentscheidungen auf die Zustimmung des Menschen zurück; Ich habe es nicht der KI übergeben.
  • [ ] In CI/CD habe ich der KI nicht die Erlaubnis gegeben, den Test automatisch zu „bestehen/zu korrigieren“.
  • [ ] Ich habe vertrauliche Daten, persönliche Daten und Schlüssel überprüft und maskiert, bevor ich sie an das Fahrzeug gesendet habe.
  • [ ] Ich habe nur Sicherheitstests für mein eigenes Produkt im Rahmen der schriftlichen Genehmigung und des Umfangs in Betracht gezogen.
  • [ ] Ich habe die gefundenen Schwachstellen mit dem Grundsatz der verantwortungsvollen Offenlegung behoben.
  • [ ] Ich habe transparent erklärt, dass ich KI verwende und mich für die Genauigkeit der Ausgabe verantwortlich mache.

Modulprüfung

1. Wie wird „falsches Bestehen“ im QA-Kontext am genauesten definiert?

  • A) Obwohl der Test grün wird, bestätigt er tatsächlich kein Verhalten; ✔ Wird nicht rot, auch wenn der Code beschädigt ist
  • B) Der Test läuft sehr langsam und es kommt zu einer Zeitüberschreitung.
  • C) Der Test erkennt einen echten Fehler und wird rot
  • D) Der Test läuft nur in der Produktionsumgebung

Erläuterung: Ein Pseudo-Bestanden liegt vor, wenn ein Test „Bestanden“ sagt, aber nichts aussagekräftiges bestätigt; Der Test ist grün, aber selbst wenn die Software fehlerhaft ist, wird sie nicht erkannt. Dies ist das größte Risiko von KI in der Qualitätssicherung, da KI dazu neigt, Tests zu produzieren, die ordentlich aussehen, aber hohl sind.

2. Was ist die genaueste Positionierung künstlicher Intelligenz im Test- und Qualitätssicherungsprozess?

  • A) Künstliche Intelligenz kann entscheiden, ob die Version ohne menschliche Zustimmung veröffentlicht werden kann
  • B) Künstliche Intelligenz ist ein Assistent, der Entwürfe und Ideen generiert; Die Entscheidung und Verantwortung darüber, ob es zur Veröffentlichung bereit ist, obliegt dem Experten ✔
  • C) Künstliche Intelligenz schreibt nur Texte und kann mit Testcode überhaupt nicht umgehen
  • D) Künstliche Intelligenz schreibt immer korrektere Tests als Menschen, sodass eine Überprüfung nicht erforderlich ist

Beschreibung: Künstliche Intelligenz ist Testassistent, Entwurfsgenerator und Ideenmultiplikator; erstellt Testszenarien, Automatisierungscode und Berichtsentwürfe. Die Verantwortung und die endgültige Genehmigung von Qualitätsentscheidungen wie „Ist diese Software zur Veröffentlichung bereit“ oder „Hat dieser Test bestanden“ liegen jedoch beim zuständigen Experten.

3. Welche Testdesigntechnik besteht darin, 17, 18 und 19 Jahre getrennt für die Altersgrenze von 18 Jahren zu testen, da Fehler meist bei Schwellenwerten auftreten?

  • A) Zustandsübergangstest
  • B) Entscheidungstabelle
  • C) Grenzwertanalyse ✔
  • D) Explorative Tests

Erläuterung: Die Grenzwertanalyse basiert auf der Beobachtung, dass Fehler am häufigsten an Grenzen auftreten, und testet Schwellenwerte (knapp unterhalb, knapp oberhalb und knapp oberhalb des Grenzwerts) separat. Es handelt sich um eine leistungsstarke Technik, die Äquivalenzklassen ergänzt.

4. Welcher Ansatz sollte bei der Elementauswahl bevorzugt werden, um die Fragilität des mit künstlicher Intelligenz erstellten UI-Testautomatisierungscodes zu verringern?

  • A) Verwendung des längstmöglichen XPath-Pfads
  • B) Auswahl des Elements entsprechend seiner Pixelposition auf dem Bildschirm
  • C) Verwendung von Selektoren basierend auf CSS-Klassennamen
  • D) Verwendung stabiler Attribute (data-testid), die zum Testen hinzugefügt wurden ✔

Erläuterung: Lange XPath-Pfade und CSS-Klassennamen hängen stark von der Seitenstruktur und dem Design ab; Es bricht bei der kleinsten Schnittstellenänderung ab. Stabile Attribute, die speziell zum Testen hinzugefügt wurden (z. B. data-testid), sind von Designänderungen nicht betroffen und machen die Tests robust.

5. Warum reicht es für einen API-Test nicht aus, nur den HTTP-Statuscode (z. B. 200) zu überprüfen?

  • A) Weil Körperdaten mit korrektem Statuscode möglicherweise beschädigt sind und die Statusprüfung allein dies nicht erkennen kann (Pseudo-Vertrauen) ✔
  • B) Weil Statuscodes in API-Tests überhaupt nicht zuverlässig sind
  • C) Weil die Überprüfung des Statuscodes den Test erheblich verlangsamt
  • D) Weil der Statuscode in API-Tests nie zurückgegeben wird

Erläuterung: Während der Server den korrekten Statuscode zurückgibt, gibt er möglicherweise beschädigte Daten im Hauptteil zurück (falscher Typ, fehlendes Feld, falsch berechneter Wert). Der Test, der nur die Situation betrachtet, kann dies nicht erkennen und vermittelt falsches Vertrauen. Daher sollten auch Schema-/Vertrags- und Geschäftsregelvalidierung hinzugefügt werden.

6. Warum ist es wichtig, der KI beim Drucken von Unit-Tests mitzuteilen, dass sie „den erwarteten Wert gemäß der Akzeptanzregel manuell berechnen und nicht auf die aktuelle Ausgabe der Funktion verweisen soll“?

  • A) Weil die manuelle Berechnung Tests schneller durchführt
  • B) Weil der Test ansonsten das aktuelle (vielleicht fehlerhafte) Verhalten des Codes als „richtig“ akzeptiert und den Fehler bestätigt ✔
  • C) Weil künstliche Intelligenz überhaupt keine Dezimalzahlen berechnen kann
  • D) Weil Akzeptanzregeln niemals in Tests verwendet werden

Erläuterung: Wenn die KI den erwarteten Wert aus der Ausgabe der zu testenden Funktion ableitet, sorgt sie dafür, dass der Test „bestanden“ wird, auch wenn die Funktion fehlerhaft ist; Das heißt, was auch immer der Code produziert, der Test gilt als wahr. Durch die Berechnung des erwarteten Werts unabhängig von der Akzeptanzregel wird sichergestellt, dass der Test ein Gatekeeper der Regel und kein Spiegel des Codes ist.

7. Welches der folgenden Merkmale zeichnet einen guten Fehlerbericht am meisten aus?

  • A) So lang und technisch wie möglich sein
  • B) Geschrieben von künstlicher Intelligenz
  • C) Enthält deterministische Reproduktionsschritte, die der Entwickler selbstständig befolgen und den Fehler ✔ erzeugen kann
  • D) Es ist nur ein Screenshot

Erläuterung: Der wahre Wert eines Fehlerberichts besteht darin, dass der Entwickler den Fehler ohne Ihre Hilfe reproduzieren kann. Dafür sorgen deterministische, nachvollziehbare Reproduktionsschritte von Grund auf; Wenn diese Schritte fehlen, wird der Bericht oft mit der Meldung „konnte nicht erstellt werden“ geschlossen.

8. Welches ist der zutreffendste Ausdruck für die Beziehung zwischen Schweregrad und Priorität bei dem Fehler, den Firmennamen auf der Homepage falsch zu schreiben?

  • A) Intensität und Priorität sollten immer den gleichen Wert haben
  • B) Sowohl der Schweregrad als auch die Priorität dieses Fehlers sind definitiv niedrig
  • C) Schweregrad und Priorität sind dasselbe Konzept, eine Bezeichnung reicht aus
  • D) Die technische Intensität kann gering sein, aber die geschäftliche Priorität (Reputation) kann hoch sein; Die beiden werden unterschiedlich bewertet ✔

Erläuterung: Der Schweregrad ist die technische Auswirkung des Fehlers (Tippfehler technisch gesehen niedrig), die Priorität gibt an, wie dringend er behoben werden muss (hoch, da es sich um ein Reputationselement handelt, das jeder Besucher sieht). Die beiden gehen nicht immer in die gleiche Richtung; Bei diesem Beispiel handelt es sich um eine Situation mit geringem Schweregrad und hoher Priorität.

9. Welches ist die genaueste Interpretation einer Testsuite mit 90 % Leitungsabdeckung?

  • A) Es zeigt, dass die Zeilen ausgeführt werden, beweist aber nicht, dass sie sich korrekt verhalten; ✔ Eine hohe Abdeckung kann falsches Vertrauen vermitteln
  • B) Beweist schlüssig, dass 90 % der Software fehlerfrei ist
  • C) Es ist ein definitives Maß für die hervorragende Testqualität.
  • D) Zeigt an, dass keine Notwendigkeit mehr besteht, zusätzliche Tests zu schreiben

Erläuterung: Die Zeilenabdeckung gibt an, dass nur Zeilen ausgeführt wurden. Es beweist nicht, dass es korrekte Ergebnisse liefert. Selbst mit aussagefreien Tests kann eine Abdeckung von 90 % erreicht werden. Bei Scope handelt es sich um eine Karte, bei der man nie nachgesehen hat, und nicht um die Zusicherung, dass „alles getestet wurde“. Der tatsächliche Schutz wird durch Mutationstests gemessen.

10. Wie wird beim risikobasierten Testen das Risiko einer Funktion berechnet, um einen begrenzten Testaufwand zu verursachen?

  • A) Nur nach Anzahl der Codezeilen
  • B) Durch Multiplikation der Ausfallwahrscheinlichkeit und der Auswirkung, die bei einem Ausfall auftritt ✔
  • C) Nur in der Reihenfolge, in der das Feature entwickelt wurde
  • D) Priorisierung nur der Funktion, für die sich am einfachsten Tests schreiben lassen

Erläuterung: Bei risikobasierten Tests wird das Risiko als Wahrscheinlichkeit = Wahrscheinlichkeit (Wahrscheinlichkeit eines Ausfalls) × Auswirkung (Schaden bei Bruch) bewertet. Domänen mit hoher Wahrscheinlichkeit und hoher Auswirkung (Zahlung, Authentifizierung) verdienen die intensivsten Tests, während Domänen mit niedriger × niedriger Wahrscheinlichkeit leichte Tests erhalten.

11. Was ist das größte Risiko, einen Wiederholungsversuch zu einem Test hinzuzufügen, der manchmal erfolgreich ist und manchmal fehlschlägt (brüchig/unzuverlässig), obwohl sich der Code nicht geändert hat?

  • A) Verkürzung der Testlaufzeit
  • B) Verringert den Abdeckungsprozentsatz
  • C) Vertuschen eines echten Parallelitätsfehlers oder einer Grundursache und Unterdrücken des Symptoms ✔
  • D) Den Namen des Tests ändern

Erläuterung: Bei einem erneuten Versuch handelt es sich um ein diagnostisches Hilfsmittel, nicht um eine Behandlung. Unentschlossenheit ist oft auf eine tatsächliche Rassenbedingung oder Sucht zurückzuführen; Wenn Sie den Test durch einen erneuten Versuch „bestehen“ lassen, wird dieser eigentliche Fehler verschleiert, was zu ernsthaften Problemen im Live-Betrieb führen kann. Zuerst muss die Ursache gefunden werden.

12. Wie funktionieren Mutationstests, die ehrlichste Methode zur Messung, ob eine Testsuite tatsächlich schützt?

  • A) Durch Messung der Laufgeschwindigkeit der Tests
  • B) Durch Zählen, wie viele Codezeilen geschrieben wurden
  • C) Durch Ausführen der Tests in unterschiedlicher Reihenfolge
  • D) Indem Sie bewusst kleine Lücken im Code erstellen und messen, ob die Tests sie erkennen ✔

Beschreibung: Mutationstests erzeugen kleine absichtliche Verzerrungen (Mutationen) im Quellcode; Eine gute Testsuite sollte diese Verzerrungen erkennen und rot anzeigen. Mutationen, die nicht abgefangen werden (überlebt haben), weisen darauf hin, dass die Tests dieses Verhalten nicht bewahren. Der Mutations-Score ist ein viel ehrlicheres Maß für die Qualität als die prozentuale Abdeckung.

13. Welches ist die wichtigste Grenze, die bei der Durchführung von Sicherheitstests (z. B. Autorisierungs-/IDOR-Tests) eingehalten werden muss?

  • A) Es sollte nur zu Verteidigungszwecken am eigenen Produkt im Rahmen einer schriftlichen Genehmigung und eines definierten Umfangs durchgeführt werden ✔
  • B) Es kann frei auf jedes beliebige System angewendet werden
  • C) Es kann ohne Genehmigung auf Live-Systemen von Geschäftspartnern ausprobiert werden
  • D) Alle gefundenen Schwachstellen sollten unverzüglich öffentlich veröffentlicht werden.

Beschreibung: Die in diesem Modul erlernten Sicherheitstests dienen nur dazu, Ihr eigenes Produkt zu Verteidigungszwecken im Rahmen schriftlicher Genehmigung und im definierten Umfang zu testen. Der Zugriff auf das System einer anderen Person ohne Erlaubnis oder die Durchführung von Tests außerhalb des Rahmens ist sowohl unethisch als auch illegal. Alle gefundenen Schwachstellen werden durch verantwortungsvolle Offenlegung gemeldet.

14. Welche Autorität sollte der KI in der CI/CD-Pipeline niemals eingeräumt werden?

  • A) Zusammenfassung fehlgeschlagener Testprotokolle
  • B) Die Befugnis, einen nicht bestandenen (roten) Test automatisch zu „bestehen“ oder ihn grün zu markieren ✔
  • C) Vorschlag eines Testcode-Entwurfs
  • D) Entwurf einer Pipeline-YAML-Datei

Beschreibung: KI kann Testcode-Übersichten, Pipeline-YAML und Protokollzusammenfassungen in CI/CD erstellen; Die Möglichkeit, einen fehlgeschlagenen Test automatisch zu „bestehen/zu reparieren“, sollte jedoch niemals gegeben sein. Dies macht den Zweck des Testens zunichte und vertuscht automatisch Fehler. Das Anstreichen des Testgrüns sollte eine bewusste und begründete Entscheidung einer Person sein.