Automatisation des tests d'assurance qualité avec Perl

Automatisation des tests d'assurance qualité avec Perl (et intégration avec d'autres langages)

Vous trouverez ci-dessous la description de la formation et des offres de service offerts aux développeurs Perl et aux services d'assurance qualité par Gabor Szabo.

  1. Quatre jours de formation sur l'utilisation de Perl dans l'automatisation des tests.
  2. Mise en place du système d'automatisation de test par l'installation de l'environnement de test et la formation des développeurs.

Formation: Automatisation de tests d'assurance qualité avec Perl

Perl a été utilisé pendant des années en assurance qualité pour de nombreuses tâches telles que la préparation des fichiers de configuration avant le lancement des tests et l'analyse des fichiers de journaux après leur exécution. Ces dernières années, de nombreuses extensions ont été ajoutées à Perl. Aujourd'hui, en plus des tâches déjà citées, Perl peut être utilisé dans tous les sous-systèmes de l'environnement de test automatique.

Public :

  • Développeurs Perl qui ont besoin d'écrire des tests pour leurs applications
  • Ingénieurs qualités avec un bagage Perl qui ont besoin d'écrire des tests automatisés pour n'importe quelle application

Objectifs :

  • Être capable d'écrire des tests unitaires, des tests d'intégration et tests système en Perl.
  • Utiliser les environnements de test fournis avec Perl.
  • Vue d'ensemble des utilisations possibles de Perl dans l'automatisation des tests pour l'assurance qualité.
  • Utiliser Perl dans divers domaines de test comme le web, le réseau, l'interface en ligne de commande (CLI) et même les applications graphiques (GUI).

Format du cours

La durée normale du cours est de 32 heures incluant environ 50% du temps pour les travaux pratiques. Il est généralement donné en 4 jours (9h-17h ou 10h-18h) mais peut être étendu sur une plus longue période.

Pré-requis :

Au moins 6 mois d'expérience en tant que programmeur Perl, ou une formation d'introduction à Perl avant celle-ci. (Nous pouvons également fournir ces cours, si nécessaire.)

Contenu

  • Nous allons tout d'abord en apprendre davantage sur les outils de base des tests et sur les environnement de test disponibles en Perl, en nous intéressant au test unitaire de modules Perl.
  • Puis nous allons élargir notre ensemble d'outils afin de tester d'autres types d'applications.
  • Nous allons étudier le test
    • d'applications web
    • d'applications en ligne de commande (CLI)
    • d'équipements réseau
    • et même d'applications de bureau avec une interface graphique (GUI).
  • Les tests couvriront les tests unitaires et d'intégration, les tests système et même les tests d'acceptance, en ayant à l'esprit à la fois les tests en "boîte blanche" et les tests en "boîte noire".
  • Les sujets abordés dans la formation comprennent une introduction à l'envionnement de test unitaire de Perl, en utilisant Test::Simple, Test::More et l'environnement Test::Builder.

Après la formation, les participants seront en mesure de mettre en place leurs propres environnements de test et de commencer à écrire des tests unitaires pour leurs applications. Ils seront également en mesure de développer leurs propres modules de test similaires à ceux trouvés dans l'espace de noms Test:: sur CPAN. Ceux qui ont déjà des tests unitaires dans leur application seront en mesure de les étendre avec la bonne connaissance qu'ils auront acquise sur comment et pourquoi les choses fonctionnent comme elles le font en TAP.

Programme détaillé:

  • Introduction au test: pourquoi, quand, qui et comment?
  • Comprendre les tâches de base de l'ingénieur qualité
  • Introduction à TAP - Test Anything Protocol
  • Les outils de test en Perl pour tester les modules Perl (Test::Simple, Test::More)
  • Les environnements de rapport (Test::Harness, Smolder)
  • Étendre l'environnement de test (Test::Builder)
  • Mise en place de l'intégration continue (smoke testing)
  • Applications en ligne de commande
  • Tester les équipements réseau avec une interface en ligne de commande
  • Tester les applications web
  • Tester les applications Web 2.0
  • Tester les bases de données
  • Tester les systèmes de fichier
  • Applications graphiques Microsoft Windows
  • Test X-Windows
  • Quelques mots sur XP - Extreme Programming
  • Construire des outils de test de régression aléatoire
  • Intégration avec les tests unitaire PHP, Python et Ruby
  • Intégration avec les tests JavaScript

Démarrer l'automatisation des tests

En général, la formation seule vous laissera avec des gens qui savent ce qui doit être fait  mais à cause du manque d'expérience, il leur faudra beaucoup de temps pour mettre en ½uvre et simplifier l'environnement de test.
De plus, quatre jours de formation sont souvent fatigants pour les élèves.
Il peut être préférable pour votre société d'étaler la formation sur 8 jours --4 heures par jour-- sur une période de deux semaines, et d'utiliser le reste du temps pour mettre en place l'environnement de test et aider les élèves à écrire leurs propres tests.
Bien que les détails soient personnalisables, cela se déroule normalement comme ceci :

  • Jour 1  Réunion entre Gabor, plusieurs des élèves et leurs responsables pour analyser le besoins précis de la société. Mise en place du cadre d'écriture des tests.
  • Jours 2-5 : formation de 4 heures le matin, développement par paires l'après-midi, Gabor et un élève (une heure par élève)
  • Week-end
  • Jours 6-9 : formation de 4 heures le matin, développement par paires.
  • Jour 10 : développement par paire et définition des travaux à venir pour les développeurs.

En dehors du temps de formation, Gabor aidera à mettre en place l'environnement de test à la fois au niveau central et pour les développeurs individuels. Il aide également à la conception de l'environnement de test et à l'écriture de tests.

À propos de Gabor Szabo

Gabor --né en Hongrie et vivant en Israël-- programme depuis le secondaire. Il utilise Perl depuis 1995, et fait des formations en Israël et à l'étranger depuis 2000.

Il fournit également du conseil en développement Perl avec un accent sur les tests et l'automatisation du processus de build pour des sociétes comme Cisco ou Checkpoint.

Gabor est un auteur CPAN et a contribué des test à de nombreux autres modules CPAN. Il est le développeur et le mainteneur de CPAN::Forum et celui du Perl Community AdServer.
Gabor est le développeur principale de Padre, l'IDE Open Source écrit en Perl.

Gabor est l'organisateur du groupe Perl mongers in Israel et a organisé les conférence YAPC et OSDC en Israël depuis 2003.
Il donne des présentations aux conférences YAPC::EU et YAPC::NA depuis 2002.

Pour son travail au sein de la communauté Perl, Gabor a reçu un White Camel award en 2008.

D'autres pages sur Perl.