[JAVA] Informationen zu Arten der Codeabdeckung

Codeabdeckung

Zusammenfassung dieses Artikels

Dieser Artikel beschreibt die folgenden drei Arten der Abdeckung.

--Statement Coverage (C0: Instruction Coverage)

Beispielcode, der in der Erklärung verwendet wird

 if (Bedingte Anweisung a1||Bedingte Anweisung a2) { //Urteilsbedingung A.

Aussage 1 } else{ Aussage 2

} if (bedingte Anweisung b1 && bedingte Anweisung b2) {// Beurteilungsbedingung B. Aussage 3 }


Anweisungsabdeckung (C0: Anweisungsabdeckung)

Fazit

Im Fall des obigen Beispielcodes

Filialabdeckung (C1: Filialabdeckung)

Fazit

Im Fall des obigen Beispielcodes

  1. Urteilsbedingung A: Richtig, Urteilsbedingung B: Falsch
  2. Urteilsbedingung A: Falsch, Urteilsbedingung B: Richtig

Einfache Zustandsabdeckung (C2: Zustandsabdeckung)

Fazit

――Aus allen bedingten Anweisungen ** der Prozentsatz der im Test ausgeführten bedingten Anweisungen **
⇒ Um eine 100% ige Abdeckung zu erreichen, muss die Wahrheit jeder bedingten Anweisung mindestens einmal ausgeführt werden.

Im Fall des obigen Beispielcodes

  1. Bedingte Anweisung a1: Richtig, Bedingte Anweisung a2: Falsch, Bedingte Anweisung b1: Richtig, Bedingte Anweisung b2: Richtig
    → Beurteilungsbedingung A: ** Richtig **, Beurteilungsbedingung B: Richtig
  2. Bedingte Anweisung a1: Falsch, Bedingte Anweisung a2: Richtig, Bedingte Anweisung b1: Falsch, Bedingte Anweisung b2: Falsch
    → Urteilsbedingung A: ** Richtig **, Urteilsbedingung B: Falsch

―― Darüber hinaus beträgt die Abdeckung von C0 und C1 nicht immer 100%, selbst wenn die Abdeckung von C2 wie im obigen Beispiel 100% beträgt.

Referenz

Recommended Posts

Informationen zu Arten der Codeabdeckung
Informationen zum Trennen () von HttpURLConnection
Über die Auswahl von OpenJDK
Über DI des Frühlings ①
Über DI des Frühlings ②
[Swift] Über den Aufzählungstyp
Informationen zum Formular. ○○ von form_with
Über den Umgang mit Null
Über Java-Instanzen
Über die einfache Bedienung von Docker
Informationen zur Beschreibung von Docker-compose.yml
Informationen zu Java Class Loader-Typen
Über Größenvergleich von compareTo
Code Climate Code Qualität, Abdeckungsmessung
Memorandum über LOD.
Über teilweise Übereinstimmung des Selektors
Über das Verhalten von Ruby Hash # ==
Über Biocontainer fastqc und Java
Über Lambda, Stream, LocalDate von Java8
Informationen zur Fehlerbehandlung der Kommentarfunktion
[Rails] Über die Implementierung der Like-Funktion
Über das Binden der Spring AOP Annotation
Was ist es? ~ 3 Arten von "Nein" ~
Informationen zur Rolle der Initialisierungsmethode
Informationen zu removeAll und RetainAll von ArrayList
Um auf einfach zu lesenden Code zu achten
Denken Sie an die 7 Regeln von Optional
Über das Hochladen von Bildern von jsp (Servlet)
Informationen zum Festplatten-Cache der Glide 4-Serie
Informationen zu primitiven Java-Typen und Referenztypen
[Schienen] Arten von Assoziationen (Eins-zu-Viele / Viele-zu-Viele)
Liste der in Java 9 hinzugefügten Typen
Erklärt Ruby Array-Objekte
Informationen zur Protokollebene von java.util.logging.Logger
Arten von Ausnahmen in Geschäftssystemen
Grundstruktur des Java-Quellcodes
Der Standpunkt bei der Codeüberprüfung einer Webanwendung (Rails)