Alle moegliche parameter Werte einer Funktion zu pruefen ist wie mein Vorredner schon erwaehnt hat seht viele. Eine einfache Multiplication von 2 32bit Integern resultiert in 2^64 Tests. Wenn nun jeder Test nur 1ns braucht dauert das trotzem noch 18.44674 * 10^27 Sekunden, das sind mal schlappe 584.9424 * 10^18 Jahre.
Anstelle dieses `brute force testing' sollte man die extrem werte, also maximale und minimale Werte testen. Desweiteren muss man um die Grenzwerte herum testen, um ein Beispiel zu geben die Funktion `bool Volljaehrig(int alter)', muss in Deutschland bei allen Werten fuer alter unter 18 FALSE zurueckliefern, bei allen Werten ab 18 TRUE. Die Grenzwerte sind daher 17 -> FALSE und 18 -> TRUE.
Beim Testen im allgemeinen unterscheidet man zwischen White-Box-Tests und Black-Box-Tests. White-Box heißt in diesem Fall Du hast direkten Zugriff auf eine Funktion und willst nur dieses eine Modul prüfen. Hier solltest Du auf jeden Fall midestens einen Positiv-Test sowie einen Negativ-Test machen. Bei fest vorgegeben numerischen Werten oder bei bestimmten Codewörtern kann man diese unter Umständen auch nahezu komplett testen (siehe pairwise-testing). Wenn Du allgemeine Eingaben prüfst mach auf jeden Fall eine Wertebereichsprüfung. Ist kein fester Werteberiech definiert kannst Du hier lediglich prüfen ob die erfassten Daten soweit wie gewünscht verarbeitet werden. Bei Strings empfiehlt es sich mitunter im Testlauf sehr lange Eingaben zu prüfen um zu evaluieren ob diese im Programmcode nicht irgendwo abgeschnitten werden. Je nach verwendeter Programmier-/Skript-Sprache sollte zusätzlich noch geprüft werden ob die Einagben evtl. vorhandene Befehle oder Variablen überschreiben könnten.