Kudos à votre intérêt à la fois ZF et piloté par les tests de développement. Ils sont tous les deux de grandes choses à apprendre.
Vous allez rencontrer un problème lors de la création de tests pour vérifier spécifiquement que votre application fonctionne correctement dans les circonstances que vous avez indiquées.
Les tests unitaires sont généralement destinés à de plus petits comportements atomiques. Vous devrez créer des tests qui affirment que votre application exécute un composant nécessaire de ce flux de travail, mais les regrouper tous dépasse la portée des tests unitaires. Vous pouvez contourner ce problème et continuer à utiliser les tests en implémentant de manière appropriée un modèle de conception d'état qui déterminera, par exemple, si un élément factice particulier acheté est dans un état «verrouillé» lorsqu'un utilisateur fictif l'achète. Bien sûr, créer des objets fantômes stables qui se comportent comme vos données devraient être intégrés dans les modèles est un autre problème tous ensemble. Enfin, le numéro 3 est un peu problématique, parce que ce n'est pas quelque chose à tester. Si votre serveur est surchargé, qu'allez-vous faire: fermer le site? Une approche pilotée par les tests n'est pas exactement compatible avec la question de la capacité. Vous voudrez profiler activement la vitesse et la consommation de mémoire de votre site, ainsi que surveiller le comportement réel de l'utilisateur. Si vous vous trouvez à un point où vous êtes proche de la capacité, alors ce sera une bonne idée de mettre à niveau votre matériel ou votre hébergement.