Diskussion:Kontrollflussorientierte Testverfahren/Archiv
Alte Beiträge
Ich kanns nicht schöner Schreiben ... Ich hoffe das sich jemand erbarmt meinen Inhalt syntaktisch etwas anzupassen :o) Aber inhaltlich ist es einwandfrei und auch ordentlich recherchiert! --Fake4d 15:49, 16. Jan. 2007 (CET)
Danke @ lx Sehr fein gemacht --Fake4d 16:13, 16. Jan. 2007 (CET)
lx: Inhaltlich wohl noch gut was zu verbessern, aber immerhin im WikiFormat nun. Bitte.
(Der vorstehende, nicht signierte Beitrag stammt von 84.181.230.234 (Diskussion • Beiträge) 17:30, 16. Jan 2007) Kasper4711 10:18, 26. Jul. 2007 (CEST)
Folgenden Aussage ist sehr verwirrend: "Die Kante (n3,n5) wird im optionalem Else-Teil nicht ausgeführt.". Auch nach mehrfachem Lesen wird nicht klar, was n3und n5 sein sollen. Koennte das mal jemand beheben? Nachtrag zu den 2 vorherigen Saetzen: Folgendes Zitat ist sinnlos ohne die entsprechende Grafik (die nur in dem Word-Dokument enthalten ist) "Wie in der unten stehenden Abbildung zu erkennen ist, werden alle Anweisungen mindestens einmal ausgeführt, wenn die While-Schleife einmal durchlaufen wird." Anhand der Grafik werden dann auch die Kanten n3 und n5 klar. Da sollte nochmal jemand Hand anlegen.
Welches Word-Dokument? überall sind bezüge auf "untenstehenden Code", der allerdings nirgendwo zu finden ist, genausowenig wie die Kanten n3 und n5... 95.116.48.100 08:05, 1. Feb. 2011 (CET)
Redirect
Habe mal einen Redirect unter Code Coverage angelegt. --Kasper4711 10:18, 26. Jul. 2007 (CEST)
Widersprüchlich bzgl. Cx Bezeichnungen
Die hier verwendeten Bezeichnungen für C1-C3 widersprechen denen auf der Testmethode. Die Seite Testmethode verwendet außerdem C1-C4. Hier sollte jemand prüfen, welche Einteilung die korrekte bzw. verbreitetere ist.
Ich denke das beide korrekt sind,zumindest hatten wir beide bei der Recherche .. Welche mehr verbreitet ist wird aber ziemlich schwierig rauszufinden sein. Vielleicht gibts aber einen Dozenten der ein bissi mehr ahnung hat. Ggf. muss man beide einfügen als Synonyme.. ? --Fake4d 10:17, 15. Jul. 2008 (CEST)
Die Benamungen Cn sind nicht standardisiert, wie hier angenommen wurde
Leider sind die hier vorgestellten Coverage-Kennzeichen nicht unbedingt standardisiert und gebräuchlich. Ein entsprechender Heinweis fehlt im Artikel. Die Literaturhinweise sind zudem auch recht schmal.
Über das Thema Coverage wird seit vielen Jahrzehnten erfolgreich nachgedacht. Daher gibt es auch schon eingebürgerte Bezeichnungen.
Wo genau kommen die in diesem Beitrag verwendeten Bezeichnungen her (eine studentische Arbeit als einzige Quelle, die zudem sleber ohne Referenzen auskommt, ist nicht belastbar genug)?
Allgemein habe ich den Eindruck, dass der Rest der Welt C0 und C1 UND C2 identisch benutzt (nur dieser Artikel weicht ab).
C0 - Anweisungsabdeckung - statement
C1 - Zweigabdeckung - branch - decision
C2 - Bedingungsabdeckung - complex decision
C... werden allgemein als praxisfern eingestuft
Abdeckungen wie z.B. "MC/DC" lassen sich zudem nicht in dieses Schema pressen. Sind aber auch allgemein üblich. (Die Luft- und Raumfahrtindustrie hat interessante Festlegungen zu dem Thema).
Referenzen (sehr sehr unvollständig):
1) Harry M. Sneed, Mario Winter "Testen objektorientierter Software", 3-446-21820-3, Hanser Verlag definiert c0 .. c7 anders
2) Ernest Wallmüller, "Software Qualitätsicherung in der Praxis", Hanser Verlag, definiert C0 bis C4 im Kapitel White-Box Testmethoden auch anders
3) Prof. Dr Holger Schlingloff, Fraunhofer Ges., FIRST http://www2.informatik.hu-berlin.de/~hs/Lehre/2004-WS_SWQS/20041124_Ueberdeckung.pdf
4) http://www.bullseye.com/coverage.html (hier nicht mit C-irgendwas, sondern benamt)
Festzuhalten ist: die Staffelung der Coveragemethoden in diesem Artikel geht nicht konform mit dem Rest der Literatur. Somit sollte darauf hingewiesen werden, dass es wesentlich mehr gibt, auch mit anderen Ansätzen.
- Also meiner Meinung nach ist die Unterscheidung zwischen Zweig- und Pfadüberdeckung durchaus gebräuchlich. Es ist ja auch etwas anderes als Zweigüberdeckung. Wird beispielsweise genauso von Spillner in "Basiswissen Softwaretest" (dpnukt.verlag) gehandhabt. Meiner Meinung nach sollte man auf die C-Bezeichnungen in der Übersicht verzichten, dafür aber auf das Problem der unterschiedlichen Auszeichnung hinweisen. (nicht signierter Beitrag von Naraesk (Diskussion | Beiträge) 16:03, 11. Mär. 2011 (CET))
Nomenklatura
Bei exaktem lesen der Nomeklaturen lassen die sich alle auseinander halten
- Beginnt die Bezeichnung mit kleinen c, dann ist es oben Harry M. Sneed, Mario Winter "Testen objektorientierter Software", 3-446-21820-3, Hanser Verlag
- Sonst haben wir ein grosses C. Steht die nun folgende Ziffer auf der Grundlinie wie das C, z.B: C4, dann handelt es sich um Ernest Wallmüller, "Software Qualitätsicherung in der Praxis", Hanser Verlag.
- Ist die Ziffer jedoch ein Subskript, z.B. C1, liegt also unterhalb der Grundlinie, ist es nach Standard SC-167, bzw. EN 50128
Auffallend ist, dass die ersteren beiden, auf den ersten Blick widersprüchlichen Konventionen bei Hanser veröffentlicht sind. Wäre dort zu klären.
Roland Bär
mMn behandelt der Paragraph Testabdeckung#Testabdeckung in der Softwaretechnik dasselbe wie dieses Lemma --> schlage vor den Absatz & Subabsätze hier einzufügen und dort einen Verweis auf den "Hauptartikel" zu machen. --Sebastian.Dietrich 10:48, 29. Aug. 2009 (CEST)
Anweisungsüberdeckungstest Fehleridentifikationsquote
Wie kommt man hier auf einen Wert von 18%? Und Um was handelt es sich dabei? Einen Durchschnittswert, oder den mittleren auftretenden Wert Median? Und 18% von was überhaupt? Der durch andere Verfahren gefundenen Fehler oder der gesamten Fehler im Programm (nicht sehr wahrscheinlich)? Woher die Zahl kommt ist auch nicht zu erkennen. Bei solchen Zahlen hätte man das ausführlicher schreiben müssen und eine Quelle angeben. Ich werde das deshalb ändern. --212.201.21.60 13:02, 26. Jan. 2010 (CET)
C3C-Testbeispiel
.. ist ungeeignet, denn es trifft den Punkt nicht genau: Wenn a&&b zu false ausgewertet wird, darf man eh nicht davon ausgehen, dass b false war! Es geht doch drum, herauszufinden, dass dasselbe Verhalten erzeugt wird bezüglich (a=true und b=false) gegen (a=false und b=true)..
Irgendwas stimmt eh nicht mit dem Artikel, all die Hinweise oder passenden Code oder Diagramme.. Wurde das hier Copy&Paste-mäßig abgeschrieben?? (nicht signierter Beitrag von Kraymer (Diskussion | Beiträge) 13:45, 7. Mär. 2011 (CET))
C4?
Warum hat die Pfadüberdeckung denn die Bezeichnung C4? Imo ist C2 gebräuchlicher, und da es zwischen C1 und C3 steht, irgendwie auch logisch. Ist das nur ein versehentlicher Fehler? --naraesk 21:37, 9. Mär. 2011 (CET)
Die Standards
Definiert sind diese Sachen anscheinend in den Standards
- SC-167. Software Considerations in Airborne Systems and Equipment Certification. RTCA, 1992.
European Committee for Electrotechnical Standardization. EN 50128 - Railway applications - Communications, signalling and processing systems - Software for railway control and protection systems. CENELEC, Brussels, 2001.
Ich hoffe es hilft weiter,
Roland (nicht signierter Beitrag von 84.162.150.43 (Diskussion | Beiträge) 19:37, 2. Nov. 2008 (CET))
Fragen zu Artikel
(1) "Wie in der unten stehenden Abbildung zu erkennen ist, werden alle Anweisungen mindestens einmal ausgeführt, wenn die While-Schleife einmal durchlaufen wird. Unser Testpfad enthält zwar alle Knoten, aber nicht alle Kanten. Die Kante (n3,n5) wird im optionalen Else-Teil nicht ausgeführt".
-> Ich finde dieses Beispiel mit n3, n5 und der while Schleife nicht. Kann mir jemand erklären wo ich diese Sachen finden kann?
(2) "Mit Hilfe des Zweigüberdeckungstests lassen sich nicht ausführbare Programmzweige aufspüren. Anhand dessen kann man dann Softwareteile, die oft durchlaufen werden, gezielt optimieren."
->Übergang unklar.
(3) Vielleicht könnte man CAnweisung und Cprimitiv mal exemplarisch berechnen
(4) "Analog zum Anweisungsüberdeckungstest wird, um die Codeabdeckung messbar zu machen, der Code in unten stehender Abbildung, durch eine boolesche Hilfsvariable test instrumentiert.
-> Wo ist dieser Code mit der boolschen Hilfsvariable? (nicht signierter Beitrag von Balex (Diskussion | Beiträge) 10:55, 25. Jan. 2012 (CET))
Vergleich der Testverfahren
Hallo,
ich habe mich vor kurzem gefragt, ob die Minimal-Mehrfache Bedingungsüberdeckung (MMBÜ) nicht äquivalent zu der Zweigüberdeckung ist. Hier ist ein Gegenbeispiel:
if (foo && foo2) {
// Code ...
}
- Zweigüberdeckung: {(0,1), (1,1)} (das ist aber keine MMBÜ)
- MMBÜ: {(0,0), (1,1)} (das hingegen ist eine Zweigüberdeckung)
Vielleicht hilft das ja mal jemanden weiter. Eventuell kann man etwas in dieser Art auch in den Artikel einbinden. --Martin Thoma 12:52, 6. Aug. 2012 (CEST)
Teststrategien.svg.png - Grafik
Die Grafik enthält Rechtschreibfehler: Bedinungsüberdeckung statt Bedingungsüberdeckung. --AlbrechtEhlert (Diskussion) 18:12, 1. Jan. 2013 (CET)
Fehler in der Einteilung
Die Einteilung der Tests kommt mir komisch vor. In der Literatur steht das so:
- C0: Anweisungsüberdeckung
- C1: Zweig- oder Kantenüberdeckung
- C2 und C3: Bedingungsüberdeckung
- C4: Pfadüberdeckung
Beispiele:
- Grechenig, Thomas u.a.: Softwaretechnik. Pearson Studium 2010. Seite 315ff. (C1 bis C4)
- http://www2.informatik.hu-berlin.de/~hs/Lehre/2004-WS_SWQS/20041124_Ueberdeckung.pdf (Bis C2, steht schon als Referenz im Artikel)
- Balzert, Helmut: Lehrbuch Grundlagen der Informatik. Elsevier, 2. Auflage 2005. Seite 512 (Nur C1 eingeordnet.)
- http://www.pst.informatik.uni-muenchen.de/lehre/WS0304/mse/BlackWhiteBox1p.pdf. Seite 23ff. (Vorlesungsmanuskript der LMU, C1 bis C4)
Im Moment fehlt mir die Zeit, das auszubessern. Ich schlage vor, den Artikel mit einer Überarbeiten-Markierung zu versehen. Hat jemand Einwände? --Michi133 (Diskussion) 13:46, 15. Jan. 2013 (CET)
- Ich habe einen Widerspruch-Baustein für diesen Abschnitt gesetzt. Anscheinend entspricht die Einteilung im Artikel der Luftfahrt-Norm, die einen Abschnitt weiter oben erwähnt wird. In der Literatur wird sie nach meiner Recherche so gut wie nicht verwendet. Ich bin deshalb weiterhin dafür, hier die oben beschriebenen Bezeichnungen zu verwenden. --Michi133 (Diskussion) 14:02, 20. Jan. 2013 (CET)