2017-12-22 4 views
1

Ich habe ein wenig Zweifel über die Codeabdeckung.Soll ich die Codeabdeckung für GUI-Tests messen?

Die Tests meiner Anwendung werden in GUI Tests unterteilt (simuliert ein Benutzer die Anwendung verwendet wird) und Einheit Tests (Test Jede Klasse/Funktion unabhängig).

Kürzlich begann ich GCOV und LCOV Tools zu verwenden, um die Code-Coverage von meinem Code zu messen und herausgefunden, dass die Komponententests sind etwa 55% des Codes abdeckt und die Unit Tests + GUI Tests werden die etwa 90% des Codes.

Ist es richtig/common den Code Abdeckung der GUI-Tests zu messen, oder soll ich es nur messen für die Einheit Tests?

Hinweis 1: Die Tests beziehen sich auf eine Desktop-Qt-Anwendung.

Hinweis 2: Denken Sie daran, ich bin ein Anfänger in automatisierte Software-Tests.

Antwort

1

IMO Wenn insgesamt alle Ihre Tests 90% Ihres Codes ausüben (Zeilen?) Ich denke, das ist eine wichtige Erkenntnis zu haben. Die meisten Sprachen/Frameworks haben eine Art Bibliothek, um Coverage-Berichte zusammenzufassen, so dass die Front auch ziemlich einfach sein sollte.

Manches gegen den vollständigen Bericht könnte könnte vielleicht möglicherweise sein:

  • wenn Abdeckung Profilierung ist zu ressourcenintensiv, kann es Ihre GUI-Test die Leistung auswirken? und wenn Ihre Tests nicht mit defensiven Wartezeiten entwickelt werden, können sie flockige Testausfälle haben (nicht sicher, wie QT GUI-Tests funktionieren, nur an Selen denkend)
  • wenn die Abdeckung nicht umsetzbar ist und niemand es sieht, ist es vielleicht nur unnötig etwas zu berechnen?
+1

Dank @ dm03514. Ja, wenn ich Code sage, meine ich Zeilen. Ich glaube nicht, dass das Coverage-Profiling die Performance der GUI-Tests zu sehr beeinflusst (zumindest habe ich das nicht bemerkt). Ich verwende Code-Coverage-Tools, um die Abdeckung zu messen und herauszufinden, welche Klassen/Funktionen (oder Bedingungen) nicht ordnungsgemäß getestet werden. – KelvinS

Verwandte Themen