Frage

Ich habe selbst an einer App gearbeitet und bin in einer Phase, in der alles großartig funktioniert-solange der Benutzer alles tut, was er oder sie tun soll. :-) Die Software muss mehr getestet werden, um zu sehen, wie robust es ist, wie gut sie funktioniert, wenn Leute wie beispielsweise auf die gleiche Schaltfläche klicken, versuchen Sie, die falschen Dateien zu öffnen, Daten an den falschen Stellen zu setzen usw.

Ich habe ein wenig Probleme damit, weil es für mich ein bisschen schwierig ist, die Anwendung falsch zu denken. Dies sind alles Randfälle für mich. Trotzdem möchte ich die Anwendung so stabil und gut wie möglich getestet haben, bevor ich sie an Beta -Tester anfange. Angenommen, ich spreche zu diesem Zeitpunkt nicht über professionelle Tester, ich bin gespannt, ob Sie irgendwelche Tipps oder systematische Möglichkeiten haben, über diese Aufgabe nachzudenken.

Danke wie immer.

War es hilfreich?

Lösung

Nun, es hört sich so an, als würden Sie über 2 verschiedene Dinge sprechen "Testen der Funktionalität Ihrer Anwendung" und "Stresstests" (was der Titel Ihrer Frage ist)

Spannungstests sind, wenn Sie eine Website haben und überprüfen möchten, dass es gleichzeitig 100.000 Personen servieren kann. Sehen Sie, wie Ihre Bewerbung unter Stress funktioniert. Sie können dies auf eine Reihe von Möglichkeiten tun, z. B. durch die Aufzeichnung einiger Aktionen und dann eine Reihe von Agentenmaschinen, die Ihre Anwendung gleichzeitig treffen können.

Diese Fragen klingen eher nach einer Frage zur Qualitätssicherung. Dafür sind Tester / Beta -Tester da. Aber es gibt Dinge, die Sie selbst tun können, um Ihre Bewerbung zu validieren.

Unit -Tests Ihr Code wäre ein guter Anfang. Sie hilft Ihnen, diese Kantenfälle zu finden. Wenn Ihre Methode Dinge wie INTs aufnimmt, versuchen Sie, int.max, int.min zu bestehen und zu sehen, was aufbläst. Gib Null in alles. Wenn Sie .NET verwenden, möchten Sie sich möglicherweise PEX ansehen, und es wird alle Zweige/Codepaths durchlaufen, die Ihre Anwendung hat. Dies kann Ihnen helfen, Ihre Unit -Tests weiter zu verfeinern, um Ihre Anwendung so gut wie möglich zu testen.

Integrationstests, sehen Sie, was passiert, um einige Ihrer üblichen Dinge zu beenden. Dies hilft Ihnen, "Fehler" zu finden, während Sie sich später entwickeln.

Dies sind einige schnelle Tipps zu Dingen, die Sie selbst tun können, um zu versuchen, Kantenfälle zu finden, die Sie möglicherweise verpasst haben. Aber ja, irgendwann müssen Sie Ihre App an jemand anderen weitergeben, um sie zu testen. Stellen Sie einfach sicher, dass Sie so viel wie möglich abgedeckt haben, bevor es sie trifft :-)

Andere Tipps

Stellen Sie sicher, dass Sie in Ihren Unit -Tests und Integrationstests eine übergenätige Codeabdeckung haben.

Verwenden Sie eine entsprechende UI -Validierung und testen Sie Kombinationen, die sie brechen können.

Ich habe festgestellt, dass eine gutarchitierte Anwendung, die die Anzahl möglicher Permutationen in der Benutzeroberfläche reduziert (wie der Benutzer sie brechen kann), sehr hilft. Entwurfsmuster wie MVC können in dieser Hinsicht besonders nützlich sein, da sie Ihr UI -Furnier so dünn wie möglich machen.

Automatisierung.

(Re) Faktor Ihren Code, damit ein anderes Programm Benutzer-Events darauf werfen kann. Erstellen Sie einfache Skripte von Benutzerereignissen und spielen Sie sie zurück in Ihr Programm. Erfassen Sie Ereignisse von Beta -Benutzern und speichern Sie diese als Testskripte (nützlich für die Reproduktion von Problemen und Überprüfung auf Regressionen). Schreiben Sie einen Fuzz-Tester, der kleine zufällige Änderungen an den Skripten anwendet, und versuchen Sie sie auch gegen Ihr Programm.

Mit dieser Art von Automatisierung können Sie Stress und Anwendung aufnehmen und eklatante Probleme wie Caches und Speicherlecks finden. Es wird die tatsächliche Funktionalität nicht testen. Für die Funktionalität können Unit -Tests hilfreich sein. Es gibt eine Menge Unit -Test -Frameworks, die Sie ausprobieren können. Wählen Sie etwas Nützliches aus, lernen Sie, gute Tests zu schreiben und in Ihren Build -Prozess zu integrieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top