Tous les tests en échec d’un dossier d’exécution

Problème

Généralement, tous les plans d'exécution sont structurés dans une hiérarchie de dossiers qui identifie les différents domaines ou champs d'application auxquels les plans d'exécution et leurs tests sont associés. Les plans d'exécution sont déclenchés régulièrement dans un environnement d'intégration continue, ou occasionnellement dans l'intervalle de temps couvert par la release, générant dès lors de bonnes statistiques d'exécution, mais uniquement pour chaque plan d'exécution malheureusement.

Toutefois, vous avez parfois besoin d'informations globales pour connaître le fonctionnement de tous vos tests dans un domaine ou un champ d'application spécifique, afin de localiser les faiblesses.

Solution

Utilisez la vue datamart RV_LatestTestStatus pour créer un rapport contenant la liste de tous les tests en échec pour un niveau donné de la hiérarchie d'organisation des exécutions.

La requête suivante sélectionne des tests en échec figurant dans un dossier d'organisation des exécutions, ainsi que des informations contextuelles telles que le nom du plan d'exécution et le nom du build :

SELECT TestID, TestName, ExecutionPlanID, ExecutionPlanName, BuildName
FROM RV_LatestTestStatus lts
INNER JOIN TM_ExecTreePaths ON lts.ExecutionPlanID = TM_ExecTreePaths.NodeID_pk_fk
WHERE TM_ExecTreePaths.ParentNodeID_pk_fk = ${executionFolderID|2179|Execution Folder ID}
  AND StatusID = 2
ORDER BY TestName
La requête fonctionne comme suit :
  • Elle utilise la vue RV_LatestTestStatus pour récupérer les résultats de la dernière exécution de test.
  • Elle inclut la hiérarchie de l'arborescence des exécutions (TM_ExecTreePaths) pour pouvoir rechercher tous les tests dans tous les plans d'exécution de la hiérarchie.
  • Elle utilise l'ID de dossier de niveau supérieur à partir duquel l'analyse doit débuter, comme ParentNodeID_pk_fk.
  • Elle inclut uniquement les tests en échec (StatusID = 2).

StatusID figure dans la table TM_TestDefStatusNames.

La requête SQL renvoie tous les tests du dossier d'exécution sélectionné, dont la dernière exécution a échoué.
TestID TestName ExecutionPlanID ExecutionPlanName BuildName
14073 JUnitTestPackage 2184 CI Testing 352
14107 Volatile Tests 2191 Volatile Test 352