SiteWeb:Tests de la migration Drupal 6
Bienvenue sur une page | ||
du groupe de travail Site Web |
Cette page présente un contenu en cours de réalisation.
Si vous souhaitez participer, n'hésitez pas à laisser votre avis sur la page de discussion en suivant au mieux ces recommandations.
La migration de Drupal 5 à Drupal 6 est scriptée pour permettre de la répéter facilement et mettre en place un site de test.
Deux phases de test sont prévues. Lors de la première phase, les membres les plus actifs et les plus impliqué de l'April ont accès au site. L'objectif est de trouver et corriger les problèmes les plus graves et/ou de sécurité. Tandis que la seconde phase est ouverte à tous.
Tester le site
- Le site de test est disponible à l'adresse http://staging.april.org.
- La liste des problèmes connus est accessible à l'adresse https://redmine.april.org/projects/siteweb/issues?query_id=8
- La liste des test réalisé est fournie en fin de page
- Une fois un élément ou une fonctionnalité du site testée, il est nécessaire de l'ajouter à cette liste.
Rapporter les problèmes
- Les anomalies rencontrées lors de tests doivent être rapportées sous forme de demandes (aka. bug report) pour le projet SiteWeb sur le Gestionnaire de projets de l'April.
- La création de demande se fait depuis l'URL suivante https://redmine.april.org/projects/siteweb/issues/new
- Tracker
- Utilisez anomalie.
- Sujet
- Entrez une description brève du problème rencontré, en un phrase
- Description
- Entrez une description détaillée du problème. Il est particulièrement important de donner un maximum d'information sur le comportement attendus et les étapes nécessaire pour y parvenir. Gardez à l'esprit que vous écrivez pour un lecteur qui ne connait pas le site de l'April dans les détails, qui ne sait pas comment une page fonctionne d'habitude, normalement ou comme avant.
- Status
- Utilisez Nouveau
- Priorité
- Utilisez Normal sauf si une autre priorité est plus approprié. Si un problème rencontré est une gène ou bloquant pour la poursuite des tests, utilisez Élevé ou Urgent, voir Immediat pour les cas le plus graves ou les failles de sécurité (ex. vous avez accès au contenu d'une page que vous ne devriez pas pouvoir voir). Inversement, pour les problèmes mineurs qui pourraient même être acceptables sur le site après la migration effective, utilisez Failbe.
- Assigné à
- N'utilisez pas de valeurs.
- Catégorie
- Utilisez Migration Drupal 6
- Après création d'une demande, vous pouvez la lier avec des problèmes ou tâches déjà rapportés. Entre autre
- Si c'est un problème visuel (image manquante, mauvais alignement d'éléments, etc.), vous pouvez le lier à la demande #141 (Port du thème)
- Si c'est un problème d'utilisation de de gDTC, vous pouvez le lier à la demande #125 (Port du module d'intégration gDTC)
- Un script de test pour reproduire le problème et valider sa solution peut-être attaché au ticket (cf. section suivante)
Automatisation de test
- Windmill permet d'automatiser les tests
- Installation de windmill
- Windmill fourni un IDE
- Idéalement, un même fichier de test doit réussir sur http://www.april.org et http://staging.april.org
Exemple
#coding=UTF-8 from windmill.authoring import WindmillTestClient import functest def test_foobar(): client = WindmillTestClient(__name__) #Aller à la page /foo/bar client.open(url=u'/foo/bar') client.waits.forPageLoad(timeout=u'50000') #Vérifier l'existence d'une élément HTML contenant du texte client.asserts.assertNode(jquery=u"('p:contains(foo bar)')[0]") #Vérifier qu'une image est affichée client.asserts.assertImageLoaded(jquery=u"('[src*=foobar.png]')[0]") #Connexion (login et mdp passé en paramètre) client.type(text=functest.registry['username'], id=u'edit-name') client.type(text=functest.registry['password'], id=u'edit-pass') client.click(value=u'Connexion') client.waits.forPageLoad(timeout=u'20000') #Tester si le script est exécuté sur le site www.april.org ou non if client.execJS(js="document.location")['output']['hostname'] == 'www.april.org': #Site Drupal 5 else: #Site Drupal 6
Exécution du test
windmill firefox test=foobar.py http://staging.april.org/ username=foobar password=s3kr3t
Tests réalisés
Ajoutez les test réalisés à la liste çi-dessous. Essayez d'être le plus précis dans la description du test. Si un script windmill existe, indiqué son nom de fichier.
- Page d'accueil (
acceuil.py
)- Contient le logo April (*/logo.png)
- Contient une nuage de tag avec les termes "Éducation", "Administrations et collectivités" et "Archive".
- Devrait contenir les titres h2 (bloc de panel) suivants Dernières actualités, Derniers communiqués, Revue de Presse, Dernières actualités, Derniers communiqués, Revue de Presse, Le mot du président, Évènements à venir, Citation du moment, Adhérez maintenant pour, Thèmes (cf. #144).
- Page "Bibliographie" (
bibliographie.py
)- Contient la table de matière (valide que le module ToC a été migré, valide que le module htmlcomments a été installé pour permettre l'utilisation de commentaires HTML)
- Contient les titres de views embarqués dans la page (valide le remplacement du module insert_view, cf. #142)
- Contient l'image
=La bataille du logiciel libre.jpg
issu d'une page dans une des vues (validation de la migration des images)
- Pages CA (
ca.py
, pas fonctionnelles, cf. #140)- Pour un utilisateur non connecté
- La page "Groupe CA" (fr/ca) est accessible
- La page "Groupe CA" ne contient pas le titre "Tableau de bord CA"
- La page "Tableau de bord du CA" existe mais n'est pas accessible
- Pour un utilisateur connecté
- La page "Groupe CA" (fr/ca) est accessible
- La page "Groupe CA" contient pas le titre "Tableau de bord CA"
- La page "Tableau de bord du CA" est accessible
- Pour un utilisateur non connecté
- Page de citation
lapril-joue-un-role-extremement-important-dans-lecosysteme-logiciel-libre-en-france
(citation.py
)- Contient le nom de son auteur
- Contient un lien inclus dans la biographie de l'auteur (donc contient la biographie de l'auteur).
- Menu primary-links (cf. #149,
149-primary-links.py
)- Contient les entrées "About us" "L'association", "Communiqués" , "FAQ", "Nos positions", "Activités", "Our positions", "Thèmes", "Revue de presse", "Help us", "Wiki", "Adhérer", "Nous aider"
- Page "Thèmes" (cf. #147,
147-themes.py
)- La page est accessible depuis un lien "Thème" en page d'accueil
- Elle contient les liens "Économie", "Éducation", "Accessibilité", "ACTA", "Administrations et collectivités", "Aprilien", "Archive", "Associations", "Brevets"
- Le Menu en anglais ne contient "Press Information", "Contact Us", "Rester informé" et "Document - Sensibilisation" (cf. #150,
150-english-menu.py
)