Development #67106
tests : revoir les test_large_userbase_find_duplicates*
0%
Description
Deux tests unitaires de l’api de recherche de doublons, pour lesquels on crée 100 000 utilisateurs en base.
L’idée est que, sur ce nombre élevé d’utilisateurs dont les attributs ont été définis aléatoirement (module Faker), une probabilité de doublon sur le premier utilisateur crée parmi les cent milles tend vers un. On est donc certain de disposer d’un vrai positif pour tester l’api de rercherche de doublons.
On pourrait modifier la fixture et les tests d’une façon qui permette de réduire ce nombre d’utilisateurs élévé (et un temps d’exécution des tests en conséquence), par exemple en :
· réduisant l’espace d’arrivée des attributs générés aléatoirement, augmentant ainsi la probabilité de doublon entre deux usagers,
· en faisant des tests de doublons de n à n usagers (pour l’instant les doublons ne sont testés que sur le premier usager parmi tous ceux créés),
· générer des données de tests, qui bien que plus réduites et toujours randomisées permettent de s’assurer d’une probabilité de doublon égale à 1 (par exemple avec un nombre d’usagers de tests N et un espace d’arrivée des usagers générés aléatoirement de cardinalité M, avec N > M).
Fichiers
Demandes liées
Révisions associées
ci: removed unnecessary test case, as find_duplicates is already tested (#67106)
ci: speed up slow tests by reducing loop sizes (#67106)
Historique
Mis à jour par Paul Marillonnet il y a presque 2 ans
- Assigné à mis à A. Berriot
(Agate me dit qu’elle regarde.)
Mis à jour par A. Berriot il y a presque 2 ans
- Fichier 0001-ci-removed-unnecessary-slow-marker-67106.patch 0001-ci-removed-unnecessary-slow-marker-67106.patch ajouté
- Fichier 0003-ci-speed-up-slow-tests-by-reducing-loop-sizes.patch 0003-ci-speed-up-slow-tests-by-reducing-loop-sizes.patch ajouté
- Fichier 0002-ci-removed-unnecessary-test-case-as-find_duplicates-.patch 0002-ci-removed-unnecessary-test-case-as-find_duplicates-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par A. Berriot il y a presque 2 ans
- Assigné à changé de A. Berriot à Benjamin Dauvergne
Voici les points implémentés dans le ticket (les patchs sont normalement relativement explicites):
1. Suppression de marker slow, qui rajoute de la complexité pour seulement trois tests
2. Suppression du test tests/test_large_userbase.py
car find_duplicates
est testé de manière extensive ailleurs, notamment dans tests/api/test_all.py
3. Reducation de la taille de certaines boucles / créations d'objects, pour réduire le temps d'exécution (je comprends le besoin de créer pleins d'utilisateurs, mais 5 ou 10 suffisent peut-être au lieu de 100 ;)
Mis à jour par A. Berriot il y a presque 2 ans
- Lié à Development #67101: build nocturne cassé ajouté
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Statut changé de Solution proposée à Solution validée
Ok, c'était pensé un peu comme des tests de perf mais comme on a pas de rendu graphique des temps dans jenkins ça sert un peu à rien au milieu des tests. On en remettra un jour de pluie.
Mis à jour par A. Berriot il y a presque 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 03d12e329b7c68ae43ade11911cdb41b5da411c2 Author: Agate <aberriot@entrouvert.com> Date: Thu Jul 7 10:56:52 2022 +0200 ci: speed up slow tests by reducing loop sizes (#67106) commit 062f1f10c6398c84cc3b1ece06bfb9b986f37b70 Author: Agate <aberriot@entrouvert.com> Date: Thu Jul 7 10:53:26 2022 +0200 ci: removed unnecessary test case, as find_duplicates is already tested (#67106) commit d5f16e620dcc2544e468f5807c5db3d34ab60906 Author: Agate <aberriot@entrouvert.com> Date: Thu Jul 7 10:48:44 2022 +0200 ci: removed unnecessary slow marker (#67106)
Mis à jour par Transition automatique il y a presque 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
ci: removed unnecessary slow marker (#67106)