Lors de la validation opérationnelle, tu n'écris pas le code Pester pour tester le script que tu as écrit, mais pour vérifier si les modifications ou les implémentations que ton script effectue correspondent réellement à ton besoin commercial initial. Si tu crées une règle de pare-feu pour ouvrir un port spécifique dans le seul but d'accéder à un serveur Web et de lire les données d'une base de données, tu veux être sûr de pouvoir réellement interagir avec ce serveur Web et de récupérer les données dont tu as besoin. Si tu as réussi à mettre en place la règle de pare-feu et à ouvrir les bons ports, mais qu'un autre pare-feu se trouve entre ton serveur client et ton serveur Web ou que le câble réseau est simplement débranché, tu ne pourras pas offrir le service prévu, même si tu as réussi à mettre en place la règle de pare-feu.
Chez Windows Operations & Engineering, nous utilisons la validation opérationnelle pour nous assurer que nos serveurs respectent nos normes (sécurité, configuration, etc.). Nous pouvons ainsi garantir que le serveur que nous fournissons est conforme à nos normes. Les mêmes tests sont utilisés dans une étape ultérieure pour s'assurer qu'il n'y a pas d'écart de configuration.
Les tests consistent en une série de scripts Pester qui sont utilisés sur un ou plusieurs serveurs. Un script exécute les tests Pester et recueille les données dans un format XML standard (NunitXML). Ce XML standard nous permet d'automatiser les résultats de nos tests et d'en faire de superbes rapports!
J'ai écrit une classe PowerShell qui nous permet de créer soit un rapport individuel par serveur, soit un rapport global qui peut être généré dans différents formats (docx, html, etc.).
Le rapport individuel est basé sur un projet open source appelé "ReportUnit", et tu peux voir un exemple ci-dessous.