Un sous-système est une collection de classes d'un composant distinct du
moteur de test des performances qui fournit un service à de nombreuses actions. Par exemple, dans l'exécution du test, le sous-système KernelWait
gère le temps de réflexion et de veille des utilisateurs virtuels lors de l'exécution
d'un test.
Pourquoi et quand exécuter cette tâche
Voici quelques exemples supplémentaires des services fournis par les
sous-systèmes :
- Recherche des réponses des serveurs. Par exemple, prenons le cas de tests dans
lesquels une demande HTTP est envoyée à un serveur et vous devez savoir quand la réponse
est renvoyée. Au lieu de bloquer une unité d'exécution pour attendre la réponse, vous pouvez déléguer
cette tâche à un sous-système tandis que le reste des unités d'exécution effectuent
d'autres actions. Ce sous-système peut envoyer des notifications ou relancer une action
lorsque la réponse du serveur survient.
- Gestion des communications asynchrones.
- Gestion de l'action de veille des utilisateurs virtuels.
- Gestion de la consignation. Par exemple, la création d'un historique d'exécution
personnalisé peut prendre un certain temps. Vous pouvez déléguer cette tâche à un
sous-système afin de ne pas bloquer une unité d'exécution avec ce processus. Vous
pouvez configurer un sous-système pour qu'il se charge des actions de consignation
spéciales tandis que le reste des actions effectuent d'autres tâches.
Création
de l'exemple de sous-système de moteur de test de performances
Un
sous-système de moteur de test de performances fournit des services à une ou plusieurs actions. Une action qui utilise un sous-système au cours de l'exécution d'un test est une action
récurrente. La plupart des actions contiennent une méthode finish() à la fin de leur
méthode execute(). Une action récurrente demande un service à un sous-système avant la
fin de la méthode execute(). Une fois que le service est fourni, le sous-système
qui le fournit met à jour les informations relatives à l'état dans l'action et relance
l'exécution de cette dernière. En fonction des informations relatives à l'état, une tâche
du moteur de test des performances change le cours de l'exécution lors de l'appel
récurrent à la méthode execute(), puis appelle la méthode finish() pour terminer l'action.
La liste suivante répertorie les étapes
requises pour utiliser cet exemple :
- Création de l'exemple de sous-système de moteur de test de performances
- Notification au moteur de test des performances de l'existence du sous-système
- Création d'un test simple et d'un planning
- Ajout de SampleAction et de SampleSubsystem au projet
- Exécution du planning avec SampleAction à l'aide de SampleSubsystem