Dans un article de la série Representative Line publié le 29 septembre 2026, Remy Porter décrit un build CI/CD instable dans l'équipe de Nikolai M. L'un de ses tests échouait dans environ 0,5 % des exécutions. La fréquence suffisait à agacer l'équipe, mais pas à déclencher une enquête décidée par la direction. Nikolai a finalement analysé le problème de sa propre initiative.

test.cs
Assert.DoesNotContain("000", transactionId.ToString());

Le test exécutait Assert.DoesNotContain("000", transactionId.ToString()). transactionId était un GUID. Cette assertion cherchait à repérer un UUID vide en supposant que trois zéros successifs ne pouvaient pas apparaître dans une représentation textuelle normale. Nikolai a vérifié cette hypothèse et a trouvé la séquence dans 0,5527 % des cas, soit environ une fois sur 181.

L'article rappelle que l'implémentation des GUID de Microsoft est présentée dans la documentation comme une enveloppe autour d'algorithmes UUID et qu'elle prend en charge plusieurs variantes. Pour ce contrôle, il vaut mieux comparer directement la valeur à GUID.Empty. Cette constante intégrée représente un UUID dont tous les bits sont nuls. Le test correspond ainsi exactement à l'état recherché.