Question

Je travaille sur une application, par moi-même, et je suis à un stade où tout fonctionne très bien - tant que l'utilisateur fait tout ce qu'il ou elle est censé faire. :-) Le logiciel a besoin de plus de tests pour voir comment il est robuste, comment il fonctionne quand les gens font des choses comme cliquez sur le même bouton à plusieurs reprises, essayez d'ouvrir le mauvais type de fichiers, mettre les données dans les mauvais endroits, etc.

Je vais avoir un peu de mal avec cela parce qu'il est un peu difficile pour moi de penser en termes d'utilisation de l'application incorrecte. Ce sont tous les cas de garde pour moi. Pourtant, je voudrais avoir l'application stable et bien testée possible avant de commencer à le donner aux testeurs bêta. En supposant que je ne parle pas de l'embauche testeurs professionnels à ce moment, je suis curieux de savoir si vous tous avez des conseils ou des moyens systématiques de penser à cette tâche.

Merci, comme toujours.

Était-ce utile?

La solution

Eh bien, il semble que vous parlez de deux choses différentes « Test de la fonctionnalité de l'application » et « stress test » (qui est le titre de votre question)

Les tests de résistance est quand vous avez un site, et que vous voulez vérifier qu'il peut serveur 100.000 personnes en même temps. En voyant comment votre application effectue sous stress. Vous pouvez le faire de plusieurs façons, par exemple en enregistrant des actions, puis d'obtenir un certain nombre de machines d'agent pour frapper votre application en même temps.

Cette question ressemble plus à une question d'assurance qualité. C'est ce que les testeurs / bêta-testeurs sont pour. Mais il y a des choses que vous pouvez vous faire pour valider votre application fonctionne le mieux possible.

Unité de tester votre code serait un bon début, il vous aide à essayer de trouver les cas de pointe. Si votre méthode prend dans des choses comme ints, essayez passant int.max, int.min, et de voir ce qui explose. Passer NULLS en tout. Si vous utilisez .Net vous voudrez peut-être regarder PEX, il passera par toutes les branches / codepaths que votre application a. Cela pourrait vous aider à affiner davantage vos tests unitaires pour tester votre application le mieux que vous pouvez.

Les tests d'intégration, voir ce qui se passe de bout en bout pour certains de vos choses habituelles. Cela vous aidera à « trouver des bugs » que vous développez plus tard.

Ce sont quelques conseils sur les choses que vous pouvez vous faire pour essayer de trouver des cas de pointe que vous avez peut-être manqués. Mais oui, finalement vous devrez passer votre application à quelqu'un d'autre à tester. Assurez-vous que vous avez couvert REDUCTIONS autant que possible avant qu'il les touche: -)

Autres conseils

Assurez-vous d'avoir une couverture de code adéquat dans vos tests unitaires et tests d'intégration.

Utiliser la validation de l'interface utilisateur appropriée, et les combinaisons de tests qui peuvent casser.

J'ai trouvé qu'une application bien architecturée qui réduit le nombre de permutations possibles dans l'interface utilisateur (façons l'utilisateur peut le casser) aide beaucoup. Les modèles de conception MVC comme peuvent être particulièrement utiles à cet égard, car ils font votre placage d'interface aussi mince que possible.

Automation.

(Re) Facteur de votre code afin qu'un autre programme peut lancer des événements d'utilisateurs dans ce domaine. Créer des scripts simples d'événements utilisateur et les lire à votre programme. Capturez les événements des utilisateurs bêta et sauver ceux que les scripts de test (utile pour reproduire les problèmes et la vérification des régressions). Écrire un fuzz-testeur qui applique des petits changements aléatoires pour les scripts et les essayer contre votre programme ainsi.

Avec ce type d'automatisation, vous pouvez insister et de l'application et de trouver des problèmes flagrants comme les caches et les fuites de mémoire. Il ne sera pas tester la fonctionnalité réelle. Pour la fonctionnalité, les tests unitaires peuvent être utiles. Il y a une tonne de frameworks de tests unitaires là pour essayer. Choisissez quelque chose d'utile, apprendre à écrire de bons tests, et les intégrer dans votre processus de construction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top