Assurance qualité manuelleTesteur de logiciel (Ingénieur QA manuel)

Qu'est-ce que les environnements de test pour les tests manuels, pourquoi les distinguer de l'environnement de production, et quelles sont les particularités de leur configuration ?

Réussissez les entretiens avec l'assistant IA Hintsage

Réponse.

Historique de la question

Les environnements de test sont apparus avec la complexification des produits informatiques. La création d'un environnement distinct permet aux testeurs de vérifier en toute sécurité les nouvelles fonctionnalités, sans impacter les utilisateurs réels et les données.

Problème

Si les tests sont réalisés sur l'environnement de production, il existe un risque de perte de données, de perturbation des processus métier ou d'incidents de sécurité. Parfois, les environnements de test et de production diffèrent, ce qui provoque des erreurs "insaisissables" : les modifications fonctionnent en test, mais échouent en production (ou vice versa).

Solution

On organise des environnements séparés pour les tests (test, staging, pre-prod), qui reproduisent autant que possible l'environnement de production. Pour les tests manuels, il est crucial d'assurer une réelle conformité entre l'API, les données, la configuration et même le matériel. Une attention particulière est accordée à l'isolation des données utilisateur, à la configuration de la journalisation, de la surveillance et des données de contrôle.

Caractéristiques clés :

  • La séparation des environnements assure la sécurité et permet de réaliser tous les tests.
  • Une conformité maximale avec la production réduit le risque d'erreurs "cachées".
  • Nécessité de mettre à jour régulièrement les données de test et les configurations.

Questions pièges.

Peut-on utiliser l'environnement de production pour des tests si ceux-ci sont inoffensifs ?

Non, il y a toujours un risque de perturber le travail des utilisateurs ou de "révéler" des données de test. Même des tests "inoffensifs" peuvent affecter les statistiques ou provoquer une charge.

Quelle est la différence entre les environnements test, staging et pre-prod ?

Test — environnement pour les tests manuels et automatisés principaux, qui peut différer par les données. Staging/pre-prod — aussi proche que possible de la production, reproduit l'infrastructure et les données pour le test final.

Quelles données est-il préférable d'utiliser dans l'environnement de test : réelles, anonymisées ou synthétiques ?

La meilleure option est des données anonymisées, proches par leur structure des données réelles. Les données réelles compromettent la sécurité, alors que les données exclusivement synthétiques ne reflètent pas le comportement réel.

Erreurs typiques et anti-modèles

  • Utilisation de données "réelles" ou du serveur de production pour les tests.
  • Environnement de test trop simplifié.
  • Absence de mise à jour régulière des configurations et des données.

Exemple de la vie

Cas négatif

Le test d'un correctif est effectué en production, après la sortie, le bug est corrigé uniquement dans l'environnement de test, ce qui conduit à une nouvelle erreur en production : les clients se plaignent massivement.

Avantages :

  • Test rapide de petites améliorations

Inconvénients :

  • Perte de données
  • Risque d'incidents dans le service de production

Cas positif

L'équipe vérifie manuellement une fonctionnalité dans un staging séparé, les données de test sont régulièrement mises à jour, les tests sont aussi proches que possible de la réalité.

Avantages :

  • Identification des bugs complexes avant la sortie

Sécurité de la production

Inconvénients :

  • Ressources nécessaires pour maintenir l'environnement
  • Parfois plus difficile de trouver des bugs "rares" sans données actuelles