Hi Antje!
Nur wie stelle ich das an?
bei uns in der Firma gibt es eine Abteilung, die nichts anderes macht, als unsere bzw. auch fremde Anwendungen zu testen.
Ich wünsche mir auch so eine Abteilung... ;-)
Ein Test läuft im Regelfall dreistufig ab.
Test A: der sogenannte Hausfrauentest,
Das aus Deinem Mund? Aha ;-)
hier sitzen Tester vor der Anwendung, die lediglich das Redaktionshandbuch zur Verfügung haben. Die finden im Regelfall alle Fehler und Probleme, die dir als Entwickler undenkbar scheinen. Die Testszenarien werden mit dem Kunden vereinbart und decken alle standardisierten Fälle ab.
Ja, sowas mache ich auch gerne, da wird auch immer was gefunden, nur mache ich das nicht wirklich "systematisch", ich sollte in der Tat mal Szenarien entwerfen, die teilweise ganz "normal" sind, andere möglichst komplex, und das alles möglichst na an dem wie es später im Live-Betrieb verwendet wird.
Test B: der Lasttest
Sowas habe ich noch nicht,
hier laufen Scripte, mit denen die Dauerbelastung geprüft wird.
Das heißt - da die Software ja über HTTP erreichbar ist - schreibe ich ein paar Scripte, lege die auf einen anderen Rechner, am besten nichtmal im gleichen LAN, und lasse möglichst viele Requests auf den Server los, am bestebn von mehreren Standortn aus, und das mit möglichst vielen Daten...
Entwickelt werden die Scripte anhand des Redaktionshandbuches, der Feinspezifikation und anhand der zu erwartenden Belastungen. Die finden auch heraus, welche Seiten besonders langsam sind und wir dürfen dann das Rätsel lösen warum.
Ja, da habe ich auch schon einige gefunden, wo ich mir zum verrecken nicht erklären kann warum die so viel langsamer sind als vergleichbare Scripte...
Test C: der Sicherheitstest
Hier wird die Anwendung auf Sicherheitslücken abgeklopft. Was da genau läuft weiß ich auch nicht, wir kriegen nur die Resultate der Tests und können die einzelnen Testszenarien nicht einsehen.
Nur lässt sich da was automatisieren? Wird wohl nichts anderes übrig bleiben,
1. den kompletten Code durchzusuchen und alle Stellen markieren an denen Rechte geprüft werden müssen
2. "cracker-mäßig" versuchen zugriff auf andere Daten durch manipulation der Request-Parameter zu erhalten, bei Kenntnis des Codes,
nur werden das wohl Stichproben bleiben, gerade wenn ich das selbst mache habe ich Angst durch "Befangenheit" irgendwelche Möglichkeiten zu vergessen, die ich ja schon bei der Programmierung vergessen hatte. Ich glaube das kann nur eine andere Person sinnvoll machen, da hast Du wohl Recht.
Vielen Dank für die Anregungen,
Grüße
Andreas