Übung 11 Aufgabe c

Uhr
Windoof-User
Windoof-User
Beiträge: 24
Registriert: 30. Sep 2010 17:14

Übung 11 Aufgabe c

Beitrag von Uhr »

Ich konnte in der letzten Woche nicht mehr in die Präsenzübung kommen. Zur Aufgabe 11/c würde mich aber die "offizielle" Antwort interessieren bzw. dass, was dazu in den Präsenzübungen gesagt wurde.

Die Frage war :
Wie viele Pfade werden mindestens getestet, wenn man 100% path coverage erreichen möchte? Wie sieht die Situation bei 100% loop coverage aus?

Ich würde vermuten für path coverage bräuchte man unendlich viele, da der Code eine Schleife enthält. Das könnte statt unendlich auch der Maximalwert eines Integers mal 2 für die Vorbedingung (a>b) sein. Für loop coverage aber nur einen, da es genügt, diese Schleife 2 mal zu durchlaufen.

Stimmt das so oder ist path bzw. loop coverage anders zu verstehen?

arne.lottmann
Mausschubser
Mausschubser
Beiträge: 99
Registriert: 4. Okt 2010 16:25

Re: Übung 11 Aufgabe c

Beitrag von arne.lottmann »

Das hatten wir in unserer Übung genau so überlegt. 100% Path Coverage braucht potenziell unendlich viele Pfade wegen der Schleife (praktisch natürlich endlich viele), und 100% Loop Coverage braucht genau einen Pfad.

Uhr
Windoof-User
Windoof-User
Beiträge: 24
Registriert: 30. Sep 2010 17:14

Re: Übung 11 Aufgabe c

Beitrag von Uhr »

Danke

ElGamal
Nichts ist wie es scheint
Beiträge: 23
Registriert: 19. Dez 2011 20:56

Re: Übung 11 Aufgabe c

Beitrag von ElGamal »

Leider hab ich die entsprechende Vorlesung verpasst. Daher ein paar Fragen zur 11. Übung:
Könnte jemand seine Lösung zur 11. Übung präsentieren? Ich bin mir beim Kontrollflussgraphen sehr unsicher, da das Beispiel im Skript sehr minimalistisch gehalten ist und ich nicht weiß, wie ich mit Schleifen und return Anweisungen umgehen soll.
Bei der b) habe ich für branch coverage 7 Testfälle und für loop coverage 1 Testfall
Entspricht ein Testfall nicht immer genau einem Pfad im Graphen?

fscheepy
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 14. Dez 2009 21:17

Re: Übung 11 Aufgabe c

Beitrag von fscheepy »

arne.lottmann hat geschrieben:Das hatten wir in unserer Übung genau so überlegt. 100% Path Coverage braucht potenziell unendlich viele Pfade wegen der Schleife (praktisch natürlich endlich viele), und 100% Loop Coverage braucht genau einen Pfad.
Bei der Loop Coverage bin ich auch auf einen Pfad gekommen, bei der Path Coverage hatte ich ebenfalls unendlich viele Pfade in Gedanken, sicher war ich mir hierbei jedoch nicht.
ElGamal hat geschrieben: Ich bin mir beim Kontrollflussgraphen sehr unsicher, da das Beispiel im Skript sehr minimalistisch gehalten ist und ich nicht weiß, wie ich mit Schleifen und return Anweisungen umgehen soll.
Bei der b) habe ich für branch coverage 7 Testfälle und für loop coverage 1 Testfall
Entspricht ein Testfall nicht immer genau einem Pfad im Graphen?
Das return-Kommando habe ich einfach als normales Kommando (in einem Rechteck) und dahinter einen Pfeil nach oben ins "Leere" (da der Graph ja von oben aufgerufen wird, also führt das return bei mir wieder nach oben). Wie formal richtig diese Lösung nun ist, kann ich dir natürlich auch nicht sagen, da in den Folien keine Informationen dazu sind, aber ich fand es recht intuitiv, es so zu lösen.
Für die Branch Coverage habe ich jedoch nur drei Testfälle
{{a=1, b=1, n=2}, {a=1, b=0, n=2}, {a=0, b=1, n=-1}}
bei denen die Bedingungen a=b, a>b, n<0, n>0 jeweils zu true und false ausgewertet werden.

ElGamal
Nichts ist wie es scheint
Beiträge: 23
Registriert: 19. Dez 2011 20:56

Re: Übung 11 Aufgabe c

Beitrag von ElGamal »

OK, dann habe ich es genauso gemacht- nur dass meine "Return-Kästen" nach unten auslaufen, aber ich denke das ist egal. Bei branch Coverage gebe ich dir recht, deine drei Pfade reichen aus. Meine Überlegungen haben nur eine obere Schranke definiert :lol:
Danke dir für deine Antwort :wink:

allein
Mausschubser
Mausschubser
Beiträge: 60
Registriert: 15. Okt 2008 00:01

Re: Übung 11 Aufgabe c

Beitrag von allein »

bei path coverage wenn wir n als ein positive integer annehmen. ist die antwort nicht 4+4n pfade?

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: Übung 11 Aufgabe c

Beitrag von R_Egert »

Path Coverage sind unendlich viele Pfade, da eine Schleife ja theoretisch unendlich oft ausgeführt werden kann^^

grüsse Rolf
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

allein
Mausschubser
Mausschubser
Beiträge: 60
Registriert: 15. Okt 2008 00:01

Re: Übung 11 Aufgabe c

Beitrag von allein »

warum ist es so? verstehe ich nicht. wenn ich annehme n>0 n€Z ist. dann muss eine endliche zahl geben oder? nämmlich 4+4n?

wenn nicht, würde ich mich freuen wenn du erklären kannst warum kann das unendlich oft ausgeführt werden kann.
Vielen Dank.

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: Übung 11 Aufgabe c

Beitrag von R_Egert »

Die Definition von Path-Coverage besagt, dass man jeden möglichen Programmpfad testen muss um 100% Path-Coverage zu erreichen. Nach deiner Aussage, legst du einen Wert für \(n \in \mathcal{Z}\) für einen durchlauf fest und gibst dann die Anzahl der durchläufe an. Jetzt hast du natürlich einen gewissen %-Anteil an Path-Coverage, da du dein n evtl sehr groß gewählt hast, aber es gibt immer noch einen weitern möglichen Programmpfad, nämlich für z.B. n+1 ,den du nicht mit abdeckst. Dies widerspricht jedoch der Aussage, dass 100% Path-Coverage alle möglichen Programmpfade abdeckt^^

Ich hoffe das ist so versändlich, wenn auch nicht 100% Formkorrekt^^

mfg Rolf
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

allein
Mausschubser
Mausschubser
Beiträge: 60
Registriert: 15. Okt 2008 00:01

Re: Übung 11 Aufgabe c

Beitrag von allein »

Ich habe jetzt verstanden. Vielen dank!

fscheepy
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 14. Dez 2009 21:17

Re: Übung 11 Aufgabe c

Beitrag von fscheepy »

R_Egert hat geschrieben:Die Definition von Path-Coverage besagt, dass man jeden möglichen Programmpfad testen muss um 100% Path-Coverage zu erreichen. Nach deiner Aussage, legst du einen Wert für \(n \in \mathcal{Z}\) für einen durchlauf fest und gibst dann die Anzahl der durchläufe an. Jetzt hast du natürlich einen gewissen %-Anteil an Path-Coverage, da du dein n evtl sehr groß gewählt hast, aber es gibt immer noch einen weitern möglichen Programmpfad, nämlich für z.B. n+1 ,den du nicht mit abdeckst. Dies widerspricht jedoch der Aussage, dass 100% Path-Coverage alle möglichen Programmpfade abdeckt^^

Ich hoffe das ist so versändlich, wenn auch nicht 100% Formkorrekt^^

mfg Rolf
Theoretisch hängt es aber davon ab, welchen Datentyp n hat, da nur eine endliche Anzahl von Zahlen im Computer darstellbar sind :P

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: Übung 11 Aufgabe c

Beitrag von R_Egert »

fscheepy hat geschrieben:
R_Egert hat geschrieben:Die Definition von Path-Coverage besagt, dass man jeden möglichen Programmpfad testen muss um 100% Path-Coverage zu erreichen. Nach deiner Aussage, legst du einen Wert für \(n \in \mathcal{Z}\) für einen durchlauf fest und gibst dann die Anzahl der durchläufe an. Jetzt hast du natürlich einen gewissen %-Anteil an Path-Coverage, da du dein n evtl sehr groß gewählt hast, aber es gibt immer noch einen weitern möglichen Programmpfad, nämlich für z.B. n+1 ,den du nicht mit abdeckst. Dies widerspricht jedoch der Aussage, dass 100% Path-Coverage alle möglichen Programmpfade abdeckt^^

Ich hoffe das ist so versändlich, wenn auch nicht 100% Formkorrekt^^

mfg Rolf
Theoretisch hängt es aber davon ab, welchen Datentyp n hat, da nur eine endliche Anzahl von Zahlen im Computer darstellbar sind :P

Hehe ihr macht das nun aber auf Papier und nicht am Rechner ;P
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

fscheepy
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 14. Dez 2009 21:17

Re: Übung 11 Aufgabe c

Beitrag von fscheepy »

R_Egert hat geschrieben:Hehe ihr macht das nun aber auf Papier und nicht am Rechner ;P
Dann wollen wir aber auch mal hoffen, dass die Aufgaben morgen für das Papier und nicht den (Taschen-)Rechner konzipiert sind :mrgreen:

Antworten

Zurück zu „Archiv“