?
MoinMoin,
Ich bin gerade dabei einige unserer Klassen mit CPPUNIT zu testen. Ist ne feine Sache, allerdings wüßte ich gerne, welche Übergabewerte sinnvoll sind, z.B. bei einer String-Klasse die auch long-Werte akzeptiert.
Reicht es hier den Konstruktor/Zuweisungsoperator der String-Klasse mit _irgendeinem_ positiven und negativen long-Wert zu testen, oder sollte man alle Extrem-Beispiele testen?
LONG_MIN, -1, -0, 0, 1, 2, LONG_MAX? Was sind eigentlich alle Extrem-Beispiele?
Die Werte für eine Grenzwertanalyse, denn so bezeichnet man das, was du machen möchtest, wären
LONG_MIN - 1, LONG_MIN, LONG_MIN + 1, -1, 0, 1, LONG_MAX - 1, LONG_MAX, LONG_MAX + 1
Jedenfalls in der Theorie, denn in der Praxis werden die beiden Werte LONG_MAX + 1 und LONG_MIN - 1 zu einem Überlauf führen. Ausserdem ist noch anzumerken, dass die Grenzen, welche hier jetzt bei LONG_MIN, 0 und LONG_MAX liegen, auch innerhalb eines Bereichs liegen können, zum Beispiel bei 5, wenn die Funktion oder besser deine Spezifikation für die Funktion eine Unterscheidung für diesen Wert macht.
Mal ein paar Begriffe nach denen sich googlen lässt:
- Whitebox- und Blackbox-Test
- Grenzwertanalyse, Äquivalenzklassentest, Pfadtest, Anweisungstest, usw.
MFG
Michael